《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP的網(wǎng)絡(luò)通信轉(zhuǎn)換系統(tǒng)設(shè)計(jì)
基于DSP的網(wǎng)絡(luò)通信轉(zhuǎn)換系統(tǒng)設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2011年第3期
劉巖俊1, 閆海霞2, 張 磊1
1.中國(guó)科學(xué)院長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林 長(zhǎng)春130033,; 2.吉林大學(xué) 電子學(xué)院,,吉林 長(zhǎng)春130012
摘要: 為了實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)與RS422串行通信接口之間的轉(zhuǎn)換,設(shè)計(jì)了采用TMS320F2812DSP和以太網(wǎng)控制器芯片AX88180實(shí)現(xiàn)的嵌入式系統(tǒng),,給出了系統(tǒng)的總體方案,、硬件結(jié)構(gòu)、數(shù)據(jù)交互方法以及軟件實(shí)現(xiàn)方法,。在網(wǎng)絡(luò)通信速度為1 Gb/s,、串行通信速度為230.4 kb/s的實(shí)驗(yàn)環(huán)境下進(jìn)行測(cè)試,測(cè)試結(jié)果表明,,該方案設(shè)計(jì)簡(jiǎn)單,,運(yùn)行穩(wěn)定可靠,具有一定的使用價(jià)值,。
關(guān)鍵詞: DSP 控制 以太網(wǎng) 串行通信
中圖分類(lèi)號(hào): TN919
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)03-0072-03
Application of CRC during HDLC protocol
Liu Yanjun1, Yan Haixia2, Zhang Lei1
1. Changchun Institute of Optics, Fine Mechanics and Physics, the Chinese Academy of Sciences, Changchun 130033, China; 2. Electronic Department, Jilin University,, Changchun 130012,China
Abstract: In order to realize the data conversion between the Ethernet and RS422 UART, an embbedded system based on TMS320F2812 DSP and Ethernet controller chip AX88180 is designed. The design, hardware structure, data alternation method, software flow chart are presented. The system is tested by 1 Gb/s Ethernet and 230.4 kb/s environment, experiments results show that the method is feasible, the simple design and stable correct results make this method very ascendant in practical application.
Key words : DSP; control; Ethernet; UART


    以太網(wǎng)接口和RS422串行通信接口作為目前應(yīng)用最廣泛的兩種通信接口,被應(yīng)用到各個(gè)領(lǐng)域中,。傳統(tǒng)的使用計(jì)算機(jī)的網(wǎng)絡(luò)接口和串口轉(zhuǎn)換卡的方式,,需要以計(jì)算機(jī)作為主要運(yùn)算部件,在很多工業(yè)場(chǎng)合不方便使用[1-3],。數(shù)字信號(hào)處理器(DSP)芯片作為一種特殊的嵌入式微處理器系統(tǒng),,是專(zhuān)門(mén)為實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法而設(shè)計(jì)的,嵌入式網(wǎng)絡(luò)可以有效地用于不方便使用計(jì)算機(jī)的應(yīng)用場(chǎng)合,而嵌入式網(wǎng)絡(luò)開(kāi)發(fā)的應(yīng)用前景十分廣闊,,已經(jīng)成為研究的熱點(diǎn)[4-5],。
    根據(jù)實(shí)際項(xiàng)目的使用要求,本文使用TI公司的TMS320F2812 DSP芯片與Xilinx的FPGA芯片XC3S400以及ASIX公司的AX88180芯片完成了基于網(wǎng)卡通信控制系統(tǒng)。
1 方案設(shè)計(jì)
   系統(tǒng)以TI公司的TMS320F2812 DSP為中央處理器,,該芯片是用于測(cè)控領(lǐng)域的16位定點(diǎn)DSP,處理速度達(dá)到150 MHz,,其主要特點(diǎn)是采用哈佛總線結(jié)構(gòu),具有快速中斷響應(yīng)和處理能力,,具有4  M線性程序地址與4 M線性數(shù)據(jù)地址,,16位的數(shù)據(jù)總線,以及1 M尋址空間的地址總線,;三個(gè)外部芯片選擇信號(hào)[6,,7]。DSP負(fù)責(zé)通信數(shù)據(jù)信息的處理,,接收網(wǎng)絡(luò)接口數(shù)據(jù)包,,將其轉(zhuǎn)換成串行通信數(shù)據(jù)包,并且將接收到的串行通信數(shù)據(jù)返回給網(wǎng)絡(luò)接口,。網(wǎng)絡(luò)接口控制芯片對(duì)收到的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行處理,,將以太網(wǎng)傳輸?shù)臄?shù)據(jù)格式轉(zhuǎn)換成數(shù)據(jù),與DSP處理器進(jìn)行交互。采用Xilinx公司的Spartan系列的Spartan3-SC3S400芯片作為外部微處理器,,該芯片有400 K門(mén),,8 M邏輯單元,32×28個(gè)CLB(Configurable Logic Block)內(nèi)部資源,??色@得的LUT門(mén)為7 168;可以使用的邏輯區(qū)為3 584[8],。FPGA完成以太網(wǎng)接口芯片AX88180的控制和UART實(shí)現(xiàn),采用DS90LV019進(jìn)行TTL信號(hào)與差分信號(hào)轉(zhuǎn)換,;DSP與FPGA之間采用總線方式進(jìn)行數(shù)據(jù)讀寫(xiě)操作。系統(tǒng)功能框圖如圖1所示,。

2 硬件電路設(shè)計(jì)
    系統(tǒng)硬件設(shè)計(jì)分三部分: (1)中央處理器TMS320F2812 DSP與FPGA之間的接口部分,,這部分負(fù)責(zé)系統(tǒng)的通信轉(zhuǎn)換控制;(2)網(wǎng)絡(luò)控制芯片與FPGA之間的接口,,這部分負(fù)責(zé)以太網(wǎng)數(shù)據(jù)與總線數(shù)據(jù)之間的轉(zhuǎn)換,;(3)UART接口,這部分負(fù)責(zé)串行通信數(shù)據(jù)串并轉(zhuǎn)換,。
2.1 DSP+FPGA硬件電路
    TMS320F2812作為中央處理器,;FPGA作為外部接口XINTF與DSP連接,連接內(nèi)容包括:地址總線Address(18~0),、數(shù)據(jù)總線(15~0),、片選信號(hào)(XZCS0AND1),、DSP讀使能(XRD)、DSP寫(xiě)使能(XWE),、外部保持請(qǐng)求(XHOLD),、外部保持應(yīng)答(XHOLDA)、外部準(zhǔn)備后信號(hào)(XREADY),、中斷控制信號(hào)XINT,。DSP與FPGA連接原理框圖如圖2所示。

    DSP處理器與FPGA處理器之間采用XINTF總線接口進(jìn)行數(shù)據(jù)交互,,F(xiàn)PGA作為DSP的一個(gè)外部擴(kuò)展區(qū),,DSP處理器需要通過(guò)讀、寫(xiě),、片選三個(gè)控制信號(hào),以及地址總線,、數(shù)據(jù)總線以訪問(wèn)外部SRAM的方式進(jìn)行讀寫(xiě)控制,控制信號(hào)通過(guò)DSP的外部I/O進(jìn)行。實(shí)現(xiàn)方法如下:首先在FPGA內(nèi)部構(gòu)建一個(gè)基于分布式塊區(qū)域異步IP核的SRAM,,該SRAM的數(shù)據(jù)寬度是16位,,深度是1 024,具有讀寫(xiě)控制信號(hào)WE,,讀時(shí)鐘RCLK和寫(xiě)時(shí)鐘WCLK,。讀時(shí)鐘RCLK由DSP的讀信號(hào)XRD賦值,寫(xiě)時(shí)鐘WCLK由DSP的寫(xiě)信號(hào)XWE賦值,,讀寫(xiě)控制信號(hào)WE由DSP的外部擴(kuò)展IO賦值,,當(dāng)DSP需要寫(xiě)外部SRAM時(shí),IO設(shè)置為低,;當(dāng)DSP需要讀外部SRAM時(shí),IO設(shè)置為高,。
2.2網(wǎng)絡(luò)接口
    網(wǎng)絡(luò)控制器選擇ASIX公司的AX88180芯片,,AX88180芯片是臺(tái)灣ASIX公司推出的全球第一款Non-PCI接口的千兆以太網(wǎng)絡(luò)控制芯片。
    通過(guò)FPGA芯片需要配置其控制信號(hào),,網(wǎng)絡(luò)接口芯片控制原理圖如圖3所示,。

2.3 UART接口
    UART接口芯片采用DS90LV019芯片,該芯片電壓是3.3 V,,接口是RS422/RS485接口與TTL電平轉(zhuǎn)換,,電路原理圖如圖4所示。

3 軟件設(shè)計(jì)
    系統(tǒng)軟件由兩部分組成,,DSP軟件和FPGA軟件,,其中DSP軟件負(fù)責(zé)系統(tǒng)的控制工作。FPGA負(fù)責(zé)系統(tǒng)底層工作,,包括網(wǎng)絡(luò)接口芯片的驅(qū)動(dòng)及數(shù)據(jù)轉(zhuǎn)換和UART接口的實(shí)現(xiàn),。
3.1 DSP軟件設(shè)計(jì)
    DSP作為系統(tǒng)的核心處理器,系統(tǒng)地控制全部工作過(guò)程。DSP首先完成上電初始化,,并進(jìn)行參數(shù)設(shè)置,,完成中斷源XINT設(shè)置、GPIO設(shè)置,,然后進(jìn)入主循環(huán)程序,,進(jìn)行系統(tǒng)需要的運(yùn)算處理。處理過(guò)程中,,DSP以中斷方式接收FPGA提供的中斷信號(hào),,該中斷信號(hào)表示網(wǎng)絡(luò)接口芯片AX88180已經(jīng)接收到完整的一幀UDP數(shù)據(jù)包,接收到中斷信號(hào)后,,DSP設(shè)置FPGA內(nèi)部的網(wǎng)絡(luò)接口SRAM為讀操作,,讀取接收到的網(wǎng)絡(luò)通信數(shù)據(jù)。進(jìn)行數(shù)據(jù)判斷與處理之后,,DSP需要通過(guò)FPGA內(nèi)部的發(fā)送SRAM向控制端返回?cái)?shù)據(jù),,DSP先把需要發(fā)送的數(shù)據(jù)寫(xiě)到FPGA內(nèi)的發(fā)送SRAM,這時(shí)SRAM的操作信號(hào)由DSP產(chǎn)生,,數(shù)據(jù)寫(xiě)好以后,,DSP需要產(chǎn)生一個(gè)低電壓有效的寬度為1 ?滋s的脈沖信號(hào),作為網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的起始信號(hào),。發(fā)送SRAM與接收SRAM是FPGA內(nèi)部建立的兩個(gè)獨(dú)立的SRAM,,這兩個(gè)SRAM可以并行操作。需要注意的是,,網(wǎng)絡(luò)接收的數(shù)據(jù)格式與SRAM內(nèi)順序保存的數(shù)據(jù)格式不同,,需要DSP進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。
    DSP處理器接收到數(shù)據(jù)包以后,,需要將接收到的網(wǎng)絡(luò)數(shù)據(jù)寫(xiě)給UART接口SRAM,,然后由UART接口完成數(shù)據(jù)發(fā)送。UART接口接收過(guò)程與網(wǎng)絡(luò)接口接收過(guò)程是一致的,。
    DSP接收網(wǎng)絡(luò)數(shù)據(jù)包流程圖如圖5所示,。

3.2 FPGA軟件設(shè)計(jì)
3.2.1 網(wǎng)絡(luò)接口芯片

    網(wǎng)絡(luò)接口操作是由FPGA使用VHDL語(yǔ)言實(shí)現(xiàn)的,所以接收和發(fā)送兩個(gè)進(jìn)程可以并行操作,。圖6是網(wǎng)絡(luò)接口發(fā)送流程圖,。

    當(dāng)網(wǎng)絡(luò)上有數(shù)據(jù)時(shí),AX88180對(duì)數(shù)據(jù)包進(jìn)行分析,,如果UDP數(shù)據(jù)包的目的地址,、源地址、端口號(hào)都正確,,進(jìn)入數(shù)據(jù)接收進(jìn)程,,按網(wǎng)絡(luò)格式把數(shù)據(jù)保存到FPGA的接收SRAM內(nèi),,這時(shí),接收SRAM的控制信號(hào)是由FPGA產(chǎn)生的,,包括寫(xiě)信號(hào),、寫(xiě)時(shí)鐘。數(shù)據(jù)接收完成后,,產(chǎn)生中斷信號(hào),,并且把SRAM的控制信號(hào)交給DSP。
    數(shù)據(jù)發(fā)送進(jìn)程如下:當(dāng)接收到DSP產(chǎn)生的發(fā)送脈沖后,,F(xiàn)PGA操作SRAM,,并且讀出數(shù)據(jù),封裝目的IP地址,、源IP地址,、端口號(hào)等固定格式,產(chǎn)生UDP數(shù)據(jù)包,,通過(guò)網(wǎng)絡(luò)發(fā)送,。    
3.2.2 UART接口
    UART接口與網(wǎng)絡(luò)接口一樣,都采用DSP的外接總線接口XINTF實(shí)現(xiàn),,通過(guò)兩個(gè)SRAM與DSP處理器進(jìn)行數(shù)據(jù)交互,。篇幅原因,這里不再重復(fù),。不同的是,,UART這里沒(méi)有采用專(zhuān)用的接口芯片,而是由FPGA使用VHDL語(yǔ)言實(shí)現(xiàn),,這樣對(duì)于程序控制更簡(jiǎn)單,。
4 實(shí)驗(yàn)結(jié)果
    本文提出的硬件設(shè)計(jì)已經(jīng)通過(guò)實(shí)驗(yàn)驗(yàn)證,系統(tǒng)在網(wǎng)絡(luò)通信速度為1 Gb/s、串行通信速度為230.4 kb/s,、8位數(shù)據(jù)位環(huán)境中運(yùn)行穩(wěn)定可靠,。
    本文設(shè)計(jì)了采用TMS320F2812DSP和以太網(wǎng)控制器芯片AX88180實(shí)現(xiàn)的嵌入式系統(tǒng),設(shè)計(jì)了系統(tǒng)的硬件電路,、以太網(wǎng)接口和UART接口及軟件程序。實(shí)驗(yàn)表明,,該電路實(shí)現(xiàn)簡(jiǎn)單,、工作穩(wěn)定,具有一定的實(shí)用價(jià)值,。
參考文獻(xiàn)
[1] 劉巖俊,,閆海霞. HDLC通訊協(xié)議中CRC的應(yīng)用[J].電子測(cè)量技術(shù).2010,33(3):21-23.
[2] 周益,周清根,,喬鵬,,等.基于FPGA+DSP微小型捷聯(lián)慣導(dǎo)系統(tǒng)的設(shè)計(jì)[J].電子測(cè)量技術(shù),,2008,31(2):119-122.
[3] 劉巖俊,閆海霞,何昕.基于FPGA 的HDLC 協(xié)議實(shí)現(xiàn)[J].電子器件,,2009,32(3):707-710.
[4] 徐義忠,孫苓生.基于FPGA 的測(cè)量數(shù)據(jù)存儲(chǔ)交換技術(shù)[J].電子技術(shù)應(yīng)用,,2008,34(1):62-64.
[5] 王海濤,段哲民.多路數(shù)據(jù)采集與網(wǎng)絡(luò)遠(yuǎn)程傳輸系統(tǒng)實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2008,16(3):421-423.
[6] 姜培培,裘燕青,傅志輝,,等.基于DSP和FPGA的多路型光纖光譜儀系統(tǒng)[J].光學(xué)精密工程,,2006,14(6):944-948.
[7] 萬(wàn)山明.TMS320F281xDSP原理及應(yīng)用實(shí)例[M]. 北京:北京航空航天大學(xué)出版社,2008.
[8] Xilinx Inc. Xilinx Spartan-3 Generation FPGA User Guide[S]. 2008.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。