?

基于FPGA的M?LVDS—千兆以太網轉換器設計

2018-10-12 05:48徐振華郭濤郭利強
現代電子技術 2018年19期

徐振華 郭濤 郭利強

摘 要: 針對智能家居系統諸多監測模塊無法同時完成多節點間高速通信的問題,設計一種基于M?LVDS接口和千兆以太網接口的數據轉化模塊。該模塊結合M?LVDS接口多節點通信和千兆以太網高速數據傳輸等優點,以FPGA作為核心控制器,基于UDP協議搭建控制邏輯,實現M?LVDS與千兆以太網之間的數據交互。測試結果表明,數據轉換結果準確、可靠,實現了智能家居控制平臺與多節點設備的高速通信。

關鍵詞: 數據轉化; 多節點; 高速通信; FPGA; M?LVDS; 千兆以太網

中圖分類號: TN919?34; TP336 文獻標識碼: A 文章編號: 1004?373X(2018)19?0023?04

Abstract: Since the numerous monitoring modules of smart home system can′t complete the high?speed communication among multiple nodes at the same time, a data conversion module based on M?LVDS interface and gigabit Ethernet interface was designed. The module combines the advantages of multi?node communication of M?LVDS interface and high?speed data transmission of gigabit Ethernet, takes FPGA as its core controller, and establishes the control logic based on UDP protocol to realize the data interaction between M?LVDS and gigabit Ethernet. The testing results show that the data conversion results are accurate and reliable, and the converter realizes the high?speed communication between the smart home control platform and multi?node device.

Keywords: data conversion; multi?node; high?speed communication; FPGA; M?LVDS; gigabit Ethernet

0 引 言

智能家居系統中對家居環境監測的傳感器和調節單元分布式排列在不同區域,需要同時與多設備通信。由于家居環境大量視頻、聲音等監測對象的加入,對數據傳輸的高實時性和高傳輸速率以及低功耗提出了更高的要求。為了將分布在多處的傳感器采集的大量數據統一分析和管理,需要實現多節點的高速互連通信。M?LVDS支持多節點互連的拓撲結構,可提供高的數據傳輸速率和更低的功耗,實現數據的可靠高速傳輸[1]。FPGA作為核心控制器,采用太網物理層芯片實現千兆以太網與計算機通信。本文基于實際需求設計一種千兆以太網和M?LVDS接口轉換模塊,以實現智能家居各監測模塊大量實時數據與系統平臺之間可靠、高速傳輸。

1 系統總體框架設計

M?LVDS和千兆以太網接口數據轉換模塊結構如圖1所示。主要由以太網通信模塊、FPGA主控模塊、M?LVDS通信模塊組成。

系統上電后,FPGA對M88E1111進行初始化,完成相關寄存器的配置,啟動發送數據包進程與接收數據包進程。數據上傳過程為多節點間數據經M?LVDS接口傳輸到M?LVDS通信模塊,數據完成鏈路層數據解碼后通過DDR3緩存控制器寫入DDR3緩存。以太網數據傳輸模塊讀取DDR3緩存數據,數據按照UDP協議在千兆以太網通信模塊中打包后通過GMII接口傳輸給物理層,控制平臺經RJ45網口讀取數據[2]。數據下發過程與上傳過程類似,通信數據通過以太網接口下發至轉換器,FPGA解析后將其寫入緩存中,M?LVDS通信模塊讀出FIFO緩存的數據,將數據編碼后經過M?LVDS通信模塊發送到M?LVDS總線上,總線上的設備將根據協議獲取對應的數據。

2 硬件電路設計

2.1 M?LVDS通信電路設計

M?LVDS通信模塊采用SN65MLVD203全雙工收發器芯片,采用雙線差分多節點傳輸結構,可實現250 Mb/s高速通信。以時鐘源方式實現傳輸數據位同步,同時發送時鐘和數據。接收時按照同步時鐘接收,實現數據串行傳輸。M?LVDS收發器可實現線或功能及各節點間總線的共享機制與總線的非破壞性仲裁機制[3]。

通過長電纜連接的節點之間,常因節點間的地線電位差導致節點地環路電流,形成差模干擾。為確保數據傳輸的可靠性,基于TPS76333設計電源隔離電路,防止不必要的電流損害影響電子元件的工作,實現信號和電源的完整隔離。選用ISO7842為M?LVDS驅動器的邏輯輸入和接收器的邏輯輸出提供數字隔離,提升數據傳輸的完整性。

2.2 千兆以太網通信電路設計

千兆以太網物理層收發器芯片M88E1111提供自主協商、傳輸介質自動檢測以及網絡收發線對的自動檢測和交叉,可以在五類非屏蔽雙絞線上進行數據收發。只需外接25 MHz晶振,通過內部鎖相環便能提供GTXCLK,RXCLK和芯片內核的工作時鐘[4]。FPGA通過MDI管理接口配置芯片內部寄存器,該接口為雙路信號接口分別配置時鐘信號和數據信號。通過管理接口,上層能監視和控制物理層,實現不同功能,滿足多種場合需求。M88E1111與RJ45接口通過MDI 差分數據線形式連接。

3 程序設計

程序控制主要完成系統初始化、千兆以太網收發控制、UDP協議數據打包解包、上位機命令解析、DDR3緩存控制、M?LVDS通信協議等。系統上電初始化,根據智能家居平臺命令接收或發送數據。

3.1 千兆以太網控制流程

千兆以太網采用UDP協議實現與智能家居平臺通信[5]。系統初始化完成后通過MDIO/ MDC管理接口配置物理層寄存器,將M88E1111傳輸模式配置為1000BASE?T。接收進程從DDR3緩存中接收數據,待發送的數據包內容以UDP IP報文的格式打包。接收DDR3緩存打包成的UDP數據包,最終以GMII格式通過接收端傳輸到M88E1111,傳輸速度可達[6]1 000 Mb/s。發送進程狀態機如圖2所示。

發送數據時,狀態機初始化為IDLE,發送進程計時器timer==32′h00400000時,進入狀態START生成IP包頭和包頭校驗和,當check_buffer_end==1時,開始發送8個IP前導碼:7個55和1個d5,隨后發送MAC目的地址和源地址、IP包頭,準備發送UDP數據包,當發送結束后,進入SEND_CRC[7]。CRC校驗正確crc_vaild==1則成功發送,狀態機返回初始狀態IDLE,完成一次發送。

數據接收與數據發送過程類似,接收到來自M88E1111的數據包時,將GMII格式數據包先進行前導碼、幀開始符、目的MAC 地址、源MAC地址以及IP包頭檢測,之后開始接收有效數據和數據校驗。接收數據成功后,將有效數據發送到FIFO緩存單元中。

3.2 M?LVDS通信控制流程

M?LVDS總線只規定了物理層的電氣特征,并未規定通信的高層協議[7]。按照IEEE 802.3標準,利用FPGA實現M?LVDS通信協議數據在鏈路層與物理信令層之間的數據傳輸。通信控制將從FIFO緩存中讀取的數據按照通信協議在總線管理器中完成數據封裝拆裝、總線仲裁、差錯控制、報文濾波以及時序控制等功能,在PLS中完成數據的編碼、解碼、位同步以及幀同步[8]。

執行通信流程時,有效數據在M?LVDS中根據協議重新打包和解包。數據包中標示符表示對底層各節點的操作,分為數據上傳和命令下發。數據包中地址表示智能家居分布式監測節點的地址信息,包括發出和接收節點的地址。多節點通信時,地址的優先級與地址值絕對值相關,值越大優先級越高[9]。源地址具有最高優先級地址“1111 1111”,目的地址前4位為節點信息,后4位為單節點通道信息。SN65MLVD203把串化數據轉化為差分信號傳輸到M?LVDS總線,保證數據在總線上傳輸的可靠性和總線仲裁一致性。

3.3 數據轉換通信流程

數據轉換模塊的控制流程主要包括千兆以太網通信和M?LVDS通信之間的數據轉化。智能家居平臺發送命令時,數據通過RJ45網口、千兆以太網接口到達數據轉換器。FPGA檢測標志位判斷接收到數據后,將數據讀到千兆以太網通信模塊中,對命令數據解包,去除傳輸格式,讀取有效數據。將命令寫入命令緩存中,實現數據跨時鐘同步。在讀信號上升沿時將數據從FIFO中讀出到M?LVDS模塊中,與命令寄存器組中的值對比,確定命令的功能、對象、觸發機制,重新生成命令數據幀,在總線管理器中按M?LVDS通信協議添加起始位、仲裁場、校驗位、終止位組成M?LVDS 數據包格式,轉為串行數據發送至M?LVDS接口[10]。調用M?LVDS發送命令,經SN65MLVD203發送給底層目標節點,完成一次發送。

接收上傳數據時,M?LVDS的接收端口檢測到數據起始位有效時開始接收,PLS層完成數據同步后轉化為并行數據傳輸給總線管理模塊。對M?LVDS接收的數據進行CRC校驗精確后,有用數據在有效標志信號為高時傳輸到DDR3緩存中。對接收數據消抖后,把有用數據和節點信息寫入DDR3中,使回傳速度處于可控范圍。千兆以太網通信模塊從DDR3緩存中讀出數據,以并行方式傳輸至M88E1111,在 FPGA 控制下,將數據上傳到智能家居系統控制平臺。

4 測試結果

功能測試平臺由信號源、M?LVDS?千兆以太網轉換器、控制平臺上位機搭建構成,功能測試連接如圖3所示。調試助手提供數據接收發送操作界面,同時將上傳數據導出分析,驗證數據正確性。測試時設置通信雙方IP地址等信息后啟動連接。在命令窗口輸出要發送的數據或直接讀取網口數據。通過轉換網絡指示燈判斷以太網連接、數據傳輸情況,可以實時觀測上位機與FPGA 通信狀態。測試過程中信號源循環產生遞增數據,由M?LVDS接口轉為差分信號對上傳到傳輸總線,轉換器將總線上的差分信號對轉化為串行數據輸入。

為了測試模塊功能,轉化器初始化4字節數“01010101”數據接收命令。調試助手通過以太網向轉化器下發讀取數據命令,讀取M?LVDS接口數據。測試結果如圖4所示。

數據傳輸開始為4字節“01”證明轉化器能夠接收到控制命令。由調試助手接收到的多組數據分析,數據連續遞增,與信號源產生的數據一致,證明系統傳輸正確,實現了M?LVDS總線到千兆以太網的數據通信功能。測試中在系統中加入時間觸發和流量計,通過計算一定時間內接收到的數據量對傳輸速率進行評估。以20組測試結果繪制成數據傳輸速度測試曲線,如圖5所示。系統傳輸速率穩定在100~120 Mb/s,實現了數據的高速傳輸。

5 結 語

本文介紹了一種基于 FPGA 的 M?LVDS?千兆以太網轉換模塊設計方案,并測試了傳輸誤碼率和速率。智能家居平臺通過轉換器轉換功能實現同時控制多節點上監測設備和環境調節設備的工作以及數據高速上傳。轉換模塊在不改變硬件系統構架前提下可靈活實現多種傳輸協議,通用性強,傳輸穩定。

參考文獻

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

ZHANG Faquan, LI Zongmin, WANG Guofu, et al. Distributed multi?channel synchronization acquisition system design [J]. TV engineering, 2015, 39(23): 35?39.

[2] 何潤岸.基于UDP進行大規模數據傳輸的可靠傳輸系統的設計與實現[D].濟南:山東大學,2015.

HE Runan. Design and implementation of reliable transmission system for large?scale data transmission based on UDP [D]. Jinan: Shandong University, 2015.

[3] 黃萬偉.Xilinx FPGA高速串行傳輸技術與應用[M].北京:電子工業出版社,2015.

HUANG Wanwei. High?speed serial transmission technology and application of Xilinx FPGA [M]. Beijing: Publishing House of Electronics Industry, 2015.

[4] 朱保琨,劉廣文.千兆以太網通信端口FPGA設計與實現[J].計算機工程與設計,2016,37(9):2292?2298.

ZHU Baokun, LIU Guangwen. Design and implementation of gigabit Ethernet communication port based on FPGA [J]. Computer engineering & design, 2016, 37(9): 2292?2298.

[5] 佘顏.基于DDR3控制器的高速存儲接口系統的設計與驗證[D].西安:西安電子科技大學,2015.

SHE Yan. Design and verification of high?speed memory interface system based on DDR3 controller [D]. Xian: Xidian University, 2015.

[6] KIM J H. Buffering circuit, semiconductor device having the same, and methods thereof [J]. Journal of pharmaceutical sciences, 2015, 99(7): 3030?3040.

[7] 宋飛,馮旭哲.基于硬件協議棧芯片的高速以太網接口設計[J].工業儀表與自動化裝置,2012(4):57?59.

SONG Fei, FENG Xuzhe. Design of high?speed Ethernet interface based on hardware protocol stack chip [J]. Industrial instruments and automation device, 2012(4): 57?59.

[8] 張磊,何昕,魏仲慧,等.基于千兆網接口的星敏感器圖像顯示與存儲[J].液晶與顯示,2015,30(1):114?119.

ZHANG Lei, HE Xin, WEI Zhonghui, et al. Display and storage of star sensor image based on Gigabit network interface [J]. Liquid crystals & displays, 2015, 30(1): 114?119.

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

A Yongga. Research on multi?bit serial M?LVDS high speed network instrument bus [D]. Hangzhou: Zhejiang University, 2010.

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

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合