基于S7600A的嵌入式系統(tǒng)Internet接入方案
發(fā)布時(shí)間:2007/8/28 0:00:00 訪問(wèn)次數(shù):547
摘要:TCP/IP協(xié)議棧大規(guī)模集成電路S7600A的結(jié)構(gòu)、功能、硬件接口和應(yīng)用程序接口;介紹一個(gè)基于實(shí)時(shí)任務(wù)操作系統(tǒng)μs/OS的S7600A應(yīng)用方案,此方案實(shí)現(xiàn)了嵌入式系統(tǒng)的Internet接入。
關(guān)鍵詞:TCP/IP API 實(shí)時(shí)操作系統(tǒng)(RTOS) 多任務(wù) 嵌入式系統(tǒng)
隨著電子設(shè)備智能化要求的提高和各種功能強(qiáng)大的微處理器的推出,嵌入式系統(tǒng)逐漸成為許多電子設(shè)備不可缺少的一部分,并處在前所未有的發(fā)展期;而互聯(lián)網(wǎng)概念的深入人心更為嵌入式系統(tǒng)與互聯(lián)網(wǎng)的結(jié)合提出了要求。嵌入式系統(tǒng)接入Internet以后,不僅實(shí)現(xiàn)了設(shè)備的遠(yuǎn)程控制、維護(hù)和升級(jí),而且從另外一層意義上講,接入Internet的設(shè)備已經(jīng)成為網(wǎng)絡(luò)共享資源的一部分?梢哉f(shuō)這是自電子設(shè)備智能化以來(lái)設(shè)計(jì)思想的又一次飛躍。
嵌入式系統(tǒng)接入Internet的關(guān)鍵是滿足TCP/IP協(xié)議。TCP/IP協(xié)議是建立在數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層上的協(xié)議族,是Internet的基礎(chǔ)。各種型號(hào)計(jì)算機(jī)運(yùn)行在不同操作系統(tǒng)之上,TCP/IP協(xié)議族允許它們互相通信。通常,一個(gè)嵌入式系統(tǒng)接入Internet,可選擇一個(gè)提供TCP/IP協(xié)議的嵌入式操作系統(tǒng),或是在現(xiàn)有操作系統(tǒng)之上加入TCP/IP軟件協(xié)議棧,實(shí)現(xiàn)TCP/IP連接。對(duì)于嵌入式系統(tǒng),TCP/IP軟件協(xié)議棧也構(gòu)成了系統(tǒng)成本的一部分,而這部分投入占有不小的比例。同時(shí),軟件協(xié)議棧的引入無(wú)疑要占用更多的系統(tǒng)資源,對(duì)于嵌入式系統(tǒng)來(lái)說(shuō)是很可觀的。S7600A
TCP/IP硬件協(xié)議棧芯片很好地解決了資源和成本有限的嵌入式系統(tǒng)的Internet接入問(wèn)題。
1 S7600A的內(nèi)部結(jié)構(gòu)
S7600A內(nèi)部結(jié)構(gòu)如圖1所示,它由網(wǎng)絡(luò)棧、物理層接口、微控制器接口、SRAM接口和片內(nèi)SRAM組成。(1)網(wǎng)絡(luò)棧是該芯片的核心。它建立在物理層上,包含有實(shí)現(xiàn)TCP/IP協(xié)議的特殊的層次化的數(shù)據(jù)結(jié)構(gòu),并完成數(shù)據(jù)的包裝或剝離。其內(nèi)部又可以分為PPP(點(diǎn)對(duì)點(diǎn)協(xié)議)、IP(網(wǎng)際協(xié)議)、TCP(傳輸控制協(xié)議)/UDP(用戶數(shù)據(jù)報(bào)協(xié)議)幾個(gè)層次。(2)物理層接口是實(shí)現(xiàn)協(xié)議的最底層接口。在這里以UART的形式提供對(duì)外連接,可以通過(guò)外接Modem實(shí)現(xiàn)Internet接入。(3)微控制器接口提供了與68k/x86(Moterola/Intel)MPU的標(biāo)準(zhǔn)并行接口非標(biāo)準(zhǔn)的串行接口(串/并模式由PSX來(lái)選擇)。在x86/68k并行模式下,由C86來(lái)選擇x86或68k。SD[7:0]為地址/數(shù)據(jù)復(fù)用總線,CS為片選輸入,READX和WRITEX為讀寫信號(hào),RS為寄存器選擇輸入,用業(yè)指示地址和數(shù)據(jù)。在串行模式下,SD7為串行數(shù)據(jù)輸入,SD6為串行時(shí)鐘輸入,SD5為串行數(shù)據(jù)輸出,WRITEX用來(lái)切換讀和寫。另外芯片提供了中斷輸出,用來(lái)給MPU發(fā)特定請(qǐng)求。BUSYX用做忙指示。
2 S7600A內(nèi)部寄存器和數(shù)據(jù)傳輸實(shí)例
S7600A有36個(gè)內(nèi)部寄存器,有單字節(jié)、多字節(jié),也有變長(zhǎng)的(如PPP_String寄存器,用來(lái)存放PAP用戶名和指令,其長(zhǎng)度與用戶名和口令的實(shí)際長(zhǎng)度相關(guān))。對(duì)內(nèi)部寄存器的讀寫可以實(shí)現(xiàn)對(duì)S7600A的各種操作,其中若干寄存器用來(lái)做TCP/IP的協(xié)議接口。由于寄存器數(shù)據(jù)量較多,這里不一一介紹,僅舉一個(gè)TCP數(shù)據(jù)的傳輸實(shí)例來(lái)說(shuō)明對(duì)該芯片的操作。
一個(gè)IP地址和一個(gè)端口號(hào)可以稱一個(gè)插口(Socket)。而一個(gè)插口對(duì)可以唯一地確定互聯(lián)網(wǎng)絡(luò)里一個(gè)TCP連接。在進(jìn)行以下操作之前事先要建立一個(gè)TCP連接。
首先,將Serial_Port_Config寄存器(08H)里的SCTL標(biāo)志位置1,把對(duì)串口的控制權(quán)交給硬件(S7600A),把要傳輸?shù)臄?shù)據(jù)寫到Socket_Data寄存器(2EH)里,S7600A就會(huì)把數(shù)據(jù)通過(guò)該寄存器放到輸出緩沖區(qū)(1K字節(jié)長(zhǎng)度)。注意輸出緩沖區(qū)地址在Buffer_Out_Length寄存器(30H-31H)里,當(dāng)輸出緩沖區(qū)為全空時(shí),該寄存器里寫一個(gè)字節(jié)的數(shù)據(jù),用戶每向Socket_Data寄存器里寫一個(gè)字節(jié)的數(shù)據(jù),Buffer_Out_Length寄存器的值就會(huì)
摘要:TCP/IP協(xié)議棧大規(guī)模集成電路S7600A的結(jié)構(gòu)、功能、硬件接口和應(yīng)用程序接口;介紹一個(gè)基于實(shí)時(shí)任務(wù)操作系統(tǒng)μs/OS的S7600A應(yīng)用方案,此方案實(shí)現(xiàn)了嵌入式系統(tǒng)的Internet接入。
關(guān)鍵詞:TCP/IP API 實(shí)時(shí)操作系統(tǒng)(RTOS) 多任務(wù) 嵌入式系統(tǒng)
隨著電子設(shè)備智能化要求的提高和各種功能強(qiáng)大的微處理器的推出,嵌入式系統(tǒng)逐漸成為許多電子設(shè)備不可缺少的一部分,并處在前所未有的發(fā)展期;而互聯(lián)網(wǎng)概念的深入人心更為嵌入式系統(tǒng)與互聯(lián)網(wǎng)的結(jié)合提出了要求。嵌入式系統(tǒng)接入Internet以后,不僅實(shí)現(xiàn)了設(shè)備的遠(yuǎn)程控制、維護(hù)和升級(jí),而且從另外一層意義上講,接入Internet的設(shè)備已經(jīng)成為網(wǎng)絡(luò)共享資源的一部分?梢哉f(shuō)這是自電子設(shè)備智能化以來(lái)設(shè)計(jì)思想的又一次飛躍。
嵌入式系統(tǒng)接入Internet的關(guān)鍵是滿足TCP/IP協(xié)議。TCP/IP協(xié)議是建立在數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層上的協(xié)議族,是Internet的基礎(chǔ)。各種型號(hào)計(jì)算機(jī)運(yùn)行在不同操作系統(tǒng)之上,TCP/IP協(xié)議族允許它們互相通信。通常,一個(gè)嵌入式系統(tǒng)接入Internet,可選擇一個(gè)提供TCP/IP協(xié)議的嵌入式操作系統(tǒng),或是在現(xiàn)有操作系統(tǒng)之上加入TCP/IP軟件協(xié)議棧,實(shí)現(xiàn)TCP/IP連接。對(duì)于嵌入式系統(tǒng),TCP/IP軟件協(xié)議棧也構(gòu)成了系統(tǒng)成本的一部分,而這部分投入占有不小的比例。同時(shí),軟件協(xié)議棧的引入無(wú)疑要占用更多的系統(tǒng)資源,對(duì)于嵌入式系統(tǒng)來(lái)說(shuō)是很可觀的。S7600A
TCP/IP硬件協(xié)議棧芯片很好地解決了資源和成本有限的嵌入式系統(tǒng)的Internet接入問(wèn)題。
1 S7600A的內(nèi)部結(jié)構(gòu)
S7600A內(nèi)部結(jié)構(gòu)如圖1所示,它由網(wǎng)絡(luò)棧、物理層接口、微控制器接口、SRAM接口和片內(nèi)SRAM組成。(1)網(wǎng)絡(luò)棧是該芯片的核心。它建立在物理層上,包含有實(shí)現(xiàn)TCP/IP協(xié)議的特殊的層次化的數(shù)據(jù)結(jié)構(gòu),并完成數(shù)據(jù)的包裝或剝離。其內(nèi)部又可以分為PPP(點(diǎn)對(duì)點(diǎn)協(xié)議)、IP(網(wǎng)際協(xié)議)、TCP(傳輸控制協(xié)議)/UDP(用戶數(shù)據(jù)報(bào)協(xié)議)幾個(gè)層次。(2)物理層接口是實(shí)現(xiàn)協(xié)議的最底層接口。在這里以UART的形式提供對(duì)外連接,可以通過(guò)外接Modem實(shí)現(xiàn)Internet接入。(3)微控制器接口提供了與68k/x86(Moterola/Intel)MPU的標(biāo)準(zhǔn)并行接口非標(biāo)準(zhǔn)的串行接口(串/并模式由PSX來(lái)選擇)。在x86/68k并行模式下,由C86來(lái)選擇x86或68k。SD[7:0]為地址/數(shù)據(jù)復(fù)用總線,CS為片選輸入,READX和WRITEX為讀寫信號(hào),RS為寄存器選擇輸入,用業(yè)指示地址和數(shù)據(jù)。在串行模式下,SD7為串行數(shù)據(jù)輸入,SD6為串行時(shí)鐘輸入,SD5為串行數(shù)據(jù)輸出,WRITEX用來(lái)切換讀和寫。另外芯片提供了中斷輸出,用來(lái)給MPU發(fā)特定請(qǐng)求。BUSYX用做忙指示。
2 S7600A內(nèi)部寄存器和數(shù)據(jù)傳輸實(shí)例
S7600A有36個(gè)內(nèi)部寄存器,有單字節(jié)、多字節(jié),也有變長(zhǎng)的(如PPP_String寄存器,用來(lái)存放PAP用戶名和指令,其長(zhǎng)度與用戶名和口令的實(shí)際長(zhǎng)度相關(guān))。對(duì)內(nèi)部寄存器的讀寫可以實(shí)現(xiàn)對(duì)S7600A的各種操作,其中若干寄存器用來(lái)做TCP/IP的協(xié)議接口。由于寄存器數(shù)據(jù)量較多,這里不一一介紹,僅舉一個(gè)TCP數(shù)據(jù)的傳輸實(shí)例來(lái)說(shuō)明對(duì)該芯片的操作。
一個(gè)IP地址和一個(gè)端口號(hào)可以稱一個(gè)插口(Socket)。而一個(gè)插口對(duì)可以唯一地確定互聯(lián)網(wǎng)絡(luò)里一個(gè)TCP連接。在進(jìn)行以下操作之前事先要建立一個(gè)TCP連接。
首先,將Serial_Port_Config寄存器(08H)里的SCTL標(biāo)志位置1,把對(duì)串口的控制權(quán)交給硬件(S7600A),把要傳輸?shù)臄?shù)據(jù)寫到Socket_Data寄存器(2EH)里,S7600A就會(huì)把數(shù)據(jù)通過(guò)該寄存器放到輸出緩沖區(qū)(1K字節(jié)長(zhǎng)度)。注意輸出緩沖區(qū)地址在Buffer_Out_Length寄存器(30H-31H)里,當(dāng)輸出緩沖區(qū)為全空時(shí),該寄存器里寫一個(gè)字節(jié)的數(shù)據(jù),用戶每向Socket_Data寄存器里寫一個(gè)字節(jié)的數(shù)據(jù),Buffer_Out_Length寄存器的值就會(huì)
熱門點(diǎn)擊
- 嵌入式系統(tǒng)以太網(wǎng)接口的設(shè)計(jì)
- 基于Xtensa LX處理器實(shí)現(xiàn)RRC濾波器
- VB環(huán)境下實(shí)現(xiàn)PCI設(shè)備底層訪問(wèn)的兩種方法
- 基于S7600A的嵌入式系統(tǒng)Internet
- 在應(yīng)用系統(tǒng)中嵌入WWW服務(wù)功能的實(shí)現(xiàn)方法
- 把網(wǎng)絡(luò)引進(jìn)嵌入式控制系統(tǒng)
- CAN通信卡的Linux設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)實(shí)現(xiàn)
推薦技術(shù)資料
- 羅盤誤差及補(bǔ)償
- 造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開(kāi)
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究