文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190096
中文引用格式: 雷武偉,文豐,劉東海,等. 基于LVDS的高可靠性遠距離數據傳輸設計[J].電子技術應用,2019,45(6):130-134.
英文引用格式: Lei Wuwei,Wen Feng,Liu Donghai,et al. Design of high reliability and remote data transmission based on LVDS[J]. Application of Electronic Technique,2019,45(6):130-134.
0 引言
在某遠距離測試任務中,需要使用數據采集編碼器采集多路高速模擬量信號,并將這些信號實時地回傳給地面測試臺進行數據檢測與處理,由于此任務測試環(huán)境特殊,測試員不可近距離測試,因此需要將數據在遠距離的情況下高速地回傳給地面測試臺進行數據處理。基于此任務中使用的電纜網所處的環(huán)境較為惡劣,周圍電磁干擾大,對于傳統(tǒng)的并行線傳輸,雖然傳輸速率可以滿足任務要求,但由于需要較多接口數據線,在這種傳輸速率高且環(huán)境惡劣的情況下會導致數據質量嚴重下降;PECL速率雖然也滿足此次任務要求,但其接口電平并不與標準邏輯兼容[1];而RS422和RS485的數據傳輸速率明顯不能滿足任務要求,因此選用LVDS技術作為本次設計的解決方案。
LVDS是一種可以滿足高傳輸速率和遠距離傳輸的低壓差分信號,其理論傳輸速度可達到1.923 Gb/s[2],而LVDS信號在500 Mb/s的傳輸速率下其自身傳輸距離其實只有2~3 m,因此本設計為了達到任務要求,在硬件電路設計中加入了串行數字電纜驅動器和自適應電纜均衡器用于增加信號的驅動能力和補償信號的衰減,而在軟件邏輯設計中增加了一種新型的8B/10B編碼方案,用于更加高效快速地處理數據,提高數據傳輸的可靠性[3]。
1 系統(tǒng)總體方案設計
系統(tǒng)的總體設計框圖如圖1所示,由數據采集編碼器、地面測試臺及上位機三部分組成。數據采集編碼器采集高速模擬量信號,地面測試臺接收上位機下發(fā)的指令并轉發(fā)給數據采集編碼器且接收數據采集編碼器回傳的數據。
根據測試任務,本設計采用4段60 m,共240 m的平衡雙絞導線連接數據采集編碼器與地面測試臺,數據采集編碼器以500 Mb/s的碼率向地面測試臺發(fā)送LVDS數據,并進行大量的實驗模擬測試任務的現場條件,通過測試臺回讀的數據的正確性驗證此方案的可行性與可靠性。
2 硬件電路設計
為了積極響應進口電子元器件國產化的需求,支持“中國芯”工程的發(fā)展[4],同時避免出現進口電子元器件由于停產、禁運的斷檔問題以及對芯片插入木馬等的安全問題[5],本次設計放棄了傳統(tǒng)設計中使用進口的LVDS串行器和解串器,經過對比多家國內芯片廠商的LVDS接口產品,最終選定了符合本次測試要求的成都振芯的LVDS編碼器GM8223以及LVDS解碼器GM8224。
由于趨膚效應和介質損耗,高速LVDS信號在電纜傳輸中會有所衰減[6],兩者導致的信號衰減分別正比于傳輸頻率的平方根和傳輸速率,尤其是在高速遠距離傳輸過程中,電纜傳輸中的衰減更是產生信號不穩(wěn)定的主要原因。本設計為了保證數據的傳輸質量,采用了針對500 Mb/s傳輸速率和240 m遠距離的信號調理技術,通過對信號的均衡和預(去)加重[7],以達到設計要求。該部分采用了美國TI公司的串行數字電纜驅動器LMH0002和自適應電纜均衡器LMH0044。
2.1 LVDS接口發(fā)送電路設計
圖2所示為LVDS接口發(fā)送電路,GM8223編碼器接收來自FPGA的10位并行的TTL數據信號和一路TTL時鐘信號,將其轉化為1對LVDS串行數據信號輸出到串行數字電纜驅動器LMH0002,GM8223串行傳輸速率在100 Mb/s~660 Mb/s之間,滿足本設計要求。圖中R9、R10和R11為上拉電阻,并且起到限流作用。
LMH0002驅動器的數據傳輸速率可以達到1.485 Gb/s,可以將GM8223輸出的差分電壓提升,從而有效地增加了數據在傳輸線上的傳輸距離。信號由LMH0002的輸出端輸出后經過LVDS平衡雙絞線傳向LMH0044的接收端。圖中R7、R15、L1和R8、R16、L2分別組成兩個回波損耗網絡,用于減少信號在連接器處的回波損耗,提高信號傳輸質量[8];R13和R14為差分終端匹配電阻,用于消除信號的反射,增強信號的穩(wěn)定性;C9、C10和C11為去耦電容;R12為控制輸出電壓擺幅的電阻,當阻值為590 Ω時,輸出電壓擺幅可達2.5 V。
2.2 LVDS接口接收電路設計
圖3所示為LVDS接口接收電路,LVDS信號通過線纜和連接器傳輸至LMH0044均衡器,LMH0044具有208 mW的低功耗和極低抖動性的特性,其內部包含一個多級自適應濾波器,LVDS差分信號從輸入端輸入后,首先通過多級自適應濾波器對信號進行濾波,然后進入自偏置恢復電路對信號進行完全恢復后發(fā)送至輸出驅動模塊并產生自動均衡控制(AEC)信號,AEC信號用于反饋設置自適應濾波器的增益和帶寬,之后內部的載波檢測模塊產生載波檢測信號并發(fā)送給輸出驅動模塊,最后輸出驅動模塊經過綜合后將信號通過輸出管腳輸出并傳送至GM8224解碼器進行解碼。圖中R1和R2為差分終端匹配電阻;C2和C3為隔直電容,避免輸入電位影響正常信號的傳輸;由于LMH0044的輸入信號為弱信號,較強的信號會耦合到其中并破壞數據,因此在PCB布板時LMH0044的輸入信號與其他信號隔離開。
GM8224解碼器利用了數據與時鐘恢復技術,可以將串行輸入的高速LVDS信號解碼為10位并行數據和1路時鐘信號,其串行傳輸速率在100 Mb/s~660 Mb/s之間,滿足本設計要求。LVDS信號經過LMH0044的自動補償后恢復至正常強度,再由GM8224解碼器將1對LVDS數據信號轉化為10位并行TTL數據信號和1位TTL時鐘信號,傳輸給FPGA進行處理。圖中R3、R4和R5為上拉電阻,并且起到限流作用。
3 軟件可靠性設計
在LVDS信號高速遠距離傳輸中,數據傳輸的可靠性是判斷設計成功與否的最重要的標準[9],本次設計的主控芯片采用了北京微電子技術研究所設計的FPGA——BQV600。本次設計利用了FPGA速度與面積互換的思想,對傳統(tǒng)的8B/10B編解碼方案進行了改進,在一個時鐘下同時并行將4組數據進行編碼或解碼的處理,通過增加處理數據的位寬從而提高了8B/10B編解碼的整體速度[10],以達到500 Mb/s的數據傳輸速率。
3.1 LVDS發(fā)送端的新型8B/10B編碼設計
為了保證數據在編碼過程中的速度與正確性,采用了基于并行處理方式的新型8B/10B編碼方法,圖4是其編碼電路流程圖。該編碼電路通過Transceiver IP核將4組8 bit數據組成一組32 bit數據,將每32 bit數據看成一個大的整體,每8 bit數據看成一個小的整體,分別為Din[7:0]、Din[15:8]、Din[23:16]和Din[31:24],然后4組數據會在同一個時鐘下進入編碼模塊并進行編碼處理,每組數據按照正負編碼列表會得到2個10 bit數據以及2個極性值,處理后的8組10 bit數據和極性值經過均衡檢測控制模塊,根據極性均衡準則判斷得出4組10 bit數據Dout[9:0]、Dout[19:10]、Dout[29:20]和Dout[39:30],最終通過Transceiver IP核將4組10 bit數據連續(xù)發(fā)出。其中Dout[9:0]在D11和D12中選出,Dout[19:10]在D21和D22中選出,Dout[29:20]在D31和D32中選出,Dout[39:30]在D41和D42中選出。
由于傳統(tǒng)的8B/10B編碼在編碼過程中具有內在相關性,即前一個數據輸出的游程值會對后一個數據編碼有影響[11],因此在此方法的基礎上無法完全按照傳統(tǒng)的8B/10B編碼對4組數據進行處理,需要重新設計編碼電路,下面將對于新型8B/10B編碼電路中的模塊進行逐一介紹。
3.1.1 編碼模塊的設計
圖5所示為編碼模塊的流程圖,Datan為8 bit數據輸入,其中n=1、2、3、4時分別對應Din[7:0]、Din[15:8]、Din[23:16]和Din[31:24],對于每個輸入數據的正列表和負列表編碼時,首先會判斷其是否為控制碼,若為控制碼,則按照控制編碼的映射關系進行編碼,若不是控制碼,則說明輸入為數據碼,按照3B/4B和5B/6B映射關系進行編碼。
圖6所示為極性判斷的電路圖,其中rd1與rd2分別為5B/6B與3B/4B的極性值,根據編碼極性規(guī)則表,無論是5B/6B編碼還是3B/4B編碼,其極性值只可能為0和1[12]。對于圖中的不帶進位計算的加法器來說,在正負列表編碼時,rd1與rd2相加所得到的RDn值將會與數據相對應的列表編碼極性值相等,其中n取1或者2,當n取1時表示負列表極性的RD值,當n取2時表示正列表極性的RD值。
3.1.2 均衡檢測控制模塊的設計
在8B/10B編碼過程中,由于輸出碼流中0與1的個數具有不均等性,因此要求在編碼過程中要極性交替,從而保證0與1的相對平衡[13],具體操作為:如果當前取正列表編碼,得到極性值RD=1,則下一次編碼取負列表編碼;反之亦然。
圖7所示為均衡檢測控制模塊的流程圖。圖示rd1、rd2、rd3、rd4是記錄數據Din[7:0]、Din[15:8]、Din[23:16]、Din[31:24]編碼相對應的編碼取值列表,Dout1、Dout2、Dout3、Dout4分別對應輸出Dout[9:0]、Dout[19:10]、Dout[29:20]和Dout[39:30]。根據8B/10B編碼規(guī)定,第一個編碼值取負列表編碼的值,然后判斷與該編碼對應的極性值RD是否為1,若為1則第二個編碼列表的值取與第一個編碼列表的值的相反的值,若不為1則第二個編碼列表的值取與第一個編碼列表的值的相同的值。以此類推,第四個編碼列表的RD值同樣也決定了下一組編碼中第一個編碼的取值,進而確保了整個數據編碼的直流平衡。
3.2 LVDS接收端的新型8B/10B解碼設計
LVDS接收端解碼電路的工作原理與編碼電路的工作原理類似,是編碼電路的逆過程[14],將接收到的4組10 bit數據通過Transceiver IP核組成一組40 bit數據,該數據通過如圖8所示的新型8B/10B解碼電路得到32 bit數據,最終通過Transceiver IP核將數據以每組8 bit連續(xù)發(fā)出。
控制字符編碼檢測模塊用于檢測接收到的編碼字符是否為控制碼,若為控制碼則對應的kin賦值為1,否則說明為數據碼,kin賦值為0;解碼模塊將接收到的4組數據根據4B/3B和6B/5B解碼映射關系表進行解碼,然后進行4組數據的不均衡性檢測得出其對應的RD值;違規(guī)檢測模塊通過比較相鄰兩組8 bit數據的值與RD值,判斷在傳輸過程中是否產生解碼違規(guī)數據,若沒有產生,則輸出有效數據,否則將該數據刪除。
4 可靠性結果驗證
為了驗證本次設計的可靠性,采用數據采集編碼器、地面測試臺與上位機共同搭建的測試系統(tǒng)。地面測試臺與數據采集編碼器之間的數據傳輸采用了4段50 m的LVDS平衡雙絞導線作為傳輸介質。測試中將數據采集編碼器與LVDS平衡雙絞導線放置于60 ℃高溫環(huán)境并向LVDS雙絞線中注入脈沖激勵作為干擾,采用的數據幀結構如圖9所示,其中“96 14 6F 14 6F”為數據幀包頭,“00 00 00 00~00 00 00 09”為包計數,數據為00~59的遞增數。
通過FPGA程序控制LVDS串行數據的傳輸速率,以及通過電纜長度控制LVDS串行數據的傳輸距離,分別進行如下誤碼率的測試,測試結果見表1、表2。
根據測試結果可知,硬件電路可以保證以100 Mb/s的傳輸速率在240 m的電纜中或以500 Mb/s的傳輸速率在60 m的電纜中無誤碼傳輸,但隨著傳輸速率和電纜長度的增加誤碼率會越來越大,遠不及測試任務要求。但在FPGA程序中加入新型的8B/10B編解碼后,可以明顯地降低數據誤碼率,不僅可以保證240 m長的遠距離傳輸,而且速率上也可以滿足500 Mb/s的高速無誤碼傳輸。
5 結論
針對數據在高速遠距離傳輸過程中可靠性低的問題,本設計在硬件電路上采用了信號調理技術,對LVDS信號進行均衡和預(去)加重處理,同時在邏輯設計中,加入了一種新型8B/10B編解碼的優(yōu)化方式,極大地增強了傳輸鏈路的可靠性。通過大量的測試實驗,驗證了本設計中LVDS數據能夠以500 Mb/s的傳輸速率在240 m的平衡雙絞導線上實現無誤碼傳輸,滿足測試任務要求。
參考文獻
[1] 儲成群.基于LVDS接口的高速數據記錄器的設計[D].太原:中北大學,2011.
[2] 張?zhí)煳?,劉文?基于LVDS和PCI接口的高速圖像傳輸系統(tǒng)設計[J].電子技術應用,2014,40(7):51-53,60.
[3] 劉佳寧,文豐,王淑琴,等.基于LVDS的高可靠性長線傳輸設計[J].電子器件,2017,40(5):1209-1213.
[4] 畢錦棟,鄭麗香,周軍連,等.電子元器件國產化替代工作討論[J].質量與可靠性,2015(3):35-40.
[5] 李永梅,李先亞,周傳祥.軍用進口電子元器件的國產化替代驗證典型案例分析[J].質量與可靠性,2017(5):30-33.
[6] 郭佳欣.基于LVDS的圖像采集存儲裝置的設計與實現[D].太原:中北大學,2017.
[7] 李治華,趙冬青,甑國勇,等.高可靠性遠程數據傳輸系統(tǒng)設計[J].電子器件,2017,40(2):490-494.
[8] 李宏儒,劉亮.并行轉串行LVDS長線接口設計[J].實驗室研究與探索,2010,29(6):62-65.
[9] 趙陽剛,郭濤,黃玉崗.基于FPGA和LVDS的彈載數據回讀系統(tǒng)設計[J].電子器件,2017,40(1):113-117.
[10] 張平.基于FPGA的高速8B/10B編解碼電路設計[D].合肥:安徽大學,2016.
[11] 劉泳銳,張彥軍,劉龍飛,等.8B/10B編碼實現LVDS交流耦合傳輸中的直流平衡[J].科學技術與工程,2012,12(35):9693-9696,9701.
[12] 李長慶,程軍,李梁,等.采用并行8B/10B編碼的JESD-204B接口發(fā)送端電路設計[J].微電子學與計算機,2017,34(8):70-75.
[13] 常紅,柯導明,孟堅,等.新型8B/10B編碼方案的設計與實現[J].計算機工程與應用,2018,54(2):87-90,106.
[14] 王方,周璐,張正璠.8B/10B編碼器新型算法結構的設計與實現[J].微電子學與計算機,2016,33(10):151-154,158.
作者信息:
雷武偉,文 豐,劉東海,王淑琴
(中北大學 儀器科學與動態(tài)測試教育部重點實驗室,電子測試技術國家重點實驗室,山西 太原030051)