LabViewFPGA數據傳輸技術
1 前言
本文引用地址:http://www.ex-cimer.com/article/201912/408513.htm西安某汽車電子有限公司生產的XLM油泵支架產品功能測試臺設計中,有一項針對高度阻值(TSG)的功能測試。該測試內容要求阻值電壓采樣與液位高度進行一一對應。使用傳統的采集方式難以保證采集的可靠性?;柙撛O計要求,本文提出了一種采用LabviewFPGA的數據傳輸技術,該技術能夠在高速采樣的前提下確保數據傳輸的穩定性與可靠性。
2.數據傳輸
數據傳輸技術主要用于多機通信領域,一般在數據交換過程中,為保證數據的穩定可靠傳輸而制定的特殊傳送規則。其傳輸過程也根據傳輸的物理介質而不同。具體而言可分為以下幾種:
1.1 基帶、頻帶和數字數據傳輸
①基帶傳輸是指由數據終端設備(DTE)送出的二進制“1”數據傳輸或“0”的電信號直接送到電路的傳輸方式?;鶐盘栁唇浾{制,可以經過碼形變換(或波形變換)進行驅動后直接傳輸。
②大多數傳輸信道是帶通型特性,基帶信號通不過。采用調制方法把基帶信號調制到信道帶寬范圍內進行傳輸,接收端通過解調方法再還原出基帶信號的方式,稱為頻帶傳輸。
③數字數據傳輸是利用數字話路傳輸數據信號的一種方式。
1.2 并行傳輸與串行傳輸
①并行傳輸是構成字符的二進制代碼在并行信道上同時傳輸的方式。
②串行傳輸是構成字符的二進制代碼在一條信道上以位(碼元)為單位,按時間順序逐位傳輸的方式。速度雖慢,但只需一條傳輸信道,投資小,易于實現,是數據傳輸采用的主要傳輸方式。也是目前計算機通信采取的一種主要方式。
1.3 異步傳輸和同步傳輸
①異步傳輸是字符同步傳輸的方式。當發送一個字符代碼時,字符前面要加一個“起”信號,長度為1個碼元寬,極性為“0”,即空號極性;而在發完一個字符后面加一個“止”信號,長度為1,1.5或2個碼元寬,極性為“1”,即傳號極性。接收端通過檢測起、止信號,即可區分出所傳輸的字符。字符可以連續發送,也可單獨發送,不發送字符時,連續發送停止信號。
②同步傳輸是位(碼元)同步傳輸方式。該方式必須在收、發雙方建立精確的位定時信號,以便正確區分每位數據信號。在傳輸中,數據要分成組(或稱幀),一幀含多個字符代碼或多個獨立碼元。在發送數據前,在每幀開始必須加上規定的幀同步碼元序列,接收端檢測出該序列標志后,確定幀的開始,建立雙方同步。接收端DCE從接收序列中提取位定時信號,從而達到位(碼元)同步。
1.4 單工、半雙工和全雙工傳輸
單工傳輸指數據只能按單一方向發送和接收;半雙工傳輸指數據可以在兩個方向傳輸但不能同時進行,即交替收、發;全雙工傳輸指數據可以在兩個方向同時傳輸,即同時收和發。一般四線線路為全雙工數據傳輸,二線線路可實現全雙工數據傳輸。
3.復用技術
復用技術是指一種在傳輸路徑上綜合多路信道,然后恢復原機制或解除終端各信道復用技術的過程,主要包括以下幾種:
頻分復用(FDM) ― 載波帶寬被劃分為多種不同頻帶的子信道,每個子信道可以并行傳送一路信號。FDM 用于模擬傳輸過程。
時分復用(TDM) ― 在交互時間間隔內在同一信道上傳送多路信號。TDM 廣泛用于數字傳輸過程。
碼分復用(CDM) ― 每個信道作為編碼信道實現位傳輸(特定脈沖序列)。這種編碼傳輸方式通過傳輸唯一的時間系列短脈沖完成,但在較長的位時間中則采用時間片斷替代。每個信道,都有各自的代碼,并可以在同一光纖上進行傳輸以及異步解除復用。
波分復用(WDM) ― 在一根光纖上使用不同的波長同時傳送多路光波信號。WDM 用于光纖信道。WDM 與 FDM 基于相同原理但是它應用于光纖信道上的光波傳輸過程。
粗波分復用(CWDM) - WDM 的擴張。每根光纖傳送4到8種波長,甚至更多。應用于中型網絡系統(區域或城域網)。
密集型波分復用(DWDM) - WDM 的擴展。典型的 DWDM 系統支持8種或以上波長。顯現系統支持上百種波長。
在數據通信中,復用技術的使用極大地提高了信道的傳輸效率,取得了廣泛地應用。多路復用技術就是在發送端將多路信號進行組合,然后在一條專用的物理信道上實現傳輸,接收端再將復合信號分離出來。多路復用技術主要分為兩大類:頻分多路復用(簡稱頻分復用)和時分多路復用(簡稱時分復用),波分復用和統計復用本質上也屬于這兩種復用技術。另外還有一些其他的復用技術,如碼分復用、極化波復用和空分復用等。
4. 基于網絡的傳輸
UDP是一個簡單的面向數據報的運輸層協議:進程的每個輸出操作都正好產生一個UDP數據報,并組裝成一份待發送的IP數據報。UDP數據報封裝成一份IP數據報的格式如圖1所示:
圖1 UDP數據格式
UDP不提供可靠性連接:它把應用程序傳給IP層的數據發送出去,但是并不保證它們能到達目的地。
TCP和UDP都使用相同的網絡層(IP)。TCP提供了一種可靠的面向連接的字節流運輸層服務。如圖2所示:
圖2 TCP數據格式
TCP向應用層提供與UDP完全不同的服務。TCP提供一種面向連接的、可靠的字節流服務。TCP將用戶數據打包構成報文段;它發送數據后啟動一個定時器,等待對端數據確認;另一端對收到的數據進行確認,對失序的數據重新排序,丟棄重復數據;TCP提供端到端的流量控制,并加以計算和驗證。
面向連接意味著兩個使用TCP的應用(通常是一個客戶和一個服務器)在彼此交換數據之前必須先建立一個TCP連接。這一過程與打電話很相似,先撥號振鈴,等待對方摘機說“喂”,然后才說明是誰。TCP傳輸協議連接過程:
首先建立連接,TCP用三個報文段完成連接的建立。這個過程也稱為三次握手(three-way handshake)。如圖所示:
圖3 TCP連接握手過程
終止一個連接要經過4次握手。如圖4所示:
圖4 TCP終止連接握手過程
數據發送必須經過接收方確認,并且有超時重傳等保障機制,這是TCP傳輸有一定保障的根本原因,如圖5所示:
圖5 TCP傳輸確認機制
可以看到,完成一次數據傳送,除了完成連接、終止連接外,至少還需要一個數據分組與一個ACK分組。
UDP與TCP提供不同的傳輸方式與不同的傳輸質量,TCP以增加網絡開銷的方式提供傳輸保障。在GPRS網絡實際測試,當網絡正常情況下,從GPRS DTU->GPRS網絡->互聯網->用戶數據中心這個通路上,UDP傳輸有效性>99%,TCP傳輸有效性≈100%
5. 基于LabvewFPGA的數據傳輸
基于LabviewFPGA的數據傳輸,是基于TCP/IP的一種改進方式。如圖6所示:
圖6 LabviewFPGA數據傳輸
這種方式主要用于FPGA架構的C-RIO系統與上位機通信時為保證底層數據能夠可靠傳輸的獨特數據流傳輸方式。其技術特點在于從FPGA底層進行數據構造,即將一般數據類型(如定點型,浮點型)轉換成計算機底層可識別的布爾數據類型進行數據構造,如圖7所示:
圖7 數據構造過程
當數據傳輸至RT層,通過數據解析的過程將FPGA的高速數據流進行數據識別并轉換至上位機可傳輸的數據格式,如圖8所示:
圖8 高速數據留轉換
為保證數據的不丟失,RT打包過程采用了重聯與數據殘留清空方式,以確保每次重聯的過程能夠進行可靠的數據傳輸。上位機的接收過程如圖9所示:
圖9 數據接收過程
當數據傳送至上位機后,將不同數據類型按照包頭加以解析,并按照構造數據類型進行數據重建。 過程如圖10所示:
圖10 數據解析及重建
6. 結論
基于LabviewFPGA數據傳輸方式主要用于高速數據流傳輸的情況,這種方式是在TCP/IP基礎上的一種改進傳輸方式。目前已成功應用在西安某汽車電子有限公司所生產的XLM生產線功能測試臺改造項目中。該項目要求在電機運行的過程中對電阻電壓進行高速可靠采樣并傳輸,采用基于Labview FPGA數據傳輸方式很好的解決了該問題,目前設備運行良好。
參考文獻
[1] He Yun Signal acquisition sysstem of engine base on labview [J]. Manufacturing & Automation, 2010, 9(s):192-194.
[2] 施偉年 凌海宏, GPRS網絡上數據傳輸協議, 電力系統通信2004,8:61-65
[3] 張銀鴻,李雙語,數據傳輸, 計算機技術學報 2011, 5:78-79
[4] 張峰,李平 等. 降采樣數據傳輸過程詳解, 航空計算技術2009, 18(2):65-68.
作者:代華斌,1980.10月生,自動控制理論專業碩士,長期從事測控領域項目開發工作。
評論