《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的LVDS高可靠性傳輸優(yōu)化設(shè)計(jì)
基于FPGA的LVDS高可靠性傳輸優(yōu)化設(shè)計(jì)
2018年電子技術(shù)應(yīng)用第8期
李北國(guó)1,楊圣龍2,李輝景2
1.北京航天長(zhǎng)征飛行器研究所,北京100076; 2.中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原030051
摘要: 針對(duì)LVDS高速鏈路傳輸過程中出現(xiàn)的誤碼及傳輸距離較短問題,分別從硬件和邏輯編碼方面提出各自優(yōu)化方案。硬件方面在LVDS發(fā)送端增加高速驅(qū)動(dòng)器,接收端增加自適應(yīng)線纜均衡器,可補(bǔ)償信號(hào)在長(zhǎng)距離傳輸過程中出現(xiàn)的衰減,還原雙絞線中的畸變信號(hào)。在邏輯編碼方面,對(duì)傳統(tǒng)的10B8B編碼方式進(jìn)行改進(jìn),設(shè)計(jì)出一種具有自糾錯(cuò)能力的10B6B編碼方式,不僅改善了雙絞線中直流平衡狀況,而且減小了LVDS傳輸過程中的誤碼率。優(yōu)化后的LVDS接口與正常編碼的LVDS接口相比,具有更遠(yuǎn)的傳輸距離,更小的誤碼率。該設(shè)計(jì)方法簡(jiǎn)單可靠,性能穩(wěn)定,測(cè)試結(jié)果表明,可在48 m差分雙絞線長(zhǎng)度下以400 Mb/s速率實(shí)現(xiàn)零誤碼可靠傳輸。
中圖分類號(hào): TP274
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.180457
中文引用格式: 李北國(guó),楊圣龍,李輝景. 基于FPGA的LVDS高可靠性傳輸優(yōu)化設(shè)計(jì)[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)信號(hào)比傳統(tǒng)TTL接口有很低的電壓擺幅、較高的噪聲容限能力,且功耗僅為幾毫瓦,抗干擾性相對(duì)其他總線接口也具有一定優(yōu)越性[1]。但由于其低電壓差分傳輸導(dǎo)致其正常通信距離僅為5 m左右,同時(shí)在面對(duì)空間復(fù)雜的電磁環(huán)境時(shí)會(huì)導(dǎo)致信號(hào)傳輸誤碼,降低傳輸可靠性。本設(shè)計(jì)通過對(duì)傳輸接口增加驅(qū)動(dòng)器和自適應(yīng)均衡器,極大地提高了LVDS信號(hào)通信距離;同時(shí)在鏈路中采用了10B6B的編碼方式,在維持直流平衡的基礎(chǔ)上還可檢測(cè)并糾錯(cuò)1 bit的數(shù)據(jù),一定程度上減小了數(shù)據(jù)傳輸?shù)?a class="innerlink" href="http://theprogrammingfactory.com/tags/誤碼率" title="誤碼率" target="_blank">誤碼率,保證了LVDS信號(hào)在惡劣環(huán)境中高速遠(yuǎn)距離傳輸時(shí)的可靠性。

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

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

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

    (1)發(fā)送端信號(hào)驅(qū)動(dòng)能力不足,距離較長(zhǎng)時(shí)信號(hào)衰減嚴(yán)重;

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

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

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

ck3-t1.gif

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

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

ck3-t2.gif

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

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

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

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

ck3-t3.gif

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

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

2.1 10B6B編碼原理

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

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

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

     ck3-gs1-4.gif

ck3-b1.gif

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

     ck3-gs5-8.gif

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

ck3-b2.gif

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

ck3-b3.gif

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

ck3-b4.gif

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

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

ck3-b5.gif

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

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

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

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

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

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

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

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

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

ck3-b6.gif

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

5 結(jié)束語

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

參考文獻(xiàn)

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

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

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

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

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

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

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

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

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




作者信息:

李北國(guó)1,楊圣龍2,李輝景2

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

2.中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西 太原030051)

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