LabViewFPGA數(shù)據(jù)傳輸技術(shù)
1 前言
本文引用地址:http://m.butianyuan.cn/article/201912/408513.htm西安某汽車電子有限公司生產(chǎn)的XLM油泵支架產(chǎn)品功能測試臺設(shè)計中,有一項針對高度阻值(TSG)的功能測試。該測試內(nèi)容要求阻值電壓采樣與液位高度進行一一對應(yīng)。使用傳統(tǒng)的采集方式難以保證采集的可靠性。基予該設(shè)計要求,本文提出了一種采用LabviewFPGA的數(shù)據(jù)傳輸技術(shù),該技術(shù)能夠在高速采樣的前提下確保數(shù)據(jù)傳輸?shù)姆€(wěn)定性與可靠性。
2.?dāng)?shù)據(jù)傳輸
數(shù)據(jù)傳輸技術(shù)主要用于多機通信領(lǐng)域,一般在數(shù)據(jù)交換過程中,為保證數(shù)據(jù)的穩(wěn)定可靠傳輸而制定的特殊傳送規(guī)則。其傳輸過程也根據(jù)傳輸?shù)奈锢斫橘|(zhì)而不同。具體而言可分為以下幾種:
1.1 基帶、頻帶和數(shù)字?jǐn)?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ù)字?jǐn)?shù)據(jù)傳輸是利用數(shù)字話路傳輸數(shù)據(jù)信號的一種方式。
1.2 并行傳輸與串行傳輸
①并行傳輸是構(gòu)成字符的二進制代碼在并行信道上同時傳輸?shù)姆绞健?/p>
②串行傳輸是構(gòu)成字符的二進制代碼在一條信道上以位(碼元)為單位,按時間順序逐位傳輸?shù)姆绞健K俣入m慢,但只需一條傳輸信道,投資小,易于實現(xiàn),是數(shù)據(jù)傳輸采用的主要傳輸方式。也是目前計算機通信采取的一種主要方式。
1.3 異步傳輸和同步傳輸
①異步傳輸是字符同步傳輸?shù)姆绞健.?dāng)發(fā)送一個字符代碼時,字符前面要加一個“起”信號,長度為1個碼元寬,極性為“0”,即空號極性;而在發(fā)完一個字符后面加一個“止”信號,長度為1,1.5或2個碼元寬,極性為“1”,即傳號極性。接收端通過檢測起、止信號,即可區(qū)分出所傳輸?shù)淖址W址梢赃B續(xù)發(fā)送,也可單獨發(fā)送,不發(fā)送字符時,連續(xù)發(fā)送停止信號。
②同步傳輸是位(碼元)同步傳輸方式。該方式必須在收、發(fā)雙方建立精確的位定時信號,以便正確區(qū)分每位數(shù)據(jù)信號。在傳輸中,數(shù)據(jù)要分成組(或稱幀),一幀含多個字符代碼或多個獨立碼元。在發(fā)送數(shù)據(jù)前,在每幀開始必須加上規(guī)定的幀同步碼元序列,接收端檢測出該序列標(biāo)志后,確定幀的開始,建立雙方同步。接收端DCE從接收序列中提取位定時信號,從而達到位(碼元)同步。
1.4 單工、半雙工和全雙工傳輸
單工傳輸指數(shù)據(jù)只能按單一方向發(fā)送和接收;半雙工傳輸指數(shù)據(jù)可以在兩個方向傳輸?shù)荒芡瑫r進行,即交替收、發(fā);全雙工傳輸指數(shù)據(jù)可以在兩個方向同時傳輸,即同時收和發(fā)。一般四線線路為全雙工數(shù)據(jù)傳輸,二線線路可實現(xiàn)全雙工數(shù)據(jù)傳輸。
3.復(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ù)用等。
4. 基于網(wǎng)絡(luò)的傳輸
基于網(wǎng)絡(luò)的傳輸一般分為TCP/IP傳輸與UDP傳輸兩種。
UDP是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議:進程的每個輸出操作都正好產(chǎn)生一個UDP數(shù)據(jù)報,并組裝成一份待發(fā)送的IP數(shù)據(jù)報。UDP數(shù)據(jù)報封裝成一份IP數(shù)據(jù)報的格式如圖1所示:
圖1 UDP數(shù)據(jù)格式
UDP不提供可靠性連接:它把應(yīng)用程序傳給IP層的數(shù)據(jù)發(fā)送出去,但是并不保證它們能到達目的地。
TCP和UDP都使用相同的網(wǎng)絡(luò)層(IP)。TCP提供了一種可靠的面向連接的字節(jié)流運輸層服務(wù)。如圖2所示:
圖2 TCP數(shù)據(jù)格式
TCP向應(yīng)用層提供與UDP完全不同的服務(wù)。TCP提供一種面向連接的、可靠的字節(jié)流服務(wù)。TCP將用戶數(shù)據(jù)打包構(gòu)成報文段;它發(fā)送數(shù)據(jù)后啟動一個定時器,等待對端數(shù)據(jù)確認(rèn);另一端對收到的數(shù)據(jù)進行確認(rèn),對失序的數(shù)據(jù)重新排序,丟棄重復(fù)數(shù)據(jù);TCP提供端到端的流量控制,并加以計算和驗證。
面向連接意味著兩個使用TCP的應(yīng)用(通常是一個客戶和一個服務(wù)器)在彼此交換數(shù)據(jù)之前必須先建立一個TCP連接。這一過程與打電話很相似,先撥號振鈴,等待對方摘機說“喂”,然后才說明是誰。TCP傳輸協(xié)議連接過程:
首先建立連接,TCP用三個報文段完成連接的建立。這個過程也稱為三次握手(three-way handshake)。如圖所示:
圖3 TCP連接握手過程
終止一個連接要經(jīng)過4次握手。如圖4所示:
圖4 TCP終止連接握手過程
數(shù)據(jù)發(fā)送必須經(jīng)過接收方確認(rèn),并且有超時重傳等保障機制,這是TCP傳輸有一定保障的根本原因,如圖5所示:
圖5 TCP傳輸確認(rèn)機制
可以看到,完成一次數(shù)據(jù)傳送,除了完成連接、終止連接外,至少還需要一個數(shù)據(jù)分組與一個ACK分組。
UDP與TCP提供不同的傳輸方式與不同的傳輸質(zhì)量,TCP以增加網(wǎng)絡(luò)開銷的方式提供傳輸保障。在GPRS網(wǎng)絡(luò)實際測試,當(dāng)網(wǎng)絡(luò)正常情況下,從GPRS DTU->GPRS網(wǎng)絡(luò)->互聯(lián)網(wǎng)->用戶數(shù)據(jù)中心這個通路上,UDP傳輸有效性>99%,TCP傳輸有效性≈100%
5. 基于LabvewFPGA的數(shù)據(jù)傳輸
基于LabviewFPGA的數(shù)據(jù)傳輸,是基于TCP/IP的一種改進方式。如圖6所示:
圖6 LabviewFPGA數(shù)據(jù)傳輸
這種方式主要用于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所示:
圖7 數(shù)據(jù)構(gòu)造過程
當(dāng)數(shù)據(jù)傳輸至RT層,通過數(shù)據(jù)解析的過程將FPGA的高速數(shù)據(jù)流進行數(shù)據(jù)識別并轉(zhuǎn)換至上位機可傳輸?shù)臄?shù)據(jù)格式,如圖8所示:
圖8 高速數(shù)據(jù)留轉(zhuǎn)換
為保證數(shù)據(jù)的不丟失,RT打包過程采用了重聯(lián)與數(shù)據(jù)殘留清空方式,以確保每次重聯(lián)的過程能夠進行可靠的數(shù)據(jù)傳輸。上位機的接收過程如圖9所示:
圖9 數(shù)據(jù)接收過程
當(dāng)數(shù)據(jù)傳送至上位機后,將不同數(shù)據(jù)類型按照包頭加以解析,并按照構(gòu)造數(shù)據(jù)類型進行數(shù)據(jù)重建。 過程如圖10所示:
圖10 數(shù)據(jù)解析及重建
6. 結(jié)論
基于LabviewFPGA數(shù)據(jù)傳輸方式主要用于高速數(shù)據(jù)流傳輸?shù)那闆r,這種方式是在TCP/IP基礎(chǔ)上的一種改進傳輸方式。目前已成功應(yīng)用在西安某汽車電子有限公司所生產(chǎn)的XLM生產(chǎn)線功能測試臺改造項目中。該項目要求在電機運行的過程中對電阻電壓進行高速可靠采樣并傳輸,采用基于Labview FPGA數(shù)據(jù)傳輸方式很好的解決了該問題,目前設(shè)備運行良好。
參考文獻
[1] He Yun Signal acquisition sysstem of engine base on labview [J]. Manufacturing & Automation, 2010, 9(s):192-194.
[2] 施偉年 凌海宏, GPRS網(wǎng)絡(luò)上數(shù)據(jù)傳輸協(xié)議, 電力系統(tǒng)通信2004,8:61-65
[3] 張銀鴻,李雙語,數(shù)據(jù)傳輸, 計算機技術(shù)學(xué)報 2011, 5:78-79
[4] 張峰,李平 等. 降采樣數(shù)據(jù)傳輸過程詳解, 航空計算技術(shù)2009, 18(2):65-68.
作者:代華斌,1980.10月生,自動控制理論專業(yè)碩士,長期從事測控領(lǐng)域項目開發(fā)工作。
評論