硬件協(xié)議棧芯片W3100A
關(guān)鍵詞:TCP/IP協(xié)議棧;W3100A;Socket API;以太網(wǎng)
1 W3100A簡(jiǎn)介
近年來(lái),隨著(zhù)技術(shù)的飛速進(jìn)步,電子產(chǎn)品正朝著(zhù)小型化、智能化和網(wǎng)絡(luò )化的方向發(fā)展。在小型嵌入式設備中實(shí)現以太網(wǎng)互聯(lián)正在成為研究和應用的熱點(diǎn)。在這種潮流的推動(dòng)下,研究人員提出了許多解決方案。傳統的做法是在嵌入式設備中植入TCP/IP協(xié)議棧,或者移植一個(gè)具有TCP/IP協(xié)議棧的嵌入式操作系統。雖然上述做法在很多應用中取得了不錯的效果,但都是以犧牲大量資源為代價(jià)的。而本文介紹的W3100A硬件協(xié)議棧則可以在占用極低系統資源的條件下快速完成網(wǎng)絡(luò )通訊。
W3100A的主要性能特點(diǎn)如下:
●硬件協(xié)議棧包括TCP、 IP Ver.4、 UDP、 ICMP、 ARP;
●支持硬件以太網(wǎng)協(xié)議DLC和MAC;
●同時(shí)支持四路獨立的網(wǎng)絡(luò )連接;
●支持Ping命令;
●協(xié)議處理速度達到全雙工4~5Mbps;
●支持Intel/Motorola MCU總線(xiàn)接口;
●支持I2C接口;
●帶有標準的MII接口,可連接底層以太網(wǎng)接口芯片;
●可提供Socket API加速應用程序開(kāi)發(fā);
●支持全雙工模式;
●其內建16KB雙口RAM可作為數據緩沖區;
●采用0.35μm CMOS制造工藝。
2 W3100A的引腳功能
W3100A采用64腳LQFP封裝,其引腳分布如圖1所示。各引腳功能描述如下:
TXD[0]~TXD[3]:在TXD_CLK上升沿發(fā)送數據。串行模式時(shí),TXD[0]用作串行數據發(fā)送引腳,TXD[1]~TXD[3]無(wú)效。
TXE:發(fā)送使能端。
TXD_CLK:數據發(fā)送時(shí)鐘,時(shí)鐘由以太網(wǎng)接口芯片提供。
RXD[0]~RXD[3]:在TXD_CLK下降沿接收數據。串行模式時(shí),RXD[0]作為串行數據接收引腳,RXD[1]~RXD[3]無(wú)效。
RXDV/CRS:載波監測。高電平有效。
RXD_CLK:數據接收時(shí)鐘,時(shí)鐘由以太網(wǎng)接口芯片提供。
COL:沖突探測引腳。在半雙工模式發(fā)生沖突時(shí)有效。
A[14~8]/DA[6~0]:在MCU總線(xiàn)接口模式下作為14~8位地址。在I2C模式下作為I2C接口6~0位設備地址。
A[7~0]:7~0位地址線(xiàn)。
D[7~0]:8位數據線(xiàn)。
INT:接收發(fā)送中斷請求。低電平有效。
CS:片選信號。低電平有效。
WR:寫(xiě)信號。低電平有效。
RD:讀信號。低電平有效。
RESET:復位信號。
CLOCK:工作時(shí)鐘。通常由以太網(wǎng)接口芯片提供,推薦頻率為25MHz。
EXT_CLK:外部時(shí)鐘輸入信號。
SERIAL:10BASE-T SERIAL或NIBBLE選擇。
FDPLX:全雙工/半雙工選擇。0為全雙工,1為半雙工。
MODE[2~0]:用于選擇W3100A工作模式。000為時(shí)鐘模式;001為外部時(shí)鐘模式;010為無(wú)時(shí)鐘模式;011為I2C模式;1xx為測試模式。3 W3100A的內部結構
系統設計人員利用W3100A可以方便快捷地為產(chǎn)品添加網(wǎng)絡(luò )功能。W3100A的硬件TCP/IP協(xié)議棧包含了TCP、UDP、IP、ARP和ICMP協(xié)議。并支持一套與Windows系統相同的socket API。W3100的內部結構框圖如圖2所示。
W3100A共有32kB的內部存儲器空間。其中位于存儲器頂部地址為0x0000~0x01FF的1kB空間分配給了控制寄存器組,0x2000~0x3FFF則作為保留空間供給其它設備使用,而0x4000~0x5FFF為發(fā)送緩沖區,0x6000~0x7FFF為數據接收緩沖區。由于W3100A可以為用戶(hù)提供4路獨立的連接通路,所以相對應的8kB發(fā)送緩沖區和 8kB接收緩沖區可以通過(guò)寄存器TMSR和RMSR進(jìn)行配置。配置方法如圖3所示。
4 應用設計
4.1 硬件設計
W3100A有3種不同的工作模式,分別為Direct Bus I/F模式、Indirect Bus I/F模式和I2C Bus I/F模式。用戶(hù)可根據自己的實(shí)際情況進(jìn)行選擇。下面就常用的Direct Bus I/F模式和I2C Bus I/F模式作以簡(jiǎn)單介紹。
圖4是Direct Bus I/F模式的硬件結構框圖。
由圖可見(jiàn),該模式下,W3100A共用了15條地址線(xiàn)、8位數據線(xiàn)、片選CS,及讀寫(xiě)控制信號WR和RD。不難看出,該模式下硬件電路設計相對簡(jiǎn)單,但要占用較多的MCU資源。同時(shí)還應該注意,在Direct Bus I/F模式下,W3100A的工作時(shí)鐘也有3種不同的模式,在大多數情況下,系統推薦使用Clocked 模式,因為該模式下系統可以穩定的工作。但是如果系統中MCU的訪(fǎng)問(wèn)速度小于100ns,則應為W3100A單獨外接時(shí)鐘并選擇External Clock模式。而當MCU的CS、RD、WD信號時(shí)序滿(mǎn)足W3100A的要求時(shí),也可以不要時(shí)鐘。
I2C Bus I/F模式下,可使用SCL和SDA在MCU和W3100A之間串行傳輸數據,時(shí)鐘信號線(xiàn)SCL由MCU提供,SDA則用來(lái)在MCU和W3100A之間傳送地址和數據。只要系統中的MCU支持I2C總線(xiàn)即可使用該模式??梢钥闯?,使用該模式可以大量減少MCU與W3100A的連接線(xiàn),從而節?。停茫盏馁Y源。
4.2 軟件設計
此外,通過(guò)WIZnet公司為W3100A專(zhuān)門(mén)提供的Socket API軟件,可使網(wǎng)絡(luò )通訊的軟件設計更加方便。利用該軟件進(jìn)行設計時(shí),應首先初始化W3100A的網(wǎng)絡(luò )設置,即在相應的寄存器中設置默認網(wǎng)關(guān)、子網(wǎng)掩碼、本機物理地址和IP地址,然后建立Socket連接以實(shí)現通訊。整個(gè)過(guò)程與Windows Socket編程十分類(lèi)似,此處不再贅述。
5 結論
W3100A具有傳輸速度快、工作穩定可靠、系統開(kāi)銷(xiāo)小等優(yōu)點(diǎn),可以為小型嵌入式設備提供很好的網(wǎng)絡(luò )解決方案。
tcp/ip相關(guān)文章:tcp/ip是什么
評論