《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于MLVDS和USB3.0的多節點數據傳輸系統設計與實現
基于MLVDS和USB3.0的多節點數據傳輸系統設計與實現
2019年電子技術應用第1期
王紅亮,王柳明
中北大學 電子測試技術重點實驗室,山西 太原030051
摘要: 針對數據采集系統中上位機無法與多節點采集設備高速通信的問題,設計了一種基于MLVDS接口和USB3.0接口的數據傳輸系統。該傳輸系統采用CYUSB3014接口芯片實現計算機與FPGA的高速數據傳輸,采用ADN4693E接口芯片完成多節點數據傳輸,以FPGA作為核心控制器,并基于MLVDS自定義協議解析多節點通信邏輯,實現MLVDS接口與USB3.0接口之間的數據交互。測試結果表明,該系統數據轉換結果準確、可靠,實現了上位機與多節點數據采集設備間的高速通信。
中圖分類號: TN95
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182003
中文引用格式: 王紅亮,王柳明. 基于MLVDS和USB3.0的多節點數據傳輸系統設計與實現[J].電子技術應用,2019,45(1):42-45,50.
英文引用格式: Wang Hongliang,Wang Liuming. Design and implementation of multi-node data transmission system based on MLVDS and USB3.0[J]. Application of Electronic Technique,2019,45(1):42-45,50.
Design and implementation of multi-node data transmission system based on MLVDS and USB3.0
Wang Hongliang,Wang Liuming
Key Laboratory of Instrumentation Science & Dynamic Measurement,North University of China,Taiyuan 030051,China
Abstract: Aiming at the problem that the host computer can not communicate with the multi-node acquisition device at high speed in the distributed data acquisition system,a data converter based on MLVDS interface and USB3.0 interface is designed. The converter uses CYUSB3014 interface chip to achieve high-speed data transmission between computer and FPGA, uses ADN4693E interface chip to complete multi-node data transmission, uses FPGA as the core controller, and resolves multi-node communication logic based on MLVDS custom protocol to implement data interaction between MLVDS interface and USB3.0 interfaces. The test results show that the data conversion result of the converter is accurate and reliable, and the high-speed communication between the host computer and the multi-node data acquisition equipment is realized.
Key words : data transmission;USB3.0;high speed communication;MLVDS

0 引言

    在各種測試現場中,數據采集單元往往分布在不同的地方,數據采集具有速度快、數據量大的特點,且對采集系統的實時性要求越來越高。為了將分布在多處的傳感器采集的大量數據進行統一的分析和管理,需要實現多節點的高速互連通信[1]MLVDS支持多節點互連的拓撲結構,可提供較高的數據傳輸速率(理論上高達500 Mb/s)和更低的功耗[2],實現多節點采集數據的可靠傳輸;USB3.0接口作為計算機的通用接口,其理論傳輸速率(5 Gb/s)是USB2.0接口的10倍[3]。設計中采用賽普拉斯USB3.0接口芯片CYUSB3014作為FPGA同計算機通信的橋梁,采用SN65MLVD203接口芯片完成多節點數據傳輸,在此基礎上實現了多節點數據采集系統與計算機之間高速傳輸。

1 系統總體框架設計

    本文設計的MLVDS和USB3.0接口數據傳輸系統結構框圖如圖1所示。該傳輸系統主要由USB3.0模塊、FPGA主控模塊、MLVDS通信模塊模塊組成,系統硬件結構主要包括:FPGA、DDR3緩存芯片、USB3.0接口芯片、MLVDS接口芯片,選用Xilinx公司的Spartan-6系列可編程邏輯器件6slx16csg324芯片為核心控制器,完成對傳輸系統整體邏輯的控制。

ck1-t1.gif

    系統上電后,FPGA主控模塊對MLVDS總線線上各節點的采集模塊進行初始化配置,并啟動發送數據包進程與接收數據包進程來監測多個節點的運行狀態。各節點采集的數據經過編幀之后將數據緩存到采集模塊的DDR3中,當主節點需要讀取某個節點的數據時,從節點通過MLVDS通信模塊將數據傳輸到MLVDS接口芯片,再通過總線將數據發送至主節點,主節點完成數據解析后將有效數據存入DDR3中。同時,USB3.0通信模塊讀取DDR3中的緩存數據后,通過USB3.0接口上傳到上位機。在此過程中,上位機負責指令的下發和采集數據的分析與處理以及各節點上傳的狀態字的分析,指令下發過程與數據上傳過程類似,數據通過USB3.0接口下發至USB3.0接口芯片,然后經FPGA接收數據,發送至MLVDS通信模塊,最后再將數據發送至各個節點,各個節點會同時接收到數據,各節點接收到數據后只響應屬于自己的指令。

2 硬件電路設計

2.1 MLVDS接口電路設計

    MLVDS驅動接收器、數字隔離器、信號連接器件三部分組成了MLVDS多節點總線傳輸硬件電路,根據需求,選用ADI公司推出的ADN4693E全雙工通信芯片作為MLVDS驅動接收器,數字隔離芯片和電源隔離芯片分別選用的是ADuM3442和ADuM5000,以此來降低來自其他電路的影響。

    ADN4639E是ADI公司發布的全雙工MLVDS驅動接收器,內置驅動器和接收器且互不干擾,最高可支持200 Mb/s的數據速率,可應用于時鐘信號傳輸、背板數據傳輸等應用中[4]。MLVDS總線傳輸結構示意圖如圖2所示,在傳輸節點間通過異步串行通信方式實現數據位同步,數據通過差分信號傳輸,每個從節點都可以同時接收主節點發送的指令,各個從節點只會對屬于自己的指令做出響應,如某個從節點收到傳數據指令,則打開驅動器使能端來驅動總線,每一個時刻,各個從節點中只有一個驅動器有效,這樣就避免了多個從節點同時驅動總線所引起的主節點接收數據亂碼。

ck1-t2.gif

    本設計中,采用ADuM3442芯片實現對各個節點上MLVDS芯片驅動器和接收器的單端與控制器引腳之間的數字隔離,防止電路文波對接口電路造成的電平漂移,其硬件原理圖如圖3所示。

ck1-t3.gif

    設計采用ADuM5000對MLVDS總線通路提供電源隔離電路,該電路實現了數據與電源的完整隔離,保證該電路能夠應對高電壓瞬變的影響,隔離電路如圖4所示。

ck1-t4.gif

2.2 USB3.0接口電路設計

    USB3.0接口芯片選用的是賽普拉斯公司推出的FX3系列CYUSB3014芯片,其靈活性高,具備通用可編程接口GPIF II,能保證其與絕大多數控制器大容量數據的高速通信。不僅如此,其還具備一個UART接口[5]。本設計中,UART接口用于指令的下發和狀態字的上傳,GPIF II用于高速大容量數據的上傳。

    設計中將GPIF II接口配置成同步從FIFO工作模式,主控器FPGA與GPIF II接口的數據、地址和控制總線對接。FPGA可通過GPIF II接口對FX3的內部緩沖區的數據進行讀寫操作,滿足大容量數據高速傳輸的要求。同時,系統中的指令和狀體字可通過UART 接口進行傳輸,FX3與FPGA的連接框圖如圖5所示。

ck1-t5.gif

3 邏輯程序設計

    系統硬件邏輯程序設計主要完成系統初始化、USB3.0傳輸、MLVDS總線通信塊以及數據轉換等功能。

3.1 USB3.0傳輸模塊

    為了實現下位機與上位機的通信,FPGA通過GPIF II接口和UART接口來訪問FX3內部的數據緩沖區,GPIF II接口信號說明如表1所示。

ck1-b1.gif

    FPGA通過GPIF II接上傳數據時,首先發送FX3內部緩沖區的地址,然后拉低片選信號SLCS#使GPIF II端口處于選通狀態,當PCLK上升沿來臨且FLAGB是高電平狀態時,使SLWR#信號處于低電平狀態,同時把有效數據驅動到并行總線上,數據就可實現寫入操作,數據寫入結束后,將SLWR#信號和SLCS#信號拉高。當需要傳輸短數據包時,在最后一個數據時鐘將PKTEND#拉低,數據傳輸完成后再拉高即可。FPGA讀取GPIF II接口數據過程與上傳數據過程類似,讀取過程中需要將SLOE#拉高,在此系統中GPIF II口主要作為上傳大容量數據使用。FX3還具備一個串口通道,當下發指令和上傳狀態字時,可使用此通道。

3.2 MLVDS通信模塊

    MLVDS總線接口簡單,只規定了總線物理層的電氣特性,并沒有涉及高層協議,MLVDS通信控制模塊利用FPGA實現MLVDS總線通信協議的數據鏈路層以及物理層的數據傳輸設計。在物理層中完成傳輸數據的編碼、解碼、位同步以及幀同步等功能,按照MLVDS通信協議在數據鏈路層中完成數據封裝拆裝、總線仲裁、差錯控制、報文濾波以及時序控制等方面的功能及實現[6]

    在執行通信流程時,有效數據將在MLVDS通信模塊中根據自定義通信協議打包和解包。數據包中的標識符表示對底層節點設備操作,分為數據的上傳和命令的下發。數據包中的目的地址表示傳輸從節點的地址信息。ADN4693E芯片把串化數據轉化為差分信號傳輸到MLVDS傳輸總線,保證數據在底層總線上傳輸的可靠性。

    MLVDS通信模塊向總線上發送的數據包由以下7個字段構成,各字段的含義如表2所示。

ck1-b2.gif

3.3 數據轉換模塊

    數據轉換模塊主要實現USB3.0傳輸模塊和MLVDS通信模塊之間的數據轉化。上位機發送命令時,數據通過USB3.0接口傳輸到數據轉換器,FPGA通過GPIF II接口檢測標志位判斷到USB3.0通信模塊已接收到數據后,將數據讀到數據轉換模塊中,并將有效數據轉化為8 bit數據,數據寫入命令緩存FIFO中實現數據跨時鐘的同步。在FIFO讀信號上升沿時將數據從FIFO中讀入到MLVDS通信模塊中,在命令解析模塊中通過比對命令寄存器組中值,確定命令的執行功能、對象、觸發機制等,重新生成命令數據幀。在總線管理器中按MLVDS總線通信協議添加起始、仲裁場、校驗位、終止位組成MLVDS數據包格式,然后轉為串行數據發送至MLVDS接口模塊,在該模塊中調用實現 MLVDS的發送模塊,數據通過發送端口經ADN4693E芯片發送給目標底層設備,完成一次發送。

    接收上傳數據時,當MLVDS的接收模塊端口檢測到數據起始位有效時開始接收,在物理信令層中完成傳輸數據的同步后,將數據轉化為并行數據傳輸給MLVDS總線管理模塊。對MLVDS接收的傳輸數據進行CRC校驗正確后,有效數據在數據有效標志信號為高的條件下傳輸到DDR3緩存模塊中,將有效采集數據、節點信息及通道地址信息寫入DDR3中,實現大量數據緩存,使回傳數據速率處于可控范圍。接著USB3.0通信模塊從DDR3緩存模塊中讀出數據,并組成32 bit數據傳輸至USB3.0芯片,在 FPGA 的控制下,將數據上傳到上位機。

4 測試結果

    系統測試平臺由數據源、MLVDS-USB3.0轉換器以及上位機搭建而成,在測試過程中,信號源產生8 bit遞增數,通過從節點MLVDS驅動器后將差分串行數據驅動到數據總線上,然后主節點通過MLVDS接收器接收總線差分信號。上位機通過CYUSB3014的UART接口下發數據讀命令,下位機解碼指令后,將MLVDS接收器接收的數據通過CYUSB3014的GPIF II接口上傳給上位機。通過ChipScope  Pro抓取的GPIF II接收數據的時序圖如圖6所示。

ck1-t6.gif

    當cnt_state=6,此時FPGA通過USB_DQ[31:0]將數據寫入內部數據緩存區,cnt為寫入數據的計數器,第一個32 bit數據(cnt=01時)表示多鏈路數據傳輸的地址信息,其中,“0xB0”和“0x16”分別為地址信息的起始標識和終止標識。第二個32 bit數據(cnt=02時)表示此包數據地址信息和有效數據的長度和。其中,數據包起始標識為“0xA2”,通信雙方的地址信息為“0xC1”和“0xD2”,“0xFF”表示此數據包長度為255 B。第三個32 bit數據為數據包正文,每16 B嵌入一個“0x55”作為為同步信息字,檢驗數據是否傳輸正確。

    上位機將上傳的數據保存后,用EmEditor軟件打開數據文件如圖7所示,通過上傳數據和數據源對比,上傳的數據和MLVDS總線系統傳輸的數據一致,且沒有明顯誤碼現象,上位機與下位機的通信正常。

ck1-t7.gif

    在測試過程中,為了對數據傳輸速率進行評估,在上位機中加入時間觸發模塊和流量計,從而可以計算出一定時間內上位機接收到的數據量,即可計算出傳輸速率。隨機抽取20組測試結果,繪制出數據傳輸速率曲線如圖8所示,從曲線圖可以看出,數據傳輸速率穩定在100 Mb/s~120 Mb/s之間,滿足設計要求。

ck1-t8.gif

5 結束語

    本文介紹了一種基于FPGA的MLVDS-USB3.0轉換器設計方案,并進行了實驗驗證。上位機通過MLVDS—USB3.0轉換器轉換功能,實現控制多節點采集設備與上位機間的采集數據的高速上傳和指令的下發。該轉換器可在不改變硬件系統構架的前提下靈活實現多種傳輸協議,具有硬件電路簡單、通用性強、傳輸穩定等特點。實踐證明,該轉換器可以應用于多節點數據采集系統。

參考文獻

[1] 阿永嘎.多位串行MLVDS高速網絡式儀器總線的研究[D].杭州:浙江大學,2010.

[2] 張法全,李宗敏,王國富,等.分布式多通道同步采集系統設計[J].電視技術,2015,39(23):35-39.

[3] 陳一波,楊玉華,王紅亮,等.基于FPGA的USB3.0-光口轉換器設計與實現[J].儀表技術與傳感器,2016(11):19-22.

[4] 朱保琨,劉廣文.USB3.0通信端口FPGA設計與實現[J].計算機工程與設計,2016,37(9):2292-2298.

[5] SONG K,LI C,YE L,et al.Signal integrity optimization of MLVDS based multi-master instrument bus[C].IEEE International Symposium on Electromagnetic Compatibility.IEEE,2014:433-437.

[6] 田耘,徐文波.Xilinx FPGA開發實用教程[M].北京:清華大學出版社,2008.



作者信息:

王紅亮,王柳明

(中北大學 電子測試技術重點實驗室,山西 太原030051)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩亚洲欧美成人| 久久国产一区二区| 精品动漫3d一区二区三区免费版| 国产精品hd| 欧美日韩在线观看一区二区三区| 欧美激情一区二区三区不卡| 老司机午夜免费精品视频| 久久女同互慰一区二区三区| 欧美一区激情| 欧美一区影院| 久久久精品国产一区二区三区 | 国产美女精品视频免费观看| 国产精品腿扒开做爽爽爽挤奶网站| 国产精品h在线观看| 欧美三区在线观看| 国产精品大片免费观看| 国产精品日本精品| 国产日韩欧美视频| 激情综合网激情| 亚洲电影天堂av| 亚洲精品在线观| 一区二区电影免费观看| 亚洲一区二区三区四区五区午夜| 亚洲欧美成aⅴ人在线观看| 午夜在线一区二区| 欧美一区二区三区在线视频| 久久精品噜噜噜成人av农村| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲欧洲视频在线| 亚洲午夜黄色| 欧美综合国产| 免费黄网站欧美| 欧美日韩精品久久| 国产精品伊人日日| 在线电影一区| 夜久久久久久| 久久成人资源| 亚洲毛片一区| 亚洲伊人色欲综合网| 久久国产福利| 欧美精品日韩| 国产精品美女久久久浪潮软件| 国产一区二区三区高清| 亚洲黑丝在线| 亚洲在线成人| 亚洲精品免费在线观看| 亚洲尤物视频在线| 久热精品视频在线观看| 欧美日韩妖精视频| 国产一区免费视频| 亚洲乱码国产乱码精品精98午夜| 亚洲男人的天堂在线aⅴ视频| 亚洲电影自拍| 亚洲视频图片小说| 久久综合中文字幕| 国产精品av一区二区| 国产一区二区三区在线观看免费| 亚洲精品国产拍免费91在线| 午夜精品成人在线| 一区二区三区国产在线| 久久久亚洲国产美女国产盗摄| 欧美精品97| 国内自拍一区| 亚洲少妇最新在线视频| 亚洲国产精品一区制服丝袜 | 亚洲美女一区| 久久精品欧美日韩精品| 欧美日韩免费在线| 一区在线免费| 亚洲欧美国产高清va在线播| 亚洲精品视频一区| 久久久久国产精品厨房| 欧美日韩在线亚洲一区蜜芽| 国模套图日韩精品一区二区| 99成人免费视频| 亚洲人成网站影音先锋播放| 久久不见久久见免费视频1| 欧美日韩精品免费观看视频| 精品成人在线| 欧美一区1区三区3区公司| 一区二区黄色| 免费在线视频一区| 国产亚洲欧美日韩美女| 中日韩在线视频| 99国产精品视频免费观看| 久久久人人人| 国产欧美一区二区精品性色| 一区二区三区高清| 日韩视频精品在线| 欧美不卡一卡二卡免费版| 国产日韩欧美综合精品| 一区二区三区四区国产| 亚洲美洲欧洲综合国产一区| 久久久亚洲国产美女国产盗摄| 国产精品系列在线| 一本色道久久综合亚洲精品不| 日韩午夜高潮| 欧美国产一区视频在线观看 | 亚洲激情在线观看视频免费| 亚洲高清影视| 久久久精品久久久久| 国产日产欧美a一级在线| 亚洲线精品一区二区三区八戒| 在线亚洲精品| 欧美人交a欧美精品| 亚洲日本欧美| 亚洲乱码国产乱码精品精| 免费观看日韩| 永久免费视频成人| 亚洲第一天堂无码专区| 久久青草欧美一区二区三区| 国产亚洲精品美女| 性欧美1819性猛交| 欧美一区二区三区免费观看| 欧美午夜视频在线| 亚洲素人在线| 亚洲女人av| 国产精品亚洲一区| 亚洲欧美日本日韩| 欧美在线www| 国产一区二区丝袜高跟鞋图片| 欧美中文字幕视频| 久久综合色影院| 亚洲二区三区四区| 日韩视频在线播放| 欧美日韩三级视频| 亚洲一区二区三区色| 久久超碰97中文字幕| 国产欧美一区视频| 久久精品国产亚洲高清剧情介绍| 久久综合影音| 亚洲欧洲综合另类在线| 在线一区二区三区做爰视频网站| 欧美日韩国产不卡在线看| 一区二区三区 在线观看视频| 亚洲欧美三级在线| 国产一区二区日韩精品| 亚洲国产日韩欧美| 欧美激情一区三区| 中国成人在线视频| 久久国产手机看片| 亚洲春色另类小说| 一本色道久久88综合日韩精品| 欧美日韩另类综合| 午夜激情一区| 麻豆成人小视频| 日韩系列欧美系列| 欧美在线亚洲在线| 在线国产精品一区| 国产精品99久久久久久久久| 国产欧美成人| 亚洲精品极品| 国产精品看片你懂得| 久久成人免费日本黄色| 欧美精品乱码久久久久久按摩| 亚洲一区二区黄| 久久影院午夜论| 亚洲理论电影网| 欧美一区二区三区视频免费| 精品999在线观看| 这里是久久伊人| 国产在线精品一区二区夜色| 99热在这里有精品免费| 国产精品网红福利| 亚洲精品美女久久久久| 国产精品毛片va一区二区三区| 久久国产一区| 欧美无乱码久久久免费午夜一区| 久久爱另类一区二区小说| 欧美日韩不卡一区| 性18欧美另类| 欧美日韩成人精品| 久久成人av少妇免费| 欧美天堂亚洲电影院在线播放| 亚洲成人在线视频播放 | 国产欧美一区二区三区久久人妖| 亚洲日韩中文字幕在线播放| 国产精品视频免费观看| 亚洲国产日本| 国产欧美一区二区三区沐欲| 99re6这里只有精品| 国产综合久久久久久鬼色| 亚洲一区二区在线看| 在线欧美日韩| 久久精品免费观看| 亚洲无限乱码一二三四麻| 暖暖成人免费视频| 欧美一级二区| 欧美日韩在线视频一区二区| 亚洲国产欧美一区| 国产三级欧美三级| 亚洲一区三区视频在线观看| 亚洲大胆av| 久久久91精品国产一区二区三区| 日韩亚洲不卡在线| 欧美成人一二三| 久久电影一区| 国产欧美一区二区精品仙草咪| 亚洲一区二区3| 亚洲黑丝在线|