亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ENC424J600的以太網(wǎng)與串行接口轉(zhuǎn)換技術(shù)

        2012-09-25 02:59:38陳聰曲波
        關(guān)鍵詞:底層以太網(wǎng)數(shù)據(jù)包

        陳聰,曲波

        (蘇州大學(xué) 電子信息學(xué)院,蘇州 215021)

        引 言

        隨著Internet的發(fā)展和應(yīng)用,越來(lái)越多的設(shè)備需要接入網(wǎng)絡(luò)以實(shí)現(xiàn)遠(yuǎn)程控制或資源共享。以太網(wǎng)接口布線方便,通信帶寬較寬,可達(dá)100Mb/s甚至1000Mb/s。嵌入式系統(tǒng)由于具有體積小、價(jià)格低、專用性能高的優(yōu)勢(shì),被廣泛應(yīng)用于各種電子設(shè)備和工業(yè)測(cè)試設(shè)備中。隨著嵌入式系統(tǒng)與網(wǎng)絡(luò)的日益緊密結(jié)合,在嵌入式系統(tǒng)中引入TCP/IP協(xié)議棧已成為嵌入式系統(tǒng)領(lǐng)域的重要研究方向。

        本文在以太網(wǎng)接口實(shí)現(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á)到10Mbps,其SRAM buffer也不大容易造成接收溢出,而ENC424J600速度可達(dá)100Mbps,功能將更加完善,并提供兩種接口給嵌入式開(kāi)發(fā)者選擇,是一款很好的網(wǎng)絡(luò)接口芯片。STM32F103RET6是一款A(yù)RM處理器,它的功耗低、價(jià)格低廉、功能強(qiáng)大、具備豐富的串行接口,具有512KB的Flash,在一般的應(yīng)用中可以不用外擴(kuò)Flash,是中低端嵌入式開(kāi)發(fā)系統(tǒng)的最佳選擇之一。將兩者結(jié)合不但能實(shí)現(xiàn)網(wǎng)絡(luò)通信,而且可以靈活轉(zhuǎn)換成其他串行接口,用途廣泛。

        1 ENC424J600簡(jiǎn)介

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

        圖1 SRAM Buffer的分配

        SRAM Buffer被分為兩個(gè)區(qū)域,一般將General Purpose Buffer設(shè)為發(fā)送區(qū),RX FIFO Buffer設(shè)為接收區(qū),通過(guò)指針ERXST區(qū)分兩個(gè)區(qū)域,通常將接收區(qū)設(shè)置較大以防止接收幀溢出。

        2 系統(tǒng)硬件電路設(shè)計(jì)

        2.1 網(wǎng)絡(luò)控制器外圍硬件電路

        ENC424J600網(wǎng)絡(luò)控制器外圍硬件電路設(shè)計(jì)需要注意的幾點(diǎn)有:ENC424J600的SPISEL引腳需要通過(guò)100 kΩ電阻上拉至電源,這樣系統(tǒng)上電時(shí)就能進(jìn)入SPI模式,同時(shí)引出INT引腳作為接收中斷使用;每個(gè)電源引腳與地之間都應(yīng)連接一個(gè)電容,為更好地防止干擾在設(shè)計(jì)時(shí)加了兩個(gè)電容,布線時(shí)使0.01μF電容更靠近電源引腳;RBIAS引腳需接一個(gè)12.4kΩ的電阻到地;另外RD+、RD-差分信號(hào)處的接法與一般的網(wǎng)絡(luò)控制器不同,它不是直接通過(guò)電阻接到電源上,需要特別注意。以太網(wǎng)接口則采用HR961160C,該插座集成以太網(wǎng)隔離變壓器、LED燈于一體,同時(shí)是貼片式的,節(jié)約PCB制板空間。在PCB布線時(shí)需要注意的是RD+、RD-和TD+、TD-兩對(duì)高頻差分線的走線應(yīng)對(duì)稱并盡可能短。

        ENC424J600外圍硬件電路及HANRUN以太網(wǎng)變壓器插座外圍電路圖如圖2、圖3所示。

        2.2 系統(tǒng)硬件結(jié)構(gòu)

        圖2 ENC424J600外圍硬件電路

        圖3 HANRUN以太網(wǎng)變壓器插座外圍電路

        圖4 網(wǎng)絡(luò)轉(zhuǎn)串行通信接口的系統(tǒng)結(jié)構(gòu)框圖

        網(wǎng)絡(luò)轉(zhuǎn)串行通信接口的系統(tǒng)結(jié)構(gòu)框圖如圖4所示。STM32F103RET6通過(guò)SPI1串行通信接口、一個(gè)GPIO引腳作為中斷引腳與網(wǎng)絡(luò)控制器相連,系統(tǒng)再引出SPI2、CAN總線通信接口的引腳。將UART1串行接口作為控制臺(tái)供調(diào)試使用。STM32F103RET6具有串口ISP下載功能,將BOOT0接高電平,BOOT1接低電平即可進(jìn)入ISP下載模式。該系統(tǒng)可以通過(guò)跳線選擇ISP下載功能。

        3 系統(tǒng)軟件設(shè)計(jì)

        軟件的設(shè)計(jì)主要是移植LwIP協(xié)議棧,添加各串行通信接口的初始化程序,編寫(xiě)網(wǎng)絡(luò)控制器底層驅(qū)動(dòng),編寫(xiě)上層應(yīng)用程序。

        3.1 網(wǎng)絡(luò)控制器底層驅(qū)動(dòng)實(shí)現(xiàn)過(guò)程

        網(wǎng)絡(luò)控制器底層驅(qū)動(dòng)初始化程序放在low_level_init函數(shù)中,整個(gè)過(guò)程為:初始化SPI1接口,對(duì)網(wǎng)絡(luò)控制器進(jìn)行系統(tǒng)復(fù)位;設(shè)置發(fā)送、接收緩沖區(qū)指針;初始化PHY層為100Mbase全雙工模式,使能接收中斷。網(wǎng)絡(luò)控制器底層發(fā)送程序放在low_level_output函數(shù)中,整個(gè)過(guò)程為:將以太網(wǎng)包拷貝至SRAM buffer,設(shè)置發(fā)送起始地址;發(fā)送幀長(zhǎng),置高TXRTS位使能發(fā)送,直到TXRTS被硬件清零才能進(jìn)行第二次發(fā)送。網(wǎng)絡(luò)控制器接收程序放在low_level_input函數(shù)中,當(dāng)接收中斷發(fā)生時(shí)系統(tǒng)通過(guò)上層應(yīng)用程序調(diào)用low_level_input函數(shù)。該函數(shù)主要內(nèi)容為:讀取PKTIF位以確定是否有以太網(wǎng)幀等待接收;設(shè)置接收指針地址,讀取該幀的前8個(gè)字節(jié),其中前兩個(gè)字節(jié)為下一幀接收地址,第3、4個(gè)字節(jié)為這一幀的長(zhǎng)度,申請(qǐng)當(dāng)前幀長(zhǎng)的緩沖區(qū),將接收數(shù)據(jù)讀入緩沖區(qū),置高PKTDEC為下一幀接收做準(zhǔn)備。

        3.2 LwIP協(xié)議棧分析

        LwIP協(xié)議棧可以在無(wú)操作系統(tǒng)的軟件平臺(tái)下移植,LwIP實(shí)現(xiàn)的重點(diǎn)是在保持TCP/IP協(xié)議主要功能的基礎(chǔ)上減少對(duì)RAM的占用,因此它也適合在中低端的嵌入式系統(tǒng)中應(yīng)用。LwIP主要是完成IP層和TCP/UDP數(shù)據(jù)傳輸層的任務(wù),它與底層網(wǎng)絡(luò)控制器的接口主要體現(xiàn)在ethernetif.c函數(shù)中。在以太網(wǎng)幀的接收過(guò)程中以太網(wǎng)數(shù)據(jù)包通過(guò)底層接收程序傳至IP層,IP層判斷是TCP數(shù)據(jù)包還是UDP數(shù)據(jù)包,送至相應(yīng)數(shù)據(jù)傳輸層處理,數(shù)據(jù)傳輸層再將收到的數(shù)據(jù)傳至用戶應(yīng)用程序。在以太網(wǎng)幀的發(fā)送過(guò)程中,用戶程序選擇是通過(guò)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所示。

        圖5 系統(tǒng)軟件流程

        軟件主要完成初始化、等待接收以太網(wǎng)幀、通過(guò)串行接口將數(shù)據(jù)幀發(fā)送出去的任務(wù)。初始化包括創(chuàng)建netif網(wǎng)絡(luò)接口、SPI1接口、網(wǎng)絡(luò)控制器的PHY層、MAC層,使能接收中斷、初始化TCP服務(wù)器端。初始化完成后,等待上位機(jī)軟件TCP的客戶端與底層軟件的TCP服務(wù)器端建立連接。連接建立后整個(gè)系統(tǒng)就循環(huán)等待接收TCP客戶端發(fā)送的以太網(wǎng)數(shù)據(jù)幀,當(dāng)有以太網(wǎng)數(shù)據(jù)幀到達(dá)時(shí),產(chǎn)生接收中斷,接收到的數(shù)據(jù)幀從PHY層傳到MAC層,再傳到IP層,最終傳到TCP層進(jìn)行數(shù)據(jù)接收處理。應(yīng)用程序收到處理過(guò)的以太網(wǎng)數(shù)據(jù)幀,處理相應(yīng)的數(shù)據(jù),根據(jù)數(shù)據(jù)傳遞的信息通過(guò)SPI2或CAN總線串行通信接口將信息發(fā)送出去,以實(shí)現(xiàn)相應(yīng)的控制功能。

        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ù)包后通過(guò)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所示。

        圖6 TCP發(fā)送接收數(shù)據(jù)包

        結(jié) 語(yǔ)

        文中介紹了利用ENC424J600網(wǎng)絡(luò)控制器和LwIP協(xié)議棧實(shí)現(xiàn)以太網(wǎng)通信的過(guò)程,該系統(tǒng)不但體積小巧而且速度快、穩(wěn)定可靠,具有良好的應(yīng)用前景。

        此系統(tǒng)目前已應(yīng)用于網(wǎng)絡(luò)轉(zhuǎn)SPI通信來(lái)控制繼電器板卡的測(cè)試設(shè)備中。該繼電器測(cè)試設(shè)備稱為MATRIXRELAY(即矩陣?yán)^電器),每塊繼電器板卡上有46行×8列個(gè)繼電器,共有5塊繼電器板卡,即46×8×5個(gè)繼電器,通過(guò)打通該設(shè)備上的某一行或多行上的某兩點(diǎn)來(lái)對(duì)待測(cè)產(chǎn)品進(jìn)行相應(yīng)的測(cè)試。測(cè)試員通過(guò)電腦上的上位機(jī)指定需要打開(kāi)的繼電器序號(hào),向該系統(tǒng)發(fā)一幀網(wǎng)絡(luò)數(shù)據(jù),這幀數(shù)據(jù)包括需要打開(kāi)的繼電器屬于哪塊板卡、哪一行、哪一列等信息。通過(guò)該系統(tǒng)的處理,將數(shù)據(jù)轉(zhuǎn)為SPI串行數(shù)據(jù),再通過(guò)一系列移位寄存器的移位來(lái)控制相應(yīng)繼電器的打開(kāi)從而達(dá)到測(cè)試產(chǎn)品某兩端的目的。該測(cè)試設(shè)備在實(shí)際的運(yùn)行中非常穩(wěn)定可靠。

        [1]Microchip Technology Inc.ENC424J600/ENC624J600Data Sheet[EB/OL].[2011-10].http://cn.alldatasheet.com/datasheet-pdf/pdf/328640/MICROCHIP/ENC424J600.html.

        [2]劉海霞,李仁旺.ENC28J60在嵌入式系統(tǒng)接口上的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008(24):1-2.

        [3]陳雪梅.基于ENC28J60的嵌入式以太網(wǎng)/CAN網(wǎng)關(guān)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009(6):293-295.

        [4]查普爾,蒂特爾.TCP/IP協(xié)議原理與應(yīng)用[M].3版.北京:清華大學(xué)出版社,2009.

        [5]徐宇杰.TCP/IP協(xié)議深入分析[M].北京:清華大學(xué)出版社,2009.

        猜你喜歡
        底層以太網(wǎng)數(shù)據(jù)包
        航天企業(yè)提升采購(gòu)能力的底層邏輯
        基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        SmartSniff
        談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
        電子制作(2017年24期)2017-02-02 07:14:44
        一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計(jì)
        淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        回到現(xiàn)實(shí)底層與悲憫情懷
        視覺(jué)注意的數(shù)據(jù)包優(yōu)先級(jí)排序策略研究
        略論“底層”
        雜文選刊(2013年7期)2013-02-11 10:41:11
        亚洲av无码国产精品色| 一本久久a久久精品综合| 老司机在线精品视频网站| 国产96在线 | 欧美| 国产山东熟女48嗷嗷叫| 艳妇乳肉豪妇荡乳av无码福利| 久久久久中文字幕无码少妇| 亚洲韩国在线| 亚洲一区精品中文字幕| 国产免费激情小视频在线观看| 亚洲素人日韩av中文字幕| 天堂免费av在线播放| 亚洲熟妇自偷自拍另类| 天天躁夜夜躁狠狠是什么心态 | 天天躁夜夜躁狠狠躁婷婷| 精品日韩亚洲av无码| 亚洲日韩国产一区二区三区| 日本中文字幕一区二区高清在线| 亚洲综合国产一区二区三区| 国产亚洲精品久久久久婷婷瑜伽| 亚洲av无码电影网| 麻豆国产av尤物网站尤物| 无码人妻中文中字幕一区二区 | 九一精品少妇一区二区三区| 国产片在线一区二区三区| 日本女优在线一区二区三区 | 亚洲天堂av福利在线| 精品人妻一区二区三区浪人在线| 成人欧美一区二区三区在线| 欧美大屁股xxxx高跟欧美黑人 | 青青草最新在线视频观看| 一二三四在线观看韩国视频| 风流熟女一区二区三区| 色欲人妻aaaaaaa无码| 欧美成人精品午夜免费影视| 国产精品久久久久久无码| 欧美激情国产一区在线不卡| 免费av一区男人的天堂| 亚洲一区二区三区精品| 久久精品人人做人人爱爱| 韩国无码av片在线观看网站 |