趙亞范 王 坤 楊 帆 畢 濤
(1.海軍航空工程學院基礎實驗部 煙臺 264001)(2.海軍航空工程學院基礎部 煙臺 264001)
?
基于FPGA的高速并行數據傳輸系統*
趙亞范1王 坤2楊 帆1畢 濤1
(1.海軍航空工程學院基礎實驗部 煙臺 264001)(2.海軍航空工程學院基礎部 煙臺 264001)
該系統以FPGA為核心,通過兩個彼此獨立的FPGA核心板構成高速并行數據傳輸系統的發送端和接收端。傳輸協議采用12bit有效數據帶寬、5位循環冗余碼進行校驗編碼(CRC),總線傳輸速率可達24Mbps以上。接收端成功接收完數據后可通過液晶屏顯示數據內容,通過RS232總線上傳至PC機進行分析,傳輸速率9600bps。傳輸過程中通過核心板上的LED指示燈指示傳輸線路狀態。整個系統模塊化程度好、集成度高,充分發揮單片機靈活實用的特點和運算速度快的優勢。
FPGA; 校驗編碼; 并行傳輸; RS232
Class Number TP274.2
數據傳輸系統是硬件和軟件結合在一起的產物,在很多領域都有著廣泛的應用,隨著通信網絡的不斷發展,傳統的數據傳輸系統傳輸速率低,在傳輸的過程中不能校驗編碼是否正確,已經不能適應數據傳輸業務的發展[1]。本文介紹了一種基于FPGA為核心板的高速數據傳輸系統,可進行并行通信,具有傳輸速率高,誤碼率低的特點。
高速并行數據傳輸系統主要包括發送端、接收端、RS232接口、數據總線以及相應的輸入顯示設備組成。發送端、接收端采用Cyclone EP1C6Q240c8N芯片作為主芯片,通過按鍵可以進行通信數據設置和通信過程控制。發送端通過數碼管和LED指示燈顯示相關的發送數據和通信狀態,接收端通過LCD和LED指示燈進行相關顯示[2]。系統構成框圖如圖1所示。

圖1 系統構成總體框圖
發送端和接收端通過22根排線連接,其中12bit有效數據位,5bit冗余校驗位,5根握手協議信號線,傳輸數據時,發送端對12bit有效數據進行編碼,通過握手信號詢問接收端,接收端接收到握手信號后反饋給發送端允許發送;接收端接收完一組數據(12bit)后進行循環冗余解碼,并將解碼情況告知發送端,若錯誤則發送端重發[3]。
在一組數據的接收過程中,如果接收端連續10次解碼錯誤,則啟動導線故障檢測邏輯,分析接收到的12bit數據,并分析出導線故障,如兩根導線短接、一根導線斷接、或者某根導線恒為高或低。并將測試結果通過顯示設備顯示并報警。
主控模塊主要包括電源轉換模塊、FPGA芯片、4位共陽極數碼管、LED、按鍵開關、TG12864液晶顯示屏、MAX232芯片以及外圍的電阻電容等元件[4]。

圖2 通信系統詳細電路連接圖
5980個邏輯單元(LE)和92Kbit的片上RAM,有185個用戶I/O口,非常適合用于并行數據傳輸,晶振采用48Mhz。在數據通信時,FPGA1可以發送內置ROM文件給FPGA2,也可以通過按鍵設定隨機值進行發送,以檢測通信效果。FPGA2接收到數據后存儲至RAM,并可通過LCD12864顯示,或者通過232總線發送至電腦[5~6]。
連接線hsend、hrecv、dfinishi、error、clk_tx構成握手總線,其中hsend由FPGA1發送,為高表示告知FPGA2準備接收FPGA1發送的數據;hrecv由FPGA2發送至FPGA1,用于答復FPGA1可以發送數據,dfinishi由FPGA2發送,用于告知解碼成功(接收成功),error由FPGA2發送,用于告知解碼錯誤(接收失敗),請求重發[7]。
TG12864是漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內置8192個中文漢字、128個字符及64*256點陣顯示RAM,完全可以滿足接收端對于數據顯示的要求。設計時采用8位并行通信接口與FPGA進行通信。
電源模塊采用LM317電壓變化模塊,輸入電壓+5V,輸出為+3.3V和+1.5V。其中1.5V電壓主要是FPGA內置PLL電路需要的供電電壓。
軟件開發環境采用ALtera公司的QuartusⅡ 11環境,接收端和發送端分別進行獨立設計。發送端要實現的功能有:按鍵讀取、數碼管顯示、數據產生讀取、數據編碼、數據發送控制以及ROM存儲等[8]。在QuartusⅡ開發環境下采用Verilog HDL作為編程語言,將上述功能梳理為crc5模塊和crc5_test模塊,如圖3所示。

圖3 發送端程序模塊
crc5模塊采用5位冗余碼進行編碼,生成多項式設為G(x)=x^5+x^4+x^2+1,用于實現12bit的有效數據的編碼和發送,crc5_test用于手動產生12bit發送數據,并顯示crc5模塊計算得出的5bit校驗碼。
接收端要實現的功能主要包括接收數據、解碼、傳輸狀態判斷、LCD顯示、232通信等功能。功能模塊圖如圖4所示。
當接收端接收到hsend信號時,將hrecv信號置高,表示可以進行數據通信。接收完畢后,接收端對數據進行解碼與判斷,如果解碼正確,則將dfinish置高,高速發送端發送正確;如果解碼錯誤,則高速發送端解碼錯誤,發送端重發數據[9~10]。具體的通信時序圖如圖5所示。

圖4 接收端功能圖

圖5 通信時序圖
為了驗證本系統的可靠性,對本系統的誤碼率和傳輸速率進行了測試。

表1 誤碼率測試數據

表2 傳輸速度測試數據
由表1可以看出,傳輸系統的誤碼率可控制在0.05%以下,由表2可以看出,系統的傳輸速度可達到24Mbps,實現了高速的特點。
本系統著重于軟件的設計,盡量提高計算速度和優化硬件設計,實現軟硬件的合理設置。提高系統的整體功能和穩定性,系統以FPGA為核心器件,利用軟件編程,實現數據傳輸,系統穩定,可靠性高,實現了高速并行數據傳輸功能。傳輸高效、誤碼率低、傳輸距離較長,當導線出現問題時,接收器能自行報警。數據傳輸的結果顯示明了,便于分析。接收器自行報警后接收端能實現數據糾錯功能,傳輸速度達到24Mbps,系統能夠自行分析數據傳輸的誤碼率和傳輸效率。具有實際的應用前景。
[1] 丁瑞卿,孫毅剛,張紅穎.基于DSP的USB數據傳輸系統設計[J].現代電子技術,2009(18):25-27.
[2] 林浩杰.基于FPGA和USB數據傳輸電路的設計[J].國外電子測量技術,2008,27(3):50-51.
[3] 李麗軍,王代華,祖靜.基于CC1100的無線數據傳輸系統設計[J].2007,26(12):12-13.
[4] 焦艷,劉勇智.基于FPGA多通道通用總線數據傳輸系統的設計[J].空軍工程大學學報(自然科學版),2006,7(3):41-42.
[5] 羅蔚,方康羚.基于C8051F02X的無線數據傳輸系統[J].現代電子技術,2009(9):59-61.
[6] 許佳龍,張一聞,劉建平.基于TMS320C6713的USB數據傳輸系統設計[J].現代電子技術,2011,34(22):80-82.
[7] 吳昊,嚴勝剛,薛雙喜.基于W5300的以太網數據傳輸系統的設計與實現[J].電子設計工程,2012,20(9):93-94.
[8] 軒志偉,軒春青,張志杰,等.基于ARM+WiFi無線數據傳輸系統的設計[J].測控技術,2013,32(12):53-55.
[9] 王懷俠,王永,王首浩.基于DSP+FPGA數據傳輸系統的實現[J].電子測量技術,2013,36(11):100-101.
[10] 張杰,胡世安,龍子夜,等.基于GPRS的無線數據傳輸系統及其應用探討[J].電子測量與儀器學報,2009(增刊):155-156.
High Speed Parallel Data Transmission System Based on FPGA
ZHAO Yafan1WANG Kun2YANG Fan1BI Tao1
(1. Department of Basic Experiment, Naval Aeronautical and Astronautical University, Yantai 264001) (2. Department of Basic, Naval Aeronautical and Astronautical University, Yantai 264001)
This system takes FPGA as the core, while the sender and the receiver of high-speed parallel data transmission system have been constituted by two independent FPGA core boards. Transfer protocol adopts 12 bit effective data bandwidth and five cyclic redundancy check code(CRC), and transmission rate of bus can reach more than 24 megabits per second. The receiver can be displayed panel data content by LCD after successfully receiving the data which is analyzed by uploading to the PC through the RS232 bus with the transmission rate 9600 BPS. The state of transmission lines is indicated through the LED indicator light on the core board in the process of transmission. The whole system with good modular degree and high integration plays full advantage of flexible and fast practical computing speed.
FPGA, check code, parellel data transmission, RS232
2015年3月5日,
2015年4月28日
趙亞范,女,工程師,研究方向:可編程邏輯器件。王坤,男,碩士研究生,講師,研究方向:可編程邏輯器件。楊帆,男,工程師,研究方向:可編程邏輯器件。畢濤,男,工程師,研究方向:可編程邏輯器件。
TP274.2
10.3969/j.issn.1672-9730.2015.09.019