趙曉宇 龔學銳
摘要:以太網(wǎng)通信因其通信速率快、通信可靠、連接方便等諸多優(yōu)點,在現(xiàn)在的控制裝置中的應用越來越廣泛。針對上述相關場景對以太網(wǎng)通信的需求,確定了一種適用于簡單以太網(wǎng)應用的高效擴展方法。并通過相關設計和實驗,驗證了相關分析和設計的正確性。
關鍵字:以太網(wǎng)嵌入式W5100S通信擴展
Abstract: Ethernet is becoming more and more popular in industrial communication for its high speed、reliability and easy connecting. This paper focus on the application that have very urgent need of Ethernet, this paper verified the the practicability of the method by developing a prototype and test on it.
Keywords: EthernetEmbedded systemW5100SCommunication extend
1 引言
隨著各種工業(yè)設備智能化程度的提高,其對通信性能的要求也逐漸的提高,即需要傳輸更多的數(shù)據(jù)、更快的傳輸速度和更可靠的連接。傳統(tǒng)現(xiàn)場總線中常用的CAN、RS485等總線傳輸速率已經(jīng)明顯無法滿足新的需求。以太網(wǎng)總線以其通信速率快、通信可靠、連接方便等諸多優(yōu)點,逐漸在工業(yè)控制領域得到越來越廣泛的應用,近些年多數(shù)芯片廠家在 其最新系列的DSP芯片中都加入了以太網(wǎng)功能,而這在以前是很少見的。
對于一些不支持以太網(wǎng)的DSP,以及
FPAG、低端ARM等要向實現(xiàn)以太網(wǎng)功能就必須通過適當技術手段來擴展。本文將針對此種技術需求展開研究,并給出一種高效的解決方案。
2 以太網(wǎng)技術原理分析
OSI(Open System Interconnect)定義了網(wǎng)絡互連的七層框架分別為:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層、會話層、表示層、應用層,而目前以太網(wǎng)協(xié)議中應用最廣泛的TCP/IP則是采用了簡化的五層模型。
TCP/IP協(xié)議模型的五層結構中將OSI模型種的應用層、表示層、會話層三層統(tǒng)一歸入應用層。
各種設備間通過標準的物理接口、標準的以太網(wǎng)幀格式以及標準的上層協(xié)議實現(xiàn)通信。
3基于W5100S的以太網(wǎng)設計
3.1軟件功能實現(xiàn)分析
在嵌入式應用中以太網(wǎng)功能的軟件實現(xiàn)主要分為操作系統(tǒng)實現(xiàn)和基于代碼的功能集成兩種方式。而編程開發(fā)基本都是基于socket接口的方法實現(xiàn)。
通過socket接口,屏蔽了底層軟件的復雜接口,降低了編程復雜度。
3.2 硬件功能分析
以太網(wǎng)的硬件功能實現(xiàn)主要可分為兩部分:第一,芯片與PHY側接口硬件;第二,PHY芯片與外部接口硬件。
硬件功能接口的區(qū)別是限制以太網(wǎng)擴展方式的主要因素。如DSP芯片一般都沒有MAC接口,因此DSP無法直接擴展以太網(wǎng)功能。而FPGA的接口資源豐富且接口配置靈活,因此可以實現(xiàn)多路擴展,但需要通過邏輯資源實現(xiàn)MAC控制器才能實現(xiàn)完整的MAC功能。
3.3 基于W5100S的以太網(wǎng)功能開發(fā)
W5100S 是一款多功能的單芯片網(wǎng)絡接口芯片,內部集成全硬件的TCP/IP協(xié)議棧,以太網(wǎng)MAC和 10Base-T/100Base-TX以太網(wǎng)控制器,實現(xiàn)了以太網(wǎng)功能的單芯片擴展。其支持IPv4,TCP,UDP,ICMP,IGMP,ARP,PPPoE等各種TCP/IP協(xié)議,而且擁有8KB的發(fā)送緩存和接收緩存,可以最大限度地減少MCU的開銷。
3.3.1 基于W5100S的硬件設計
W5100S內部已經(jīng)集成了MAC、PHY等功能,因此只用將芯片對應的接口分別連接到MCU和以太網(wǎng)接口即可,本設計中所選用的以太網(wǎng)接口已經(jīng)集成了網(wǎng)絡變壓器,因此也不用設外部變壓器。
本設計中采用了SPI接口和8BIT并行系統(tǒng)總線接口的兼容設計。由于SPI總線速率受外部影響因素較大,因此在吞吐量要求比較高的場合推薦用并行總線。
3.3.2 軟件功能設計
由于W5100S內部已經(jīng)集成了全硬件的TCP/IP協(xié)議棧,因此相關功能的實現(xiàn)只用通過SPI或者并行總線接口操作相關寄存器即可。
對相關寄存器的操作基于socket功能的軟件框架實現(xiàn)的非常易于實現(xiàn)。
44試驗驗證及結果分析
本文相關設計及驗證內容主要包含硬件和軟件兩個部分。硬件平臺MCU采用TI公司的DSP芯片,型號為TMS320C28346;以太網(wǎng)擴展芯片為WIZnet公司的W5100S集成以太網(wǎng)控制器;以太網(wǎng)連接器采用漢仁的HR901103C,該型號集成了網(wǎng)絡變壓器。
以太網(wǎng)軟件功能測試采用網(wǎng)絡封包軟件Wireshark全程對以太網(wǎng)傳輸數(shù)據(jù)進行捕獲并通過pcapng格式對數(shù)據(jù)進行保存。捕獲的數(shù)據(jù)包括TCP、LLMNR、DHCP等網(wǎng)絡協(xié)議數(shù)據(jù),通過對原始數(shù)據(jù)集進行篩選,保留TCP通信協(xié)議傳輸數(shù)據(jù)后進行分析。
從實驗可見Wireshark正確的識別出了板卡發(fā)出的TCP幀。證明設計TCP功能的正確性。
通過PC端回環(huán)測試,進行發(fā)送和接收數(shù)據(jù)的時間序列圖和實際數(shù)據(jù)吞吐量測試,如圖10~13所示整個傳輸過程中發(fā)送和接收數(shù)據(jù)吞吐量和時間序列保持穩(wěn)定,因此可以確認在整個測試過程中以太網(wǎng)傳輸沒有斷開的情況發(fā)生,一直保持兩端正常通信。
所以可以確認相關硬件和軟件設計的正確性。
5 結論
在以太網(wǎng)應用越來越廣泛的今天,以太網(wǎng)擴展的需求也越來越廣。針對部分DSP、FPGA等不具備以太網(wǎng)功能的芯片而言,通過集成協(xié)議棧功能的W5100S來實現(xiàn)以太網(wǎng)功能的擴展,是一種簡單、高效的擴展方法。其不僅開發(fā)簡單,而且基本不會影響原系統(tǒng)的性能,因此可作為一種優(yōu)選的擴展方案。
參考文獻:
[1]張峻豪,張曉龍,王聰,李俊杰,楊磊青,高鵬.嵌入式以太網(wǎng)串口服務器設計與實現(xiàn)[J].軟件導刊,2021,20(09):123-129.
[2]戴李剛,張明亮,趙玲玲,高嘉誠,羅佳妮,閆昊昱.基于LwIP協(xié)議的電磁閥采集技術研究[J].上海航天,2020,37(S2):193-196+205. DOI:10.19328/j.cnki.2096-8655.2020.S2.035.
[3]WIZnet Co,W5100 Datasheet Ver.1.1.3,Wiznet Corporation[R].Korea,WIZnet Co.,2006.
[4]張伏.基于NiosII與W5100的嵌入式Web服務器的設計與實現(xiàn)[J].電子技術與軟件工程,2014(03):219-220.
作者簡介: 趙曉宇(1987-),男,工程師,武漢船用電力裝置研究所,主要研究方向為電力電子與電力傳動