《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的LVDS高可靠性傳輸優(yōu)化設(shè)計
基于FPGA的LVDS高可靠性傳輸優(yōu)化設(shè)計
2018年電子技術(shù)應(yīng)用第8期
李北國1,楊圣龍2,李輝景2
1.北京航天長征飛行器研究所,北京100076; 2.中北大學(xué) 儀器科學(xué)與動態(tài)測試教育部重點實驗室,山西 太原030051
摘要: 針對LVDS高速鏈路傳輸過程中出現(xiàn)的誤碼及傳輸距離較短問題,分別從硬件和邏輯編碼方面提出各自優(yōu)化方案。硬件方面在LVDS發(fā)送端增加高速驅(qū)動器,接收端增加自適應(yīng)線纜均衡器,可補償信號在長距離傳輸過程中出現(xiàn)的衰減,還原雙絞線中的畸變信號。在邏輯編碼方面,對傳統(tǒng)的10B8B編碼方式進行改進,設(shè)計出一種具有自糾錯能力的10B6B編碼方式,不僅改善了雙絞線中直流平衡狀況,而且減小了LVDS傳輸過程中的誤碼率。優(yōu)化后的LVDS接口與正常編碼的LVDS接口相比,具有更遠的傳輸距離,更小的誤碼率。該設(shè)計方法簡單可靠,性能穩(wěn)定,測試結(jié)果表明,可在48 m差分雙絞線長度下以400 Mb/s速率實現(xiàn)零誤碼可靠傳輸。
中圖分類號: TP274
文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.180457
中文引用格式: 李北國,楊圣龍,李輝景. 基于FPGA的LVDS高可靠性傳輸優(yōu)化設(shè)計[J].電子技術(shù)應(yīng)用,2018,44(8):78-81,85.
英文引用格式: Li Beiguo,Yang Shenglong,Li Huijing. High reliability transmission optimization design of LVDS based on FPGA[J]. Application of Electronic Technique,2018,44(8):78-81,85.
High reliability transmission optimization design of LVDS based on FPGA
Li Beiguo1,Yang Shenglong2,Li Huijing2
1.Beijing Changzheng Aerospace Vehicle Research Institute,Beijing 100076,China; 2.Key Laboratory of Instrumentation Science & Dynamic Measurement,North University of China,Taiyuan 030051,China
Abstract: In order to solve the problem of bit error and short transmission distance in the process of LVDS high-speed link transmission, the optimization scheme is proposed from hardware and logic coding respectively. In the aspect of hardware, the high speed driver is added to the LVDS transmitter, and the adaptive equalizer is added at the receiver to compensate the attenuation of the signal in the long distance transmission and restore the distorted signal in the twisted pair. In the aspect of logic coding, the traditional 10B8B coding method is improved, and a 10B6B coding method with self correcting ability is designed, which not only improves the DC balance status of twisted pair, but also reduces the bit error rate in the LVDS transmission process. Compared with the normal coded LVDS interface, the optimized LVDS interface has a longer transmission distance and a smaller bit error rate. The design method is simple and reliable, and the performance is stable. The experimental results show that the zero error rate reliable transmission can be realized at 400 Mb/s rate under the 48 m differential twisted pair length.
Key words : LVDS;10B6B encoding;clock synchronization;bit error rate;driver

0 引言

    LVDS(Low Voltage Differential Signal)信號比傳統(tǒng)TTL接口有很低的電壓擺幅、較高的噪聲容限能力,且功耗僅為幾毫瓦,抗干擾性相對其他總線接口也具有一定優(yōu)越性[1]。但由于其低電壓差分傳輸導(dǎo)致其正常通信距離僅為5 m左右,同時在面對空間復(fù)雜的電磁環(huán)境時會導(dǎo)致信號傳輸誤碼,降低傳輸可靠性。本設(shè)計通過對傳輸接口增加驅(qū)動器和自適應(yīng)均衡器,極大地提高了LVDS信號通信距離;同時在鏈路中采用了10B6B的編碼方式,在維持直流平衡的基礎(chǔ)上還可檢測并糾錯1 bit的數(shù)據(jù),一定程度上減小了數(shù)據(jù)傳輸?shù)?a class="innerlink" href="http://theprogrammingfactory.com/tags/誤碼率" title="誤碼率" target="_blank">誤碼率,保證了LVDS信號在惡劣環(huán)境中高速遠距離傳輸時的可靠性。

1 硬件電路的優(yōu)化設(shè)計

    工程應(yīng)用中采用一般LVDS接口進行數(shù)據(jù)傳輸時,在傳輸距離為5 m時信號已經(jīng)發(fā)生嚴(yán)重衰減和畸變[2],無法正常區(qū)分高低電平,從而導(dǎo)致傳輸時產(chǎn)生很高的誤碼率。

    在LVDS鏈路傳輸時,誤碼和丟數(shù)產(chǎn)生原因可從以下方面進行分析:

    (1)發(fā)送端信號驅(qū)動能力不足,距離較長時信號衰減嚴(yán)重;

    (2)線路中直流不失衡,導(dǎo)致誤碼產(chǎn)生;

    (3)時鐘同步錯誤,接收端解出的時鐘與發(fā)送端嵌入的時鐘不一致,導(dǎo)致數(shù)據(jù)接收錯誤。

    通過以上分析,首先在硬件設(shè)計方面對LVDS接口電路進行優(yōu)化。在數(shù)據(jù)發(fā)送端,使用SN65LV1023A串化器將FPGA輸出的并行數(shù)據(jù)轉(zhuǎn)化為串行輸出,其次在發(fā)送端增加LMH0001SQ高速驅(qū)動器,增強信號驅(qū)動能力;在接收端則采用LMH0073SQ自適應(yīng)均衡器,補償信號在遠距離傳輸時出現(xiàn)的衰減,恢復(fù)其發(fā)生畸變的信號,最后通過SN65LV1224BDBR解串器,將串行數(shù)據(jù)轉(zhuǎn)化為并行數(shù)據(jù),經(jīng)地面測試臺PCI接口將數(shù)據(jù)送至上位機進行分析和處理。系統(tǒng)總體設(shè)計框圖如圖1所示。

ck3-t1.gif

1.1 發(fā)送端電路的優(yōu)化設(shè)計

    在LVDS發(fā)送端,由于串行器SN65LV1023A輸出僅為100 mV左右的低壓差分信號,故需其在差分輸出端增加LMH0001SQ驅(qū)動器來提高驅(qū)動能力。LMH0001SQ高速驅(qū)動器最高傳輸速率可達 540 Mb/s,差分輸入門檻電壓為100 mV,功耗僅為125 mW[3]。輸出端電壓可通過REF引腳外接電阻進行調(diào)節(jié)。本設(shè)計使用750 Ω的外接電阻,得到約800 mV的差分電壓輸出,加上直流偏置電壓,使得輸出電壓在1.6 V~2.4 V之間,提高了數(shù)據(jù)遠距離傳輸?shù)尿?qū)動能力。發(fā)送端驅(qū)動器設(shè)計如圖2所示。

ck3-t2.gif

    由于LMH0001SQ差分線輸入電阻需要與串行器SN65LV1023A進行阻抗匹配,因此PCB設(shè)計時100 Ω電阻要緊貼引腳;同時輸出端增加了SMDA03LC接口保護芯片,可防止輸出端電路發(fā)生不可逆故障對后級電路造成影響,保證了LVDS接口的安全性以及可靠性。

1.2 接收端電路的優(yōu)化設(shè)計

    LVDS信號在高速傳輸過程中由于導(dǎo)體的趨膚效應(yīng),信號會產(chǎn)生一定損耗,損耗程度與信號頻率的平方根和電纜長度之積成正比[4]。為保證信號傳輸可靠性,需要在接收端補償信號[5]。LMH0074SQ均衡器是針對78 Mb/s~540 Mb/s的傳輸速率,能夠自適應(yīng)補償400 m belden 1694A 和第5類非屏蔽雙絞線傳輸?shù)膿p耗,該均衡器抖動性極低,功耗僅為208 mW。

    接收端均衡器設(shè)計如圖3所示。使用時在LMH0074均衡器AEC+和AEC-引腳之間跨接一個1 μF的電容,用來控制均衡環(huán)路的增益和帶寬[6]。由于輸出端具有50 Ω的差分輸出,為防止信號發(fā)生振鈴或反射,可在差分線間匹配精度為1%的100 Ω電阻,布線時應(yīng)盡量靠近解串器。均衡器最大程度地還原了衰減和畸變信號,提高了線纜傳輸質(zhì)量,減少了誤碼和丟數(shù)現(xiàn)象。

ck3-t3.gif

2 10B6B編碼邏輯設(shè)計

    為進一步提高LVDS數(shù)據(jù)傳輸?shù)目煽啃裕冢?,4)線性分組碼的編碼思想,在傳統(tǒng)的10B8B編碼基礎(chǔ)上改進并設(shè)計了一種10B6B編碼方式,在允許降低傳輸有效帶寬的情況下,設(shè)計4 bit監(jiān)督位來糾錯4 bit信息位,極大地降低了LVDS數(shù)據(jù)傳輸?shù)恼`碼率,很好地改善了直流平衡的狀況。

2.1 10B6B編碼原理

    根據(jù)線性分組碼的編碼原理,(n,k)分組碼要求2r-1≥n(r=n-k),才能用r個監(jiān)督位構(gòu)造r個監(jiān)督關(guān)系式來指示一位誤碼的n種可能位置,進而實現(xiàn)差錯控制。因為LVDS數(shù)據(jù)每次傳輸10 bit數(shù)據(jù),所以至少需要4 bit監(jiān)督位,因此該編碼方式核心是用4 bit監(jiān)督位構(gòu)造4個監(jiān)督關(guān)系式用來指示誤碼的10種位置。這4 bit監(jiān)督位產(chǎn)生的4個監(jiān)督關(guān)系式理論上可以產(chǎn)生16種校正子碼組,根據(jù)實際需要選擇合適的校正子碼組來生成更適合傳輸?shù)拇a型。

2.2 10B6B發(fā)送端邏輯設(shè)計

    改進后的10B6B編碼設(shè)定的校正子與誤碼位置關(guān)系如表1所示,其中S1、S2、S3、S4表示由監(jiān)督關(guān)系方程式計算得到的校正子。由表1可知,當(dāng)誤碼位置在a6、a8、a0、a2、a3時,校正子S1=1;否則S1=0。因此有:

     ck3-gs1-4.gif

ck3-b1.gif

    編碼時取a9、a8、a7、a6、a5、a4為信息碼元,取a3、a2、a1、a0為監(jiān)督碼元,信息碼元隨機,而監(jiān)督碼元由以下監(jiān)督方程唯一確定:

     ck3-gs5-8.gif

    由上述方程式可得到表2所示的64個許用碼組。

ck3-b2.gif

    LVDS數(shù)據(jù)傳輸交替?zhèn)鬏斢行?shù)據(jù)和無效數(shù)據(jù)。有效數(shù)據(jù)每個字節(jié)需傳輸兩次,第一次傳輸?shù)? bit,第二次傳輸高4 bit,由LVDS最高兩位a9、a8作為高低位標(biāo)識。0000011111作為無效數(shù)據(jù)在數(shù)據(jù)線空閑時發(fā)送,用來鎖定發(fā)送時鐘。LVDS數(shù)據(jù)位具體定義如表3所示。

ck3-b3.gif

    線上空閑時發(fā)送無效數(shù)據(jù)為0000011111,且編碼時要考慮1 bit誤碼的無效碼冗余,即表4所示的無效冗余碼接收時均當(dāng)做無效碼處理。由于0100011111與表2中許用碼組沖突,因此在編碼時不用01這個碼組。

ck3-b4.gif

2.3 10B6B接收端解碼設(shè)計

    當(dāng)接收端收到數(shù)據(jù)時,首先根據(jù)校正子方程式計算出校正子,根據(jù)表1即可對應(yīng)出數(shù)據(jù)誤碼位置,對該位置進行編碼生成糾錯碼,如表5所示。要注意的是當(dāng)數(shù)據(jù)接收為表4中數(shù)據(jù)時,此時全部認(rèn)為無效碼,不予進行校正計算。生成糾錯碼后與接收的原始LVDS數(shù)據(jù)進行異或運算,即可糾正傳輸數(shù)據(jù)過程中的一位誤碼。

ck3-b5.gif

    本系統(tǒng)還可對誤碼數(shù)據(jù)量進行統(tǒng)計,當(dāng)糾錯碼為0000000011時,說明出現(xiàn)兩位或以上的錯位,此時字節(jié)錯誤統(tǒng)計自增1;當(dāng)糾錯碼為不為0000000000時,說明數(shù)據(jù)出現(xiàn)一位錯誤,此時數(shù)據(jù)位錯誤統(tǒng)計自增1,方便對誤碼量進行數(shù)據(jù)統(tǒng)計。

3 時鐘同步邏輯設(shè)計

    數(shù)據(jù)發(fā)送前,收發(fā)兩端都需要對時鐘進行同步鎖定。初始化時串化器SN65LV1023A和解串器SN65LV1224B均為三態(tài)輸出,當(dāng)芯片供電電壓穩(wěn)定到2.45 V時,解串器啟動鎖相環(huán)跟蹤并鎖定本地時鐘,完成數(shù)據(jù)串行器和數(shù)據(jù)解串器的同步[7]。

    本設(shè)計同步模式式采用隨機同步和快速同步相結(jié)合的方式,設(shè)備上電后,串化器SN65LV1023A鎖定發(fā)送時鐘TCLK,F(xiàn)PGA將其SYNC1和SYNC2引腳電平拉低,此時串化器向接收端發(fā)送同步碼,當(dāng)解串器檢測到LVDS輸入端的邊沿轉(zhuǎn)換時,它就會根據(jù)FPGA提供的REFCLK參考時鐘嘗試鎖定到嵌入在數(shù)據(jù)流中的時鐘信息[8]。由于串化器SYNC引腳與解串器的LOCK為開環(huán)狀態(tài),因此不能準(zhǔn)確判斷同步時間,所以設(shè)置在25 μs的等待時間后,解串器與串行器完成同步,將解出的RCLK時鐘送給FPGA后,LOCK引腳自動拉低,即可開始數(shù)據(jù)傳輸。

    在進行數(shù)據(jù)發(fā)送時,當(dāng)某個字節(jié)數(shù)據(jù)重復(fù)發(fā)送時,則解串器可能進入誤鎖定狀態(tài),錯誤地將數(shù)據(jù)上升沿識別為開始/停止位,這種現(xiàn)象稱為重復(fù)多重轉(zhuǎn)換(RMT)[9]。解串器中的電路檢測到這種假鎖狀態(tài)時,電路就會阻止LOCK引腳輸出有效,直到這種假鎖狀態(tài)發(fā)生改變。當(dāng)解串器檢測到4個連續(xù)周期的上升沿(停止/啟動位)在同一位置時,解串器將重新鎖定時鐘,否則仍為失鎖狀態(tài)。

    本設(shè)計數(shù)據(jù)傳輸采用有效數(shù)和無效數(shù)混合發(fā)送的方式,既可以保證LVDS線路時刻都有數(shù)據(jù)持續(xù)傳送,不會因為由于有效數(shù)據(jù)發(fā)送不連續(xù)而造成失鎖,也可減少由于內(nèi)嵌時鐘位鎖定錯誤所造成的丟數(shù)的情況。同時設(shè)置最高兩位為標(biāo)識位,當(dāng)最高位為“10”和“11”時為有效數(shù)據(jù)的低4位和高4位,否則為無效數(shù)。這種高位固定值的傳輸方式由于每次在12 bit后有固定周期的跳變,極大程度地降低了嵌入時鐘位誤鎖定的可能。

4 數(shù)據(jù)可靠性驗證

    對硬件優(yōu)化效果進行測試,在沒有增加驅(qū)動器和均衡器雙絞線長度為3.5 m時,數(shù)據(jù)接收正常;當(dāng)線纜長度增加時,誤碼率也隨之上升,當(dāng)測試傳輸電纜網(wǎng)長度增加為48 m時,誤碼率已高達64.830 245%,已完全不能保證數(shù)據(jù)的可靠傳輸。

    在增加驅(qū)動器和均衡器硬件優(yōu)化后,采用6段8 m的屏蔽雙絞線組成48 m的電纜網(wǎng)進行測試,修改采編器程序中LVDS數(shù)據(jù)發(fā)送時鐘,使實際傳輸速率為100 Mb/s、200 Mb/s、300 Mb/s、400 Mb/s時,分別對采用10B6B編碼方式前后進行誤碼測試,結(jié)果如表6所示。

ck3-b6.gif

    分析測試結(jié)果可知:當(dāng)傳輸速率低于100 Mb/s時,硬件電路能保證傳輸?shù)目煽啃?;?dāng)傳輸速率大于100 Mb/s時,誤碼率隨著速率的增大而增加。在邏輯設(shè)計上加入10B6B編碼后,在允許降低傳輸有效帶寬的情況下,傳輸速率為400 Mb/s時可保證遠程LVDS數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

5 結(jié)束語

    針對LVDS傳輸過程中的可靠性問題,從硬件和邏輯編碼方式兩方面進行了優(yōu)化,設(shè)計的10B6B編碼可對數(shù)據(jù)中存在1 bit誤碼數(shù)據(jù)進行檢測糾錯,保障了數(shù)據(jù)的可靠性。在測試“遞增數(shù)”、“遞增數(shù)”、“全0數(shù)”、“全1數(shù)”4種碼型數(shù)據(jù)時,可實現(xiàn)400 Mb/s速率下48 m的零誤碼遠距離可靠傳輸,此設(shè)計系統(tǒng)已成功應(yīng)用于航天飛行器中。

參考文獻

[1] 李輝景,王淑琴,任勇峰,等.基于CRC校驗的高速長線LVDS傳輸設(shè)計[J].電子器件,2015(6):1346-1351.

[2] 李治華,趙冬青,甄國涌,等.高可靠性遠程數(shù)據(jù)傳輸系統(tǒng)設(shè)計[J].電子器件,2017,40(2):490-494.

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

[4] 宋丹.某多通道采編存儲器的研制[D].太原:中北大學(xué),2014.

[5] 王紅旭.高速數(shù)字電路設(shè)計技術(shù)的應(yīng)用研究[D].西安:西安電子科技大學(xué),2006.

[6] 吳聰達.高速數(shù)字設(shè)計中的信號完整性研究[D].西安:西安電子科技大學(xué),2005.

[7] 郭柳柳,甄國涌,劉東海.基于LVDS傳輸電纜均衡器的可靠性分析[J].電子技術(shù)應(yīng)用,2014,40(10):40-42.

[8] 易敏,蘇淑靖.基于LVDS的高可靠性數(shù)據(jù)傳輸設(shè)計[J].微電子學(xué)與計算機,2014,31(9):131-134.

[9] 范丹,何永強,方晉賢.高速LVDS接口電路設(shè)計[J].儀表技術(shù),2010(4):7-12.




作者信息:

李北國1,楊圣龍2,李輝景2

(1.北京航天長征飛行器研究所,北京100076;

2.中北大學(xué) 儀器科學(xué)與動態(tài)測試教育部重點實驗室,山西 太原030051)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。