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