基于硬件協(xié)議棧的以太網(wǎng)遠程數(shù)據(jù)傳輸系統(tǒng)
摘要:本文介紹了一款單片網(wǎng)絡(luò)接口芯片W5100,該芯片內(nèi)部集成了TCP/IP硬件協(xié)議棧,支持多種網(wǎng)絡(luò)協(xié)議。給出了基于STM32處理器的硬件電路連接圖和軟件程序設(shè)計。目前,該系統(tǒng)已成功應(yīng)用在多個建筑能耗監(jiān)測項目中,運行結(jié)果表明該系統(tǒng)通信穩(wěn)定可靠,能夠滿足項目對遠程數(shù)據(jù)傳輸?shù)男枨蟆?br />關(guān)鍵詞:以太網(wǎng);數(shù)據(jù)傳輸;硬件協(xié)議棧;STM32
引言
數(shù)據(jù)采集與傳輸系統(tǒng)一直是工業(yè)控制、環(huán)境參數(shù)監(jiān)測、建筑能耗信息監(jiān)測等多個領(lǐng)域共同關(guān)注的問題,尤其是針對遠程數(shù)據(jù)傳輸問題。受傳輸距離的限制,傳統(tǒng)的現(xiàn)場總線通信方式只適合于近距離的數(shù)據(jù)傳輸;而基于GPRS技術(shù)的數(shù)據(jù)傳輸系統(tǒng)雖然可以不受距離的限制,但其按照流量進行收費,對于大量數(shù)據(jù)連續(xù)傳輸而言資費不低,在實際的項目中應(yīng)用也不是很廣泛。目前,基于以太網(wǎng)的數(shù)據(jù)傳輸系統(tǒng)以其成本低廉、通信速率高和支持遠距離通信等諸多優(yōu)點,在監(jiān)測領(lǐng)域得到了越來越多的應(yīng)用。
常見的網(wǎng)絡(luò)驅(qū)動芯片有RTL8019、CS8900、ENC28J60、DM9000、W5100等,其中ENC28J60支持串行SPI接口通信方式,接口電路設(shè)計相對簡單。RTL8019、CS8900和DM9000都是并行總線式驅(qū)動方式,需要連接較多的數(shù)據(jù)線、地址線以及讀寫控制引腳等。W5100既支持串行SPI接口,同時也支持并行總線方式。這幾款芯片中除了W5100內(nèi)置TCP/IP協(xié)議棧之外,其余都需要用戶自己開發(fā)以太網(wǎng)驅(qū)動程序,需要占據(jù)大量的存儲空間以及寶貴的RAM內(nèi)存單元;而且,軟件的實現(xiàn)方式與硬件集成相比,穩(wěn)定性和可靠性也稍差。
1 W5100芯片介紹
W5100是韓國Wiznet公司生產(chǎn)的一款多功能的單片網(wǎng)絡(luò)接口芯片,內(nèi)部集成有10/100M以太網(wǎng)控制器,且經(jīng)過多年實際項目應(yīng)用驗證的硬件TCP/IP協(xié)議棧,提供全雙工以太網(wǎng)解決方案。與該公司之前的產(chǎn)品W3100相比,W5100內(nèi)部集成了物理層RTL8201CP核,它是一款集TCP /IP協(xié)議棧、以太網(wǎng)MAC和PHY為一體的網(wǎng)絡(luò)接口芯片,具有更高的集成度和更穩(wěn)定的工作性能,便于硬件實現(xiàn)。W5100芯片同時支持直接并行總線、間接并行總線和SPI串行總線共3種接口方式與主控芯片進行通信,可以滿足不同場合的需求。這些性能使得用戶不需要考慮以太網(wǎng)TCP/IP協(xié)議棧的移植等復雜的軟件驅(qū)動程序,可以像訪問外部存儲器一樣操作W5100,實現(xiàn)網(wǎng)絡(luò)通信功能。W5100的性能特點如下:
①內(nèi)嵌10/100BaseT以太網(wǎng)物理層;
②理論最大傳輸率可達25 Mb/s;
③支持自動MDI/MDIX,自動校正信號極性;
④支持ADSL連接(支持PPPoE協(xié)議中的PAD/CHAP認證模式);
⑤支持4個獨立端口同時運行;
⑥內(nèi)置16 KB存儲器用于數(shù)據(jù)發(fā)送/接收緩存。
1.1 內(nèi)部結(jié)構(gòu)及引腳功能
如圖1所示,W5100將網(wǎng)絡(luò)協(xié)議的處理分成一個由特定處理器執(zhí)行的控制部分和一個硬件線路部分,實現(xiàn)硬件化的TCP、UDP、ICMP、IPv 4、ARP、IGMP以及PPPoE協(xié)議,含有連接以太網(wǎng)協(xié)議中的數(shù)據(jù)控制及MAC協(xié)議;按照功能可以將W5100的引腳分為與處理器接口的通信引腳、以太網(wǎng)物理層功能引腳、時鐘引腳、LED工作狀態(tài)指示引腳、電源引腳等幾類。直接總線接口方式需要用到ADDR[0~14]共15個引腳;而間接總線接口方式只需要用到地址線0和地址線1,其余的地址線ADDR[2~14]通過電阻接地即可;使用SPI接口方式時需要注意,必須將SEN引腳接高電平,才能使SPI功能有效,后面在硬件電路部分介紹。
1.2 寄存器功能介紹
W5100的寄存器可以分為通用寄存器和端口寄存器兩類。其中,通用寄存器包括對W5100的網(wǎng)絡(luò)配置、中斷、超時參數(shù)以及緩沖區(qū)大小等設(shè)置;端口寄存器是針對W5100的4個獨立的端口設(shè)置,包括端口模式寄存器、端口命令寄存器、端口中斷寄存器和端口狀態(tài)寄存器等在內(nèi)的共17個寄存器。
通用寄存器的詳細信息如表1所列。針對中斷寄存器IR共有7個中斷源,當任何一個未被屏蔽的中斷置為高電平時,W5100的中斷輸出引腳INT將會一直保持低電平,MCU通過讀取IR寄存器定位中斷源,并進行中斷程序處理,之后清零IR中相應(yīng)的位,INT引腳才恢復為高電平。
tcp/ip相關(guān)文章:tcp/ip是什么
評論