基于LabVIEW FPGA的數(shù)據(jù)傳輸技術(shù)
代華斌,秦占陽 (中國科學院?西安光學精密機械研究所,陜西?西安?710075)
摘? 要:數(shù)據(jù)傳輸就是依照適當?shù)囊?guī)程,經(jīng)過一條或多條鏈路,在數(shù)據(jù)源和數(shù)據(jù)宿之間傳送數(shù)據(jù)的過程。也表 示借助信道上的信號將數(shù)據(jù)從一處送往另一處的操作?;贚abVIEW FPGA數(shù)據(jù)傳輸技術(shù)是基于網(wǎng)絡(luò)傳輸?shù)囊?種,它具有TCP傳輸和UDP傳輸兩種方式,為了保證傳輸過程中不產(chǎn)生數(shù)據(jù)丟失,本文通過重新構(gòu)造數(shù)據(jù)類型 并通過打包與接包的方式進行數(shù)據(jù)交換,保證了數(shù)據(jù)在高速采樣條件下的連續(xù)性與穩(wěn)定性,為底層FPGA硬件 向上位機數(shù)據(jù)交換提供了一種嶄新的模式。
關(guān)鍵詞:FPGA;abview;TCP/IP;UDP;數(shù)據(jù)復(fù)用
0 引言
西安某汽車電子有限公司生產(chǎn)的XLM油泵支架產(chǎn) 品功能測試臺設(shè)計中,有一項針對高度阻值(TSG)的 功能測試。該測試內(nèi)容要求阻值電壓采樣與液位高度進 行一一對應(yīng)。使用傳統(tǒng)的采集方式難以保證采集的可靠 性?;柙撛O(shè)計要求,本文提出了一種采用LabVIEW FPGA的數(shù)據(jù)傳輸技術(shù),該技術(shù)能夠在高速采樣的前提 下確保數(shù)據(jù)傳輸?shù)姆€(wěn)定性與可靠性。
1 數(shù)據(jù)傳輸
數(shù)據(jù)傳輸技術(shù)主要用于多機通信領(lǐng)域,一般在數(shù)據(jù) 交換過程中,為保證數(shù)據(jù)的穩(wěn)定可靠傳輸而制定的特殊 傳送規(guī)則。其傳輸過程也根據(jù)傳輸?shù)奈锢斫橘|(zhì)而不同。 具體而言可分為以下幾種:
1.1 基帶、頻帶和數(shù)字數(shù)據(jù)傳輸
①基帶傳輸是指由數(shù)據(jù)終端設(shè)備(DTE)送出的二 進制“1”數(shù)據(jù)傳輸或“0”的電信號直接送到電路的傳 輸方式。基帶信號未經(jīng)調(diào)制,可以經(jīng)過碼形變換(或波 形變換)進行驅(qū)動后直接傳輸。
②大多數(shù)傳輸信道是帶通型特性,基帶信號通不 過。采用調(diào)制方法把基帶信號調(diào)制到信道帶寬范圍內(nèi)進 行傳輸,接收端通過解調(diào)方法再還原出基帶信號的方 式,稱為頻帶傳輸。
③數(shù)字數(shù)據(jù)傳輸是利用數(shù)字話路傳輸數(shù)據(jù)信號的一 種方式。
1.2 并行傳輸與串行傳輸
①并行傳輸是構(gòu)成字符的二進制代碼在并行信道上 同時傳輸?shù)姆绞健?nbsp;
②串行傳輸是構(gòu)成字符的二進制代碼在一條信道上 以位(碼元)為單位,按時間順序逐位傳輸?shù)姆绞?。?度雖慢,但只需一條傳輸信道,投資小,易于實現(xiàn),是 數(shù)據(jù)傳輸采用的主要傳輸方式。也是目前計算機通信采 取的一種主要方式。
1.3 異步傳輸和同步傳輸
①異步傳輸是字符同步傳輸?shù)姆绞健.敯l(fā)送1個字 符代碼時,字符前面要加1個“起”信號,長度為1個碼 元寬,極性為“0”,即空號極性;而在發(fā)完1個字符后 面加1個“止”信號,長度為1,1.5或2個碼元寬,極性為“1”,即傳號極性。接收端通過檢測起、止信號, 即可區(qū)分出所傳輸?shù)淖址?。字符可以連續(xù)發(fā)送,也可單 獨發(fā)送,不發(fā)送字符時,連續(xù)發(fā)送停止信號。
②同步傳輸是位(碼元)同步傳輸方式。該方式必 須在收、發(fā)雙方建立精確的位定時信號,以便正確區(qū)分 每位數(shù)據(jù)信號。在傳輸中,數(shù)據(jù)要分成組(或稱幀), 一幀含多個字符代碼或多個獨立碼元。在發(fā)送數(shù)據(jù)前, 在每幀開始必須加上規(guī)定的幀同步碼元序列,接收端檢 測出該序列標志后,確定幀的開始,建立雙方同步。接 收端DCE從接收序列中提取位定時信號,從而達到位 (碼元)同步。
1.4 單工、半雙工和全雙工傳輸
單工傳輸指數(shù)據(jù)只能按單一方向發(fā)送和接收;半雙 工傳輸指數(shù)據(jù)可以在2個方向傳輸?shù)荒芡瑫r進行,即 交替收、發(fā);全雙工傳輸指數(shù)據(jù)可以在2個方向同時傳 輸,即同時收和發(fā)。一般四線線路為全雙工數(shù)據(jù)傳輸, 二線線路可實現(xiàn)全雙工數(shù)據(jù)傳輸。
2 復(fù)用技術(shù)
復(fù)用技術(shù)是指一種在傳輸路徑上綜合多路信道,然 后恢復(fù)原機制或解除終端各信道復(fù)用技術(shù)的過程,主要 包括以下幾種:
頻分復(fù)用(FDM):載波帶寬被劃分為多種不同頻 帶的子信道,每個子信道可以并行傳送一路信號。FDM 用于模擬傳輸過程。
時分復(fù)用(TDM):在交互時間間隔內(nèi)在同一信道 上傳送多路信號。TDM 廣泛用于數(shù)字傳輸過程。
碼分復(fù)用(CDM):每個信道作為編碼信道實現(xiàn) 位傳輸(特定脈沖序列)。這種編碼傳輸方式通過傳輸 唯一的時間系列短脈沖完成,但在較長的位時間中則采 用時間片斷替代。每個信道,都有各自的代碼,并可以 在同一光纖上進行傳輸以及異步解除復(fù)用。
波分復(fù)用(WDM):在一根光纖上使用不同的 波長同時傳送多路光波信號。WDM 用于光纖信道。 WDM 與 FDM 基于相同原理但是它應(yīng)用于光纖信道上 的光波傳輸過程。
粗波分復(fù)用(CWDM):WDM 的擴張。每根光纖傳送4到8種波長,甚至更多。應(yīng)用于中型網(wǎng)絡(luò)系統(tǒng)(區(qū) 域或城域網(wǎng))。
密集型波分復(fù)用(DWDM):WDM 的擴展。典型 的 DWDM 系統(tǒng)支持8種或以上波長。顯現(xiàn)系統(tǒng)支持上 百種波長。
在數(shù)據(jù)通信中,復(fù)用技術(shù)的使用極大地提高了信道 的傳輸效率,取得了廣泛地應(yīng)用。多路復(fù)用技術(shù)就是在 發(fā)送端將多路信號進行組合,然后在一條專用的物理信 道上實現(xiàn)傳輸,接收端再將復(fù)合信號分離出來。多路復(fù) 用技術(shù)主要分為兩大類:頻分多路復(fù)用(簡稱頻分復(fù)用) 和時分多路復(fù)用(簡稱時分復(fù)用),波分復(fù)用和統(tǒng)計復(fù)用 本質(zhì)上也屬于這兩種復(fù)用技術(shù)。另外還有一些其他的復(fù) 用技術(shù),如碼分復(fù)用、極化波復(fù)用和空分復(fù)用等。
3 基于網(wǎng)絡(luò)的傳輸
基于網(wǎng)絡(luò)的傳輸一般分為TCP/IP傳輸與UDP傳輸 兩種。
UDP是簡單的面向數(shù)據(jù)報的運輸層協(xié)議:進程的每 個輸出操作都正好產(chǎn)生1個UDP數(shù)據(jù)報,并組裝成1份待 發(fā)送的IP數(shù)據(jù)報。UDP數(shù)據(jù)報封裝成1份IP數(shù)據(jù)報的格 式如圖1所示。
UDP不提供可靠性連接:它把應(yīng)用程序傳給IP層的 數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達目的地。
TCP和UDP都使用相同的網(wǎng)絡(luò)層(IP)。TCP提供 了一種可靠的面向連接的字節(jié)流運輸層服務(wù)。如圖2 所示:
TCP向應(yīng)用層提供與UDP完全不同的服務(wù)。TCP提 供一種面向連接的、可靠的字節(jié)流服務(wù)。TCP將用戶數(shù) 據(jù)打包構(gòu)成報文段;它發(fā)送數(shù)據(jù)后啟動1個定時器,等 待對端數(shù)據(jù)確認;另一端對收到的數(shù)據(jù)進行確認,對失 序的數(shù)據(jù)重新排序,丟棄重復(fù)數(shù)據(jù);TCP提供端到端的 流量控制,并加以計算和驗證。
面向連接意味著2個使用TCP的應(yīng)用(通常是1個客戶 和1個服務(wù)器)在彼此交換數(shù)據(jù)之前必須先建立1個TCP 連接。這一過程與打電話很相似,先撥號振鈴,等待對 方摘機說“喂”,然后才說明是誰。TCP傳輸協(xié)議連接 過程:
首先建立連接,TCP用3個報文段完成連接的建 立。這個過程也稱為3次握手(three-way handshake)。如 圖3所示。
終止1個連接要經(jīng)過4次握手。如圖4所示。
數(shù)據(jù)發(fā)送必須經(jīng)過接收方確認,并且有超時重傳等 保障機制,這是TCP傳輸有一定保障的根本原因,如圖 5所示。
可以看到,完成1次數(shù)據(jù)傳送,除了完成連接、終 止連接外,至少還需要1個數(shù)據(jù)分組與1個ACK分組。
UDP與TCP提供不同的傳輸方式與不同的傳輸質(zhì) 量,TCP以增加網(wǎng)絡(luò)開銷的方式提供傳輸保障。在 GPRS網(wǎng)絡(luò)實際測試,當網(wǎng)絡(luò)正常情況下,從GPRS DTU→GPRS網(wǎng)絡(luò)→互聯(lián)網(wǎng)→用戶數(shù)據(jù)中心這個通路 上,UDP傳輸有效性>99%,TCP傳輸有效性≈100%。
4 基于LabVIEW FPGA的數(shù)據(jù)傳輸
基于LabVIEW FPGA的數(shù)據(jù)傳輸,是基于TCP/IP的 一種改進方式。如圖6所示。
這種方式主要用于FPGA架構(gòu)的C-RIO系統(tǒng)與上位 機通信時為保證底層數(shù)據(jù)能夠可靠傳輸?shù)莫毺財?shù)據(jù)流 傳輸方式。其技術(shù)特點在于從FPGA底層進行數(shù)據(jù)構(gòu) 造,即將一般數(shù)據(jù)類型(如定點型、浮點型)轉(zhuǎn)換成計 算機底層可識別的布爾數(shù)據(jù)類型進行數(shù)據(jù)構(gòu)造,如圖7 所示。
當數(shù)據(jù)傳輸至RT層,通過數(shù)據(jù)解析的過程將FPGA 的高速數(shù)據(jù)流進行數(shù)據(jù)識別并轉(zhuǎn)換至上位機可傳輸?shù)臄?shù) 據(jù)格式,如圖8所示。
為保證數(shù)據(jù)的不丟失,RT打包過程采用了重聯(lián)與 數(shù)據(jù)殘留清空方式,以確保每次重聯(lián)的過程能夠進行 可靠的數(shù)據(jù)傳輸。上位機的接收過程如圖9所示。
當數(shù)據(jù)傳送至上位機后,將不同數(shù)據(jù)類型按照包 頭加以解析,并按照構(gòu)造數(shù)據(jù)類型進行數(shù)據(jù)重建。過 程如圖10所示。
5 結(jié)論
基于LabVIEW FPGA數(shù)據(jù)傳輸方式主要用于高速 數(shù)據(jù)流傳輸?shù)那闆r,這種方式是在TCP/IP基礎(chǔ)上的一 種改進傳輸方式。目前已成功應(yīng)用在西安某汽車電子 有限公司所生產(chǎn)的XLM生產(chǎn)線功能測試臺改造項目 中。該項目要求在電機運行的過程中對電阻電壓進行 高速可靠采樣并傳輸,采用基于LabVIEW FPGA數(shù)據(jù) 傳輸方式很好地解決了該問題,目前設(shè)備運行良好。
參考文獻:
[1] HE Y.Signal acquisition sysstem of engine base on LabVIEW [J].Manufacturing & Automation,2010(9):192-194.
[2] 施偉年,凌海宏. GPRS網(wǎng)絡(luò)上數(shù)據(jù)傳輸協(xié)議[J],電力系統(tǒng)通信, 2004(8):61-65.
[3] 張銀鴻,李雙語.數(shù)據(jù)傳輸[J],計算機技術(shù)學報,2011(5):7879.
[4] 張峰,李平,等.降采樣數(shù)據(jù)傳輸過程詳解[J]. 航空計算技術(shù),2009,18(2):65-68.
評論