• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的M-LVDS總線控制器設計

      2019-09-25 13:22:14黃赟潘雷丁輝
      數(shù)字技術與應用 2019年6期

      黃赟 潘雷 丁輝

      摘要:針對傳統(tǒng)總線無法同時滿足不同節(jié)點間高速通信、實時通信、電氣隔離、與故障隔離的問題,提出了基于M-LVDS總線的高速通信系統(tǒng)設計方案。系統(tǒng)用M-LVDS總線取代了傳統(tǒng)總線,用FPGA來實現(xiàn)M-LVDS總線控制器,可以實現(xiàn)節(jié)點的故障隔離。

      關鍵詞:FPGA:M-LVDS;高速通信

      中圖分類號:TP334.7 文獻標識碼:A 文章編號:1007-9416(2019)06-0019-02

      M-LVDS總線能夠實現(xiàn)多個節(jié)點之間高速并發(fā)通信,總線速率最大可以達到100Mbps,總線上節(jié)點之間電氣隔離,而且每一個節(jié)點均采取措施進行錯誤檢測,永久故障節(jié)點會被關閉,而不會影響其他節(jié)點的正常工作。

      1 M-LVDS總線簡介

      M-LVDS總線是一種支持多節(jié)點的差分總線,支持多個節(jié)點之間高速傳輸數(shù)據(jù)。圖1展示了M-LVDS總線的拓撲結構。其中,各節(jié)點之間數(shù)據(jù)的傳輸采用雙網(wǎng)的方式,雙網(wǎng)的物理和功能都保持獨立,各自采用重發(fā)機制,以保證數(shù)據(jù)有效性。

      2 FPGA的功能描述

      在M-LVDS總線上每個節(jié)點都是一個獨立的嵌入式板卡,板卡內部包括處理器、存儲器和總線控制器等, M-LVDS總線控制器用FPGA實現(xiàn),F(xiàn)PGA包含以下功能:

      (1)多主仲裁:FPGA對總線進行監(jiān)聽,只要總線空閑就可發(fā)起仲裁,仲裁通過就開始發(fā)送報文;(2)數(shù)據(jù)安全:FPGA內部采取措施進行錯誤檢測、錯誤標定及錯誤自檢;(3)故障隔離:FPGA能夠把永久故障和短暫擾動區(qū)分開來。永久故障的節(jié)點會被關閉;(4)報文控制:FPGA將信息均以固定報文格式發(fā)送;(5)信息路由:FPGA支持數(shù)據(jù)幀、維護幀和時鐘幀。

      3 FPGA的邏輯設計

      通過FPGA來實現(xiàn)M-LVDS總線控制器,F(xiàn)PGA內部包含了以下6個模塊:

      (1)mlvds_regs寄存器子模塊:該模塊提供與CPU的接口,維護M-LVDS總線控制器中的可編程寄存器,包括:控制寄存器、狀態(tài)寄存器、中斷寄存器。(2)mlvds_tx_queue發(fā)送隊列子模塊:該模塊內部有數(shù)據(jù)FIFO緩存區(qū),當一個完整幀寫入到數(shù)據(jù)FIFO時,將向mlvds_transmitter請求發(fā)送數(shù)據(jù)。(3)mlvds_transmitter發(fā)送子模塊:該模塊負責仲裁M-LVDS總線的使用權,節(jié)點在發(fā)送數(shù)據(jù)之前,必須先通過總線仲裁獲得總線使用權。只有獲得總線使用權后,才能將本節(jié)點的數(shù)據(jù)幀發(fā)送到總線上。(4)mlvds_sample接收采樣子模塊:該模塊負責用相位依次相差90°的4個時鐘同時對M-LVDS總線上的數(shù)據(jù)進行采樣,從而確保其中至少有1個時鐘采樣到了正確的數(shù)據(jù)幀。(5)mlvds_rx_queue接收隊列子模塊:該模塊負責接收MLVDS總線上的數(shù)據(jù)幀,并且會對接收到的數(shù)據(jù)幀進行過濾檢查,判斷是否符合本地節(jié)點的接收過濾規(guī)則,同時會將接收過程中的錯誤狀態(tài)信息反饋給CPU。(6)mlvds_link_monitor鏈路狀態(tài)監(jiān)測子模塊:該模塊負載監(jiān)測鏈路的當前狀態(tài),包括總線是否已經連接上、總線是否處于空閑狀態(tài)、本節(jié)點是否處于正常狀態(tài)。

      4 數(shù)據(jù)發(fā)送流程

      M-LVDS總線上節(jié)點發(fā)送數(shù)據(jù)的流程:

      步驟1,當節(jié)點有數(shù)據(jù)幀要發(fā)送時,首先CPU將數(shù)據(jù)寫入FPGA內的發(fā)送FIFO中;

      步驟2,數(shù)據(jù)幀進入發(fā)送緩沖區(qū),使發(fā)送緩沖區(qū)不為空;

      步驟3,當發(fā)送緩沖區(qū)不為空時,F(xiàn)PGA會觸發(fā)一個數(shù)據(jù)發(fā)送請求;

      步驟4,當FPGA內有數(shù)據(jù)發(fā)送請求時,仲裁通過則可以往總線上發(fā)送數(shù)據(jù)幀;

      步驟5,根據(jù)CRC生成多項式:G(x)=x16+x15+x2+1,計算得到數(shù)據(jù)幀的CRC校驗值,將該CRC校驗值附在數(shù)據(jù)幀的后面一起進行并串轉換;

      步驟6,將并串轉換后的數(shù)據(jù)發(fā)送到M-LVDS總線上。

      5 數(shù)據(jù)接收流程

      M-LVDS總線上節(jié)點接收數(shù)據(jù)的流程:

      步驟1,F(xiàn)PGA用4個相位依次相差90°的時鐘同時對總線上的數(shù)據(jù)進行串行采樣,從而保證至少有一個時鐘能夠采樣到正確的數(shù)據(jù);

      步驟2,將采樣到的數(shù)據(jù)進行串并轉換,然后進行幀解析,提取出幀長,幀類型等字段;

      步驟3,預先設定的幀長范圍是0~256字節(jié),當收到的數(shù)據(jù)幀的長度超過這個范圍時則認為數(shù)據(jù)幀不合法,并丟棄;

      步驟4,根據(jù)CRC生成多項式:G(x)=x16+x15+x2+1,對收到的數(shù)據(jù)幀進行CRC校驗,校驗通過則說明數(shù)據(jù)接收正確,否則說明數(shù)據(jù)接收錯誤,將數(shù)據(jù)幀丟棄;

      步驟5,判斷節(jié)點的FPGA接收FIFO是否還有空間存放接收到的數(shù)據(jù)幀,如果沒有足夠的空間則會將數(shù)據(jù)幀丟棄,并產生錯誤報警;

      步驟6,將數(shù)據(jù)幀放入FPGA接收FIFO中,供CPU讀取。

      6 結語

      文中描述的新技術已經被應用于安全計算機平臺CVC-200的開發(fā),并獲得了現(xiàn)場長時間穩(wěn)定運行的良好效果。新技術的采用解決了傳統(tǒng)總線無法同時滿足不同節(jié)點間高速通信、實時通信、電氣隔離、與故障隔離的問題,為安全系統(tǒng)設計中的數(shù)據(jù)傳輸提供了有效的方案。

      參考文獻

      [1] 李大鵬,李雯,王曉華.基于FPGA的高速LVDS接口的實現(xiàn)[J].航空計算技術,2012,42(05):115-118.

      [2] 鄢玲玲,文豐,李輝景.一種基于LVDS高速傳輸?shù)慕涌趦?yōu)化設計[J].電測與儀表,2016,53(20):80-83.

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

      Design of M-LVDS Bus Controller Based on FPGA

      HUANG Yun,PAN Lei,DING Hui

      (Hardware Technology Center of CASCO Signal Co., Ltd., Shanghai 200071)

      Abstract:Aiming at the problem that traditional bus system cannot meet the requirements of real-time communication, high-speed communication, electrical isolation and fault isolation at the same time, a design scheme of high-speed communication system based on M-LVDS is proposed in the paper. The system uses M-LVDS to replace the traditional bus, and uses FPGA to realize the M-LVDS controller. And FPGA is the bridge device between CPU and M-LVDS. The test result shows that the operation of the system is stable, the transmission is accurate, and the expected transmission task is successfully completed. When FPGA detects the fault, FPGA can realize the fault isolation of the faulty node.

      Key words:FPGA;M-LVDS;high-speed communication

      嘉善县| 巴林右旗| 礼泉县| 青浦区| 阳曲县| 西藏| 兰溪市| 井研县| 剑河县| 汉寿县| 马山县| 当涂县| 周至县| 黄石市| 阿巴嘎旗| 池州市| 梅州市| 金华市| 昌邑市| 沿河| 苗栗市| 苗栗县| 德清县| 吉安市| 宜兰市| 柳江县| 名山县| 张家港市| 梅河口市| 黑山县| 南溪县| 乌鲁木齐市| 陇西县| 曲阜市| 西昌市| 辽宁省| 昂仁县| 磐安县| 略阳县| 台州市| 灯塔市|