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