• 
    

    
    

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

      高速LVDS接口的FPGA設(shè)計與實(shí)現(xiàn)

      2018-07-27 11:28:30劉華鋒
      科技視界 2018年9期
      關(guān)鍵詞:碼字報文時鐘

      劉華鋒

      【摘 要】常規(guī)高速LVDS接口協(xié)議中,預(yù)置的同步序列會占用報文容量,且需在收端手工調(diào)整時鐘數(shù)據(jù)對齊關(guān)系,降低了開發(fā)效率及平臺間的兼容性。本文給出了一種基于8B/10B編碼的,具有自動對齊功能的高速LVDS接口,并在Xilinx Virtex-7 FPGA平臺上進(jìn)行了接口測試,結(jié)果表明該接口可在600Mbps下穩(wěn)定、可靠地傳輸數(shù)據(jù)。

      【關(guān)鍵詞】高速LVDS接口;8B/10B;FPGA

      中圖分類號: TP274.1 文獻(xiàn)標(biāo)識碼: A 文章編號: 2095-2457(2018)09-0099-002

      DOI:10.19694/j.cnki.issn2095-2457.2018.09.046

      Design and Implementation of High Speed LVDS Interface Based on FPGA

      LIU Hua-feng

      (The 20th Research Institute,CETC, Xian, Shaanxi, China)

      【Abstract】In the conventional high speed LVDS interface protocol, the preset synchronization sequence will occupy the message capacity, and it is necessary to align the clock and the data manually at the receiving end, which will reduce the development efficiency and the compatibility between the platforms. In this paper, a high speed LVDS interface based on 8B/10B coding is presented, with which alignment can be accomplished automatically. The interface test on the Xilinx Virtex-7 FPGA platform shows that the interface can transmit data steadily and reliably under 600Mbps.

      【Key words】High speed LVDS interface;8B/10B;FPGA

      0 引言

      隨著信息技術(shù)的進(jìn)步,各行各業(yè)所產(chǎn)生的數(shù)據(jù)量越來越大,對數(shù)據(jù)傳輸速率的要求也越來越高。為了保證信號的傳輸質(zhì)量及抗干擾特性,數(shù)字電路往往采用高速串行總線來傳輸高速信號。其中,現(xiàn)場可編程門陣列(FPGA)內(nèi)部所集成的高速收發(fā)器,速率最高可達(dá)到十幾個Gbps。然而,大部分?jǐn)?shù)字系統(tǒng)中串行總線速率達(dá)到幾百M(fèi)bps即可滿足需求,且低端系列的FPGA芯片內(nèi)部并未集成高速收發(fā)器;相比而言,低電壓差分信號傳輸(LVDS)[1]技術(shù)具有高速率、低噪聲、低功耗、低電流驅(qū)動等特點(diǎn),且容易在FPGA中實(shí)現(xiàn),性價比高,因此在常規(guī)高速數(shù)字傳輸系統(tǒng)中得到了廣泛的應(yīng)用。

      LVDS是一種總線標(biāo)準(zhǔn),在FPGA中實(shí)現(xiàn)LVDS總線時,一般需要自定義傳輸協(xié)議。對于低速業(yè)務(wù)來說(小于200Mbps),對數(shù)據(jù)進(jìn)行過采并約定自定義同步序列即可完成收端數(shù)據(jù)同步及數(shù)據(jù)解析。當(dāng)數(shù)據(jù)速率較高時,需要采用FPGA內(nèi)部集成SelectIO資源來手工調(diào)整數(shù)據(jù)與時鐘的對齊關(guān)系,以確保數(shù)據(jù)的正確傳輸;該方法的不足之處在于手工調(diào)整對齊關(guān)系時會導(dǎo)致程序可移植性差,在不同的硬件電路間無法完全通用;此外,采用自定義同步序列進(jìn)行數(shù)據(jù)同步時,會占用報文信息容量,報文內(nèi)部再無法傳送與同步序列相同的信息。為了解決上述的問題,本文在傳統(tǒng)LVDS實(shí)現(xiàn)方法的基礎(chǔ)上,引入了8B/10B編碼,設(shè)計了基于8B/10B編碼的自動對齊狀態(tài)機(jī),并在Xilinx Virtex-7平臺上設(shè)計實(shí)現(xiàn)了600Mbps的高速LVDS接口。

      1 8B/10B編碼及總線互聯(lián)平臺

      1.1 8B/10B編碼

      8B/10B編碼由IBM公司于1983年發(fā)明并應(yīng)用于其200M互連系統(tǒng)中,該編碼中的“0”、“1”數(shù)量基本一致,且連續(xù)的“0”或“1”不超過5位,因此該編碼具備保持DC平衡的特性,可避免鏈路產(chǎn)生DC失調(diào)[1]。數(shù)據(jù)經(jīng)過8B/10B編碼后,在接收端能夠被正確復(fù)原;此外,10位傳送代碼可以支持所有的256種8位組合,且剩余組合中的一些編碼可以構(gòu)成K碼等特殊控制碼字,用于輔助接收端進(jìn)行還原,及早發(fā)現(xiàn)傳輸錯誤,并抑制錯誤繼續(xù)發(fā)生。

      1.2 總線互聯(lián)平臺

      在信號處理領(lǐng)域,為了同時兼顧處理速度與控制便捷性,硬件平臺往往采用CPU結(jié)合高性能FPGA的架構(gòu)[2],本文的LVDS接口設(shè)計所基于的硬件平臺架構(gòu)如圖1所示,該平臺由一片DSP及一片Xilinx Virtex-7 FPGA組成,DSP及FPGA之間采用32位EMIF總線通信,F(xiàn)PGA端雙口RAM對數(shù)據(jù)位寬進(jìn)行轉(zhuǎn)換,并通過600M LVDS高速總線通信。該平臺所設(shè)計的LVDS接口是2入2出,其中一對用于傳輸同步時鐘,另外一對用于傳輸高速串行數(shù)據(jù)。

      該LVDS總線上運(yùn)行的是自定義串行協(xié)議,8bit并行數(shù)據(jù)經(jīng)過8B/10B編碼、串并轉(zhuǎn)換后,以DDR方式輸出;對于收到的串行數(shù)據(jù),要經(jīng)過串并轉(zhuǎn)換、自動對齊、8B/10B解碼后方可轉(zhuǎn)換為用戶數(shù)據(jù)。下面對該協(xié)議的組成架構(gòu)進(jìn)行詳細(xì)介紹,包含發(fā)送單元及接收單元。

      2 發(fā)送單元

      發(fā)送單元的目標(biāo)是將用戶數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)并輸出,傳統(tǒng)LVDS自定義協(xié)議中,需要占用用戶數(shù)據(jù)中的特定碼字以完成收端同步,這種機(jī)制會損耗用戶報文容量,且鏈路中未含有任何編碼,無法應(yīng)對總線上產(chǎn)生的誤碼。為解決這一問題,本文在傳輸協(xié)議中引入了8B/10B編碼,8B/10B編碼可增加鏈路的抗干擾特性[3],且編碼中空余的控制碼字可用于收端同步,發(fā)送單元的具體實(shí)現(xiàn)流程如圖2所示。

      發(fā)送單元中,用戶數(shù)據(jù)輸入時,要先根據(jù)數(shù)據(jù)及使能生成K碼脈沖,即在一幀數(shù)據(jù)的頭部及尾部添加K碼,并在添加K碼的地方生成K脈沖(本文中,頭部的K碼為K28.5,尾部的K碼為K29.7);隨后,將K脈沖及數(shù)據(jù)進(jìn)行8B/10B編碼,編碼后的數(shù)據(jù)需經(jīng)過串并轉(zhuǎn)換后方可輸出。

      FPGA內(nèi)部的SelectIO資源具有強(qiáng)大的功能,因此,串并轉(zhuǎn)換可通過FPGA內(nèi)部的OSERDES資源來實(shí)現(xiàn),OSERDES可配置為SDR或DDR模式,由于協(xié)議中采用的高速時鐘為300M,而編碼后的并行數(shù)據(jù)達(dá)到了600Mbps,故將OSERDES配置為DDR模式輸出。對于Virtex- 7 系列FPGA來說,單個OSERDES僅支持8:1的數(shù)據(jù)串并轉(zhuǎn)換,為了轉(zhuǎn)換10bit的編碼后數(shù)據(jù),需將兩個OSERDES進(jìn)行級聯(lián),級聯(lián)關(guān)系通過SHIFTIN及SHIFTOUT管腳控制。經(jīng)過級聯(lián)后,可完成對編碼后數(shù)據(jù)的串并轉(zhuǎn)換,串行數(shù)據(jù)及隨路時鐘經(jīng)過單端轉(zhuǎn)差分后輸出至FPGA外部端口上。

      3 接收單元

      接收單元的目標(biāo)是將線上的串行數(shù)據(jù)轉(zhuǎn)換為并行用戶數(shù)據(jù)并輸出,其主要由時鐘分頻、時鐘數(shù)據(jù)對齊、串并轉(zhuǎn)換及8B/10B解碼等模塊組成,具體實(shí)現(xiàn)流程如圖3所示。

      收端收到隨路時鐘后,首先通過FPGA內(nèi)部時鐘資源BUFR將其分頻為60M時鐘,并應(yīng)用該時鐘來解析數(shù)據(jù);但由于電路布線等外界因素的影響,收端的時鐘與數(shù)據(jù)往往無法對齊[4],因此,收端的串行數(shù)據(jù)需與時鐘對齊后方可解析出正確的并行數(shù)據(jù)。對于FPGA來說,應(yīng)用SelectIO中的IDELAY即可調(diào)整時鐘數(shù)據(jù)的對齊關(guān)系,IDELAY具備64 tap的延時單元,其延遲分辨率為參考時鐘周期(5ns)的1/64,可滿足本設(shè)計的延時需求。

      從圖3中可知,收端串行數(shù)據(jù)直接輸入IDELAY,IDELAY的輸出經(jīng)過兩級ISERDES后轉(zhuǎn)換成了10bit并行數(shù)據(jù),并行數(shù)據(jù)不僅輸入了8B/10B解碼模塊,還輸入了Bit_align_Machine模塊。Bit_align_Machine模塊是動態(tài)對齊的核心模塊,其輸出的bitslip信號可用于調(diào)整ISERDES輸出的并行數(shù)據(jù)順序,ice_delay和inc_delay信號可用于控制IDELAY的延時量。該模塊首先通過動態(tài)掃眼的方式將整個通道的眼圖進(jìn)行覆蓋測試,并恢復(fù)到眼圖的中心,保證通道的傳輸質(zhì)量;隨后,檢測特定訓(xùn)練序列的同步特性,輸出bitslip信號來調(diào)整并行數(shù)據(jù)的順序,保證并行數(shù)據(jù)的正確性[5]。本設(shè)計中采用0x346作為同步序列,該碼字為8B/10B編碼表中空余部分的碼字,并未占用報文容量。

      對齊完成后,Bit_align_Machine會將data_aligned信號拉高,此時,將并行數(shù)據(jù)進(jìn)行8B/10B解碼、剪除K碼后即可得到正確的用戶數(shù)據(jù)。

      接收單元的設(shè)計避免了因手工調(diào)整延時而導(dǎo)致的開發(fā)效率低,在不同硬件平臺間兼容性差等問題,動態(tài)調(diào)整了時鐘數(shù)據(jù)的延時關(guān)系,提升了通用性。

      4 平臺驗(yàn)證

      為對自定義LVDS高速接口協(xié)議進(jìn)行驗(yàn)證,將該協(xié)議在Vivado2015.3上進(jìn)行綜合、布局布線并生成bit文件,將bit文件在本文1.2節(jié)所述平臺上運(yùn)行,通過chipscope抓取發(fā)射接收時序,結(jié)果如圖4所示。

      從圖4中可以看出,發(fā)端用戶數(shù)據(jù)添加K碼后生成了K脈沖及K碼數(shù)據(jù),經(jīng)過8B/10B編碼后形成10bit編碼數(shù)據(jù);收端data_align信號拉高,且(下轉(zhuǎn)第115頁)(上接第100頁)正確的進(jìn)行了解碼、恢復(fù)了用戶數(shù)據(jù)。此外,在DSP端加載測試程序,通過大量隨機(jī)數(shù)對該接口協(xié)議進(jìn)行了測試,結(jié)果如圖5所示。從圖5中可以看出,經(jīng)過2000多萬包的隨機(jī)數(shù)測試后,未出現(xiàn)丟包、錯包的情況;

      FPGA抓包及DSP測試結(jié)果表明:本文所設(shè)計的高速LVDS接口傳輸速率可達(dá)到600Mbps且功能穩(wěn)定、正常。

      5 結(jié)論

      本文在FPGA平臺上設(shè)計實(shí)現(xiàn)了一種基于8B/10B編碼的可自動對齊LVDS高速接口協(xié)議。該協(xié)議應(yīng)用編碼表中剩余控制碼字進(jìn)行收端同步,避免了同步序列占用報文容量;且自動對齊功能能夠提升開發(fā)效率及接口協(xié)議在各平臺間的兼容性。測試結(jié)果表明:本文所設(shè)計的高速LVDS接口協(xié)議能夠穩(wěn)定、可靠的傳輸數(shù)據(jù),速率可達(dá)到600Mbps。

      【參考文獻(xiàn)】

      [1]Widmer A X, Franaszek P A. A DC-balanced, partitioned-block, 8B/10B transmission code[J]. Ibm J.res.develop, 1983, 27(5):440-451.

      [2]王戰(zhàn)江. 基于DSP和FPGA為核心的通信信號處理硬件平臺設(shè)計[D]. 電子科技大學(xué), 2011.

      WANG Zhan-jiang. Design of communication signal processing hardware platform based on DSP and FPGA[D].University of Electronic Science and Technology of China,2011.

      [3]馬建國, 張禹, 劉紀(jì)洲. 圖像采集系統(tǒng)中LVDS信號交流耦合傳輸設(shè)計[J]. 激光與紅外, 2016, 46(11):1404-1407.

      MA Jian-guo, ZHANG Yu, LIU Ji-zhou. Design of LVDS AC coupling data transmission in image collection system[J].LASER & INFRARED, 2016, 46(11):1404-1407.

      [4]李向陽. 多通道LVDS的實(shí)現(xiàn)及傳輸錯誤處理[J]. 小型微型計算機(jī)系統(tǒng), 2005, 26(8):1436-1440.

      LI Xiang-yang. Multi-Channel LVDS and Transmission Error Handling[J].MINI-MICRO SYSTEMS, 2005, 26(8):1436-1440.

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

      LI Da-peng, LI Wen, WANG Xiao-hua. Implementation of High Speed LVDS Interface Based on FPGA[J].Aeronautical Computing Technique, 2012, 42(5):115-118.

      猜你喜歡
      碼字報文時鐘
      基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      別樣的“時鐘”
      古代的時鐘
      CTCS-2級報文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
      淺析反駁類報文要點(diǎn)
      中國外匯(2019年11期)2019-08-27 02:06:30
      放 下
      數(shù)據(jù)鏈系統(tǒng)中軟擴(kuò)頻碼的優(yōu)選及應(yīng)用
      放下
      有趣的時鐘
      ATS與列車通信報文分析
      革吉县| 昭平县| 九龙坡区| 太谷县| 新密市| 石河子市| 韩城市| 南康市| 南陵县| 广宗县| 崇州市| 岚皋县| 钟山县| 新宾| 滨海县| 西城区| 云龙县| 大丰市| 札达县| 清河县| 伽师县| 凤凰县| 绥江县| 祁连县| 宝坻区| 铜山县| 长岛县| 南投市| 辽宁省| 静宁县| 唐河县| 苗栗市| 宁陵县| 昭觉县| 棋牌| 北京市| 邛崃市| 潞城市| 察雅县| 富蕴县| 宁德市|