《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于DSP的網(wǎng)絡(luò)通信轉(zhuǎn)換系統(tǒng)設(shè)計
基于DSP的網(wǎng)絡(luò)通信轉(zhuǎn)換系統(tǒng)設(shè)計
來源:電子技術(shù)應(yīng)用2011年第3期
劉巖俊1, 閆海霞2, 張 磊1
1.中國科學(xué)院長春光學(xué)精密機械與物理研究所,吉林 長春130033; 2.吉林大學(xué) 電子學(xué)院,吉林 長春130012
摘要: 為了實現(xiàn)以太網(wǎng)數(shù)據(jù)與RS422串行通信接口之間的轉(zhuǎn)換,設(shè)計了采用TMS320F2812DSP和以太網(wǎng)控制器芯片AX88180實現(xiàn)的嵌入式系統(tǒng),給出了系統(tǒng)的總體方案、硬件結(jié)構(gòu)、數(shù)據(jù)交互方法以及軟件實現(xiàn)方法。在網(wǎng)絡(luò)通信速度為1 Gb/s、串行通信速度為230.4 kb/s的實驗環(huán)境下進行測試,測試結(jié)果表明,該方案設(shè)計簡單,運行穩(wěn)定可靠,具有一定的使用價值。
關(guān)鍵詞: DSP 控制 以太網(wǎng) 串行通信
中圖分類號: TN919
文獻標(biāo)識碼: A
文章編號: 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)用到各個領(lǐng)域中。傳統(tǒng)的使用計算機的網(wǎng)絡(luò)接口和串口轉(zhuǎn)換卡的方式,需要以計算機作為主要運算部件,在很多工業(yè)場合不方便使用[1-3]。數(shù)字信號處理器(DSP)芯片作為一種特殊的嵌入式微處理器系統(tǒng),是專門為實現(xiàn)各種數(shù)字信號處理算法而設(shè)計的,嵌入式網(wǎng)絡(luò)可以有效地用于不方便使用計算機的應(yīng)用場合,而嵌入式網(wǎng)絡(luò)開發(fā)的應(yīng)用前景十分廣闊,已經(jīng)成為研究的熱點[4-5]。
    根據(jù)實際項目的使用要求,本文使用TI公司的TMS320F2812 DSP芯片與Xilinx的FPGA芯片XC3S400以及ASIX公司的AX88180芯片完成了基于網(wǎng)卡通信控制系統(tǒng)。
1 方案設(shè)計
   系統(tǒng)以TI公司的TMS320F2812 DSP為中央處理器,該芯片是用于測控領(lǐng)域的16位定點DSP,處理速度達(dá)到150 MHz,其主要特點是采用哈佛總線結(jié)構(gòu),具有快速中斷響應(yīng)和處理能力,具有4  M線性程序地址與4 M線性數(shù)據(jù)地址,16位的數(shù)據(jù)總線,以及1 M尋址空間的地址總線;三個外部芯片選擇信號[6,7]。DSP負(fù)責(zé)通信數(shù)據(jù)信息的處理,接收網(wǎng)絡(luò)接口數(shù)據(jù)包,將其轉(zhuǎn)換成串行通信數(shù)據(jù)包,并且將接收到的串行通信數(shù)據(jù)返回給網(wǎng)絡(luò)接口。網(wǎng)絡(luò)接口控制芯片對收到的網(wǎng)絡(luò)數(shù)據(jù)進行處理,將以太網(wǎng)傳輸?shù)臄?shù)據(jù)格式轉(zhuǎn)換成數(shù)據(jù),與DSP處理器進行交互。采用Xilinx公司的Spartan系列的Spartan3-SC3S400芯片作為外部微處理器,該芯片有400 K門,8 M邏輯單元,32×28個CLB(Configurable Logic Block)內(nèi)部資源。可獲得的LUT門為7 168;可以使用的邏輯區(qū)為3 584[8]。FPGA完成以太網(wǎng)接口芯片AX88180的控制和UART實現(xiàn),采用DS90LV019進行TTL信號與差分信號轉(zhuǎn)換;DSP與FPGA之間采用總線方式進行數(shù)據(jù)讀寫操作。系統(tǒng)功能框圖如圖1所示。

2 硬件電路設(shè)計
    系統(tǒng)硬件設(shè)計分三部分: (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)、片選信號(XZCS0AND1)、DSP讀使能(XRD)、DSP寫使能(XWE)、外部保持請求(XHOLD)、外部保持應(yīng)答(XHOLDA)、外部準(zhǔn)備后信號(XREADY)、中斷控制信號XINT。DSP與FPGA連接原理框圖如圖2所示。

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

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

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

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

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

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