當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:論述了在STM32系列的MCU上移植TCP/IP協(xié)議棧LwIP,并利用新型以太網(wǎng)控制器ENC24J600實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸功能。該系統(tǒng)主要完成的功能是接收上位機(jī)發(fā)送的數(shù)據(jù),并將這些數(shù)據(jù)轉(zhuǎn)換成通用串行接口輸出。ENC424J600是Mi

摘要:論述了在STM32系列的MCU上移植TCP/IP協(xié)議棧LwIP,并利用新型以太網(wǎng)控制器ENC24J600實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)傳輸功能。該系統(tǒng)主要完成的功能是接收上位機(jī)發(fā)送的數(shù)據(jù),并將這些數(shù)據(jù)轉(zhuǎn)換成通用串行接口輸出。ENC424J600是Microchip新推出的一款以太網(wǎng)控制器,其速度優(yōu)于ENC28J60,同時為用戶提供兩種接口模式。本文介紹了其基于SPI接口模式下的實現(xiàn)過程,詳細(xì)描述了該網(wǎng)卡驅(qū)動的硬件電路和軟件流程。
關(guān)鍵詞:以太網(wǎng)控制器;STM32;LwIP串口輸出

引言
    隨著Internet的發(fā)展和應(yīng)用,越來越多的設(shè)備需要接入網(wǎng)絡(luò)以實現(xiàn)遠(yuǎn)程控制或資源共享。以太網(wǎng)接口布線方便,通信帶寬較寬,可達(dá)100 Mb/s甚至1000Mb/s。嵌入式系統(tǒng)由于具有體積小、價格低、專用性能高的優(yōu)勢,被廣泛應(yīng)用于各種電子設(shè)備和工業(yè)測試設(shè)備中。隨著嵌入式系統(tǒng)與網(wǎng)絡(luò)的日益緊密結(jié)合,在嵌入式系統(tǒng)中引入TCP/IP協(xié)議棧已成為嵌入式系統(tǒng)領(lǐng)域的重要研究方向。
    本義在以太網(wǎng)接口實現(xiàn)基本數(shù)據(jù)傳輸?shù)幕A(chǔ)上將其轉(zhuǎn)換成其他通用串行接口(如SPI、UART、CAN),更利于應(yīng)用在廣泛的工業(yè)控制領(lǐng)域中。目前市面上的以太網(wǎng)控制芯片大多功耗高、功能復(fù)雜,不適合用在中低端的嵌入式系統(tǒng)中。之前Microchip推出的芯片ENC28J60的網(wǎng)絡(luò)接口速度只能達(dá)到10 Mbps,其SRAM buffer也不大容易造成接收溢出,而ENC424J600速度可達(dá)100 Mbps,功能將更加完善,并提供兩種接口給嵌入式開發(fā)者選擇,是一款很好的網(wǎng)絡(luò)接口芯片。STM32F103RET6是一款A(yù)RM處理器,它的功耗低、價格低廉、功能強(qiáng)大、具備豐富的串行接口,具有512 KB的Flash,在一般的應(yīng)用中可以不用外擴(kuò)Flash,是中低端嵌入式開發(fā)系統(tǒng)的最佳選擇之一。將兩者結(jié)合不但能實現(xiàn)網(wǎng)絡(luò)通信,而且可以靈活轉(zhuǎn)換成其他串行接口,用途廣泛。

1 ENC424J600簡介
    ENC424J600是Microchip公司推出的單獨可用的快速以太網(wǎng)控制器。其與MCU的連接方式可采用具有工業(yè)標(biāo)準(zhǔn)的串行總線SPI或靈活的并行接口。SPI接口數(shù)據(jù)速率可達(dá)14 Mb/s、并行接口速率可達(dá)140 Mb/s。ENC424J600滿足10 basc-TX全雙工、半雙工模式、100base-TX全雙工、半雙工模式,4種模式均符合IEEE802.3協(xié)議。芯片內(nèi)置PHY物理層及MAC媒體訪問控制層。引擎具有RSA、DiffieHelman、AES、MD5、和SHA-1算法。芯片具有44引腳TQFP和QFN兩種封裝形式。該芯片另一個突出特點是具有24 KB的SRAM Buffer,基本不需要外接SRAM。芯片SRAM Buffer的分配如圖1所示。


     SRAM Buffer被分為兩個區(qū)域,一般將General Purpose Buffer設(shè)為發(fā)送區(qū),RX FIFO Burfer設(shè)為接收區(qū),通過指針ERXST區(qū)分兩個區(qū)域,通常將接收區(qū)設(shè)置較大以防止接收幀溢出。
[!--empirenews.page--]
2 系統(tǒng)硬件電路設(shè)計
2.1 網(wǎng)絡(luò)控制器外圍硬件電路
    ENC424J600網(wǎng)絡(luò)控制器外圍硬件電路設(shè)計需要注意的幾點有:ENC424J600的SPISEL引腳需要通過100kΩ電阻上拉至電源,這樣系統(tǒng)上電時就能進(jìn)入SPI模式,同時引出INT引腳作為接收中斷使用;每個電源引腳與地之間都應(yīng)連接一個電容,為更好地防止干擾在設(shè)計時加了兩個電容,布線時使0.01μF電容更靠近電源引腳;RBIAS引腳需接一個12.4 kΩ的電阻到地;另外RD+、RD-差分信號處的接法與一般的網(wǎng)絡(luò)控制器不同,它不是直接通過電阻接到電源上,需要特別注意。以太網(wǎng)接口則采用HR961160C,該插座集成以太網(wǎng)隔離變壓器、LED燈于一體,同時是貼片式的,節(jié)約PCB制板空間。在PCB布線時需要注意的是RD+、RD-和TD+、TD-兩對高頻差分線的走線應(yīng)對稱并盡可能短。


    ENC424J600外圍硬件電路及HANRUN以太網(wǎng)變壓器插座外圍電路圖如圖2、圖3所示。[!--empirenews.page--]
2.2 系統(tǒng)硬件結(jié)構(gòu)
    網(wǎng)絡(luò)轉(zhuǎn)串行通信接口的系統(tǒng)結(jié)構(gòu)框圖如圖4所示。STM32F103RET6通過SPI1串行通信接口、一個GPIO引腳作為中斷引腳與網(wǎng)絡(luò)控制器相連,系統(tǒng)再引出SPI2、CAN總線通信接口的引腳。將UART1串行接口作為控制臺供調(diào)試使用。STM32F103RET6具有串口ISP下載功能,將BOOT0接高電平,BOOT1接低電平即可進(jìn)入ISP下載模式。該系統(tǒng)可以通過跳線選擇ISP下載功能。



3 系統(tǒng)軟件設(shè)計
    軟件的設(shè)計主要是移植LwIP協(xié)議棧,添加各串行通信接口的初始化程序,編寫網(wǎng)絡(luò)控制器底層驅(qū)動,編寫上層應(yīng)用程序。
3.1 網(wǎng)絡(luò)控制器底層驅(qū)動實現(xiàn)過程
    網(wǎng)絡(luò)控制器底層驅(qū)動初始化程序放在low_level_init函數(shù)中,整個過程為:初始化SPI1接口,對網(wǎng)絡(luò)控制器進(jìn)行系統(tǒng)復(fù)位;設(shè)置發(fā)送、接收緩沖區(qū)指針;初始化PHY層為100 Mbase全雙工模式,使能接收中斷。網(wǎng)絡(luò)控制器底層發(fā)送程序放在low_level_output函數(shù)中,整個過程為:將以太網(wǎng)包拷貝至SRAM buffer,設(shè)置發(fā)送起始地址;發(fā)送幀長,置高TXRTS位使能發(fā)送,直到TXRTS被硬件清零才能進(jìn)行第二次發(fā)送。網(wǎng)絡(luò)控制器接收程序放在low_level_input函數(shù)中,當(dāng)接收中斷發(fā)生時系統(tǒng)通過上層應(yīng)用程序調(diào)用low_level_input函數(shù)。該函數(shù)主要內(nèi)容為:讀取PKTIF位以確定是否有以太網(wǎng)幀等待接收;設(shè)置接收指針地址,讀取該幀的前8個字節(jié),其中前兩個字節(jié)為下一幀接收地址,第3、4個字節(jié)為這一幀的長度,申請當(dāng)前幀長的緩沖區(qū),將接收數(shù)據(jù)讀入緩沖區(qū),置高PKTDEC為下一幀接收做準(zhǔn)備。
3.2 LwIP協(xié)議棧分析
    LwIP協(xié)議??梢栽跓o操作系統(tǒng)的軟件平臺下移植,LwIP實現(xiàn)的重點是在保持TCP/IP協(xié)議主要功能的基礎(chǔ)上減少對RAM的占用,因此它也適合在中低端的嵌入式系統(tǒng)中應(yīng)用。LwIP主要是完成IP層和TCP/UDP數(shù)據(jù)傳輸層的任務(wù),它與底層網(wǎng)絡(luò)控制器的接口主要體現(xiàn)在etherneti f.c函數(shù)中。在以太網(wǎng)幀的接收過程中以太網(wǎng)數(shù)據(jù)包通過底層接收程序傳至IP層,IP層判斷是TCP數(shù)據(jù)包還是UDP數(shù)據(jù)包,送至相應(yīng)數(shù)據(jù)傳輸層處理,數(shù)據(jù)傳輸層再將收到的數(shù)據(jù)傳至用戶應(yīng)用程序。在以太網(wǎng)幀的發(fā)送過程中,用戶程序選擇是通過UDP還是TCP發(fā)送數(shù)據(jù)包,將數(shù)據(jù)包送至相應(yīng)的傳輸層,再傳至IP層,IP層再將數(shù)據(jù)傳至底層,發(fā)送程序?qū)?shù)據(jù)發(fā)送出去。
3.3 系統(tǒng)軟件流程
    系統(tǒng)軟件流程如圖5所示。


    軟件主要完成初始化、等待接收以太網(wǎng)幀、通過串行接口將數(shù)據(jù)幀發(fā)送出去的任務(wù)。初始化包括創(chuàng)建netif網(wǎng)絡(luò)接口、SPI1接口、網(wǎng)絡(luò)控制器的PHY層、MAC層,使能接收中斷、初始化TCP服務(wù)器端。初始化完成后,等待上位機(jī)軟件TCP的客戶端與底層軟件的TCP服務(wù)器端建立連接。連接建立后整個系統(tǒng)就循環(huán)等待接收TCP客戶端發(fā)送的以太網(wǎng)數(shù)據(jù)幀,當(dāng)有以太網(wǎng)數(shù)據(jù)幀到達(dá)時,產(chǎn)生接收中斷,接收到的數(shù)據(jù)幀從PHY層傳到MAC層,再傳到IP層,最終傳到TCP層進(jìn)行數(shù)據(jù)接收處理。應(yīng)用程序收到處理過的以太網(wǎng)數(shù)據(jù)幀,處理相應(yīng)的數(shù)據(jù),根據(jù)數(shù)據(jù)傳遞的信息通過SPI2或CAN總線串行通信接口將信息發(fā)送出去,以實現(xiàn)相應(yīng)的控制功能。[!--empirenews.page--]
3.4 TCP/UDP上位機(jī)與系統(tǒng)通信
    TCP/UDP上位機(jī)采用周立功公司的UDP/TCP調(diào)試工具,上位機(jī)作為TCP客戶端與系統(tǒng)服務(wù)器端建立連接,系統(tǒng)循環(huán)等待接收以太網(wǎng)數(shù)據(jù)包,收到數(shù)據(jù)包后通過TCP協(xié)議傳輸出去。在程序中設(shè)定系統(tǒng)服務(wù)器的IP為192.168.1.99,子網(wǎng)掩碼為255.255.255.0,默認(rèn)網(wǎng)關(guān)為192.168.1.254,TCP端口為3838,上位機(jī)TCP發(fā)送接收數(shù)據(jù)包如圖6所示。



結(jié)語
    文中介紹了利用ENC424J600網(wǎng)絡(luò)控制器和LwIP協(xié)議棧實現(xiàn)以太網(wǎng)通信的過程,該系統(tǒng)不但體積小巧而且速度快、穩(wěn)定可靠,具有良好的應(yīng)用前景。
    此系統(tǒng)目前已應(yīng)用于網(wǎng)絡(luò)轉(zhuǎn)SPI通信來控制繼電器板卡的測試設(shè)備中。該繼電器測試設(shè)備稱為MATRIX-RELAY(即矩陣?yán)^電器),每塊繼電器板卡上有46行×8列個繼電器,共有5塊繼電器板卡,即46×8×5個繼電器,通過打通該設(shè)備上的某一行或多行上的某兩點來對待測產(chǎn)品進(jìn)行相應(yīng)的測試。測試員通過電腦上的上位機(jī)指定需要打開的繼電器序號,向該系統(tǒng)發(fā)一幀網(wǎng)絡(luò)數(shù)據(jù),這幀數(shù)據(jù)包括需要打開的繼電器屬于哪塊板卡、哪一行、哪一列等信息。通過該系統(tǒng)的處理,將數(shù)據(jù)轉(zhuǎn)為SPI串行數(shù)據(jù),再通過一系列移位寄存器的移位來控制相應(yīng)繼電器的打開從而達(dá)到測試產(chǎn)品某兩端的目的。該測試設(shè)備在實際的運(yùn)行中非常穩(wěn)定可靠。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉