任勇峰,楊舒天,劉東海
(中北大學 電子測試技術國家重點實驗室,山西 太原 030051)
數(shù)據(jù)采編器與存儲器的研制有效節(jié)約了飛行器的研制時間與成本,在航空航天領域內(nèi)應用廣泛。數(shù)據(jù)采編器與存儲器主要用于采集各類飛行試驗的關鍵數(shù)據(jù)進行存儲,并且對采集到的存儲數(shù)據(jù)進行分析,由此來判斷飛行器的工作狀態(tài),從而更好地優(yōu)化改進飛行器。在某些特殊環(huán)境中,如高壓高溫、低溫、飛行器發(fā)射陣地檢查階段,為了測試人員的安全,通常無法近距離完成測試工作時,只能通過遠距離長線傳輸。常見的傳輸總線有異步的RS 422、RS 485、CAN 總線。電纜周圍的工作環(huán)境惡劣并且電連接器較多,會產(chǎn)生大量的電磁干擾信號,故要求信號傳輸速度快,但傳統(tǒng)的RS 422、RS 485 串行總線與通常應用在汽車領域的CAN 總線最大傳輸速率在1 Mb/s 左右,已經(jīng)不滿足設計要求。本文設計采用LVDS 通信方式來解決該問題。
LVDS 本身傳輸距離較短,不能有效地進行遠距離傳輸,所以在本文設計中,硬件部分加入了發(fā)送驅(qū)動器和接收均衡器來增強遠距離傳輸?shù)男盘枏姸龋浖壿嬙O計中提出了一種8B/10B 的糾錯機制。LVDS 信號的傳輸可靠性得到了明顯提高,最終可以實現(xiàn)在長度100 m的LVDS 專用屏蔽雙絞電纜的無誤碼率傳輸。
系統(tǒng)由上位機、地面測試裝置、數(shù)據(jù)記錄裝置3 部分組成,總體方案如圖1 所示。數(shù)據(jù)記錄裝置由采集模塊和存儲模塊構成,主要用來采集待測信號的數(shù)據(jù)并進行存儲,同時作為遠距離傳輸鏈路的發(fā)送方,對地面綜合測控臺和上位機軟件的數(shù)據(jù)進行狀態(tài)、各接口數(shù)據(jù)以及指令的相互交互;地面測試裝置主要用于傳輸數(shù)據(jù)和轉(zhuǎn)發(fā)上位機給數(shù)據(jù)記錄裝置的指令;上位機用來控制各種指令的發(fā)送和回收待測信號的數(shù)據(jù)并進行處理。
圖1 系統(tǒng)總體設計框圖
LVDS 接收端的芯片分別由TEXAS INSTRUMENTS公司的 LVDS 解串器 SN65LV1224B 與緩沖器DS10BR150TSD 以及ANALOG DEVIVES 公司的隔離ADN4651 三種集成電路和其旁路電阻電容組成。解串器SN65LV1224B 主要用于時鐘在10~66 MHz 的速度下,通過差分背板或非屏蔽雙絞線傳輸數(shù)據(jù),并將串行數(shù)據(jù)轉(zhuǎn)化為10 位并行TTL 信號和一路時鐘信號數(shù)據(jù),經(jīng)過FPGA 和測控臺傳輸至上位機進行數(shù)據(jù)處理;DS10BR150TSD 具有低抖動、抗干擾、低功耗的優(yōu)點,是高速信號傳輸優(yōu)化的單通道1.0 Gb/s 的LVDS 緩沖器,可以降低設備輸入和輸出的信號衰減,平衡傳輸電纜的高速傳輸信號,為信號的遠距離傳輸提供解決辦法;ADN4651 隔離器具有5 kV RMS 隔 離 和600 Mb/s 雙TX 和RX 通道,抖動性很低且具有良好的性能,能夠很好地實現(xiàn)LVDS 信號的隔離。
圖2 所示為本文設計的LVDS 接收端電路圖。上拉電阻和下拉電阻可以起到穩(wěn)定輸出電位的作用,通常在長線傳輸過程中電阻不匹配會導致反射波干擾,所以加上上下拉電阻可以有效抑制反射波,還可以保證差分輸入端在沒有驅(qū)動的條件下處于斷路,使SN65LV1224 可以維持在邏輯“1”的狀態(tài)。
圖2 電路圖中,當PWRND 端不需要數(shù)據(jù)傳輸時,將其置于低電平鎖相環(huán)停止輸出進入高阻抗狀態(tài)并進入下電狀態(tài);為上拉電阻,其作用為將PWRND 引腳抬高,退出下電狀態(tài);RCLK 為電平的輸出恢復時鐘,在工作時將SN65LV1224B 設置為在RCLK 上升沿選通數(shù)據(jù)。
圖2 LVDS 接收端電路圖
由于使用電纜以及接插件LVDS 信號通過時會有一定程度的衰減,所以在接收端加入緩沖器DS10BR150TSD 來補償接收端信號衰減;之后由ADN4651 進行電流隔離,增強高速工作性能,實現(xiàn)LVDS 信號鏈的直接隔離;最終由SN65LV1224B 將串行數(shù)據(jù)轉(zhuǎn)化為10 位并行數(shù)據(jù)傳送至FPGA 進行處理。圖3 為DS10BR150TSD 輸入與輸出端的波形對比圖,由圖可以看出,信號在被接收端能夠可靠接收,并且在接收端DS10BR150 具有強大的補償信號衰減的能力和恢復能力。
圖3 DS10BR150TSD 輸入與輸出端的波形對比
LVDS 發(fā)送端也采用3 款芯片,分別為LVDS 串化器SN65LV1023A、電纜驅(qū)動器CLC001AJE 以及靜電保護芯片SMDA03LC。
串化器SN65LV1023A 可以將TTL 信號與時鐘信號轉(zhuǎn)化為一對LVDS 串行信號,其工作頻率為10~66 MHz,傳輸速率為100~792 Mb/s。
CLC001AJE 是LVDS 的電纜驅(qū)動器,其最大傳輸速率為622 Mb/s,輸出電壓800 mVpp~1.0 Vpp,輸出級比其他器件消耗更少的功率,所以CLC001AJE 是高速長距離傳輸?shù)睦硐朐骷?廣泛應用于各種傳輸場合;
防靜電芯片SMDA03LC 用于保護接口電路,使電路避免靜電放電的危害。
圖4 為LVDS 發(fā)送端電路圖。
圖4 LVDS 發(fā)送端電路圖
CLC001AJE 通過配置外圍電阻,以及可以實現(xiàn)直流耦合的電容,將SN65LV1023A 輸出的低壓差分信號從876 mV 提升至2.83 V,有效地增強了驅(qū)動能力。圖5 為CLC001AJE 輸入端與輸出端電壓波形對比圖。
圖5 CLC001AJE 輸入端與輸出端電壓波形對比
在高速串行通信中,要達到理想的誤碼率,關鍵在于串行數(shù)據(jù)的編碼方法。在數(shù)據(jù)傳輸過程中會出現(xiàn)連續(xù)的邏輯“1”和邏輯“0”,而且通常情況下“1”和“0”分布不均勻,這就會導致功率密度中高分量大和電壓位階段關系造成信號出錯。本文提出的8B/10B 編碼方式可以有效解決相關問題,從而實現(xiàn)發(fā)送的“0”和“1”的數(shù)量平衡。8B/10B 是把8 位代碼組合編寫為10 位代碼,在編碼中有256 個數(shù)據(jù)字符編碼,記作Dx.y,12 個控制編碼記作Kx.y。在數(shù)據(jù)進行編碼的過程中,通常把8 bit數(shù)據(jù)分為3 位有效數(shù)據(jù)和5 位有效數(shù)據(jù),5 個最低位記作x,3 個最高位記作y。代碼的有效位按照高有效位到低有效位依次記作H,G,F(xiàn),E,D,C,B,A。最高3 位有效數(shù)據(jù)在進行組合成為4 bit,記作f,g,h,j,5 位有效數(shù)據(jù)進行組合成為6 bit 數(shù)據(jù)記作a,b,c,d,e,i,最后3 bit與6 bit數(shù)據(jù)進行整合形成新的10 bit編碼。
圖6 為8B/10B 編碼原理圖。8B/10B 編碼可以將數(shù)據(jù)分成兩組,對于4B/6B 數(shù)據(jù)而言,如果各個分組中的數(shù)據(jù)位“0”和“1”的數(shù)量相同,就稱這種情況為完美平衡碼。8B/10B 編碼中最大運行長度為5 bit,不平衡度不可能為±1,至少有2 位不相同,這時引入極性差RD 來表示不平衡度,用2 個10 bit字符表示一位8 bit字符,在編碼中“0”和“1”多2 個時記為RD+,反之記為RD_。當10B 中“0”和“1”的數(shù)量相同時極性差為0,為完美平衡碼。
圖6 8B/10B 編碼原理圖
整個編碼部分是由3B/4B 編碼模塊、5B/6B 編碼模塊、RD 控制模塊三大部分組成。進行編碼的時候,3B/4B 編碼始終在5B/6B 編碼之后,發(fā)送或接受初始化的RD 值用于目前5B/6B 編碼,用于3B/4B 的編碼為5B/6B所生成的RD 值,但是整個字節(jié)所生成的RD 值是由3B/4B 編碼形成的。在RD 控制模塊中,RD 的值通常為剛上電的初始值,6B 的編碼主要根據(jù)RD 的極性來選擇,然后決定次態(tài)RD;通過5B/6B 編碼所產(chǎn)生的RD 極性來判斷對應的4B 編碼后生成次態(tài)RD,下一個10B 的初始編碼為上一個RD 的值。最后把得到的4 位數(shù)據(jù)與6 位數(shù)據(jù)進行重組,輸出10B 數(shù)據(jù)。圖7 為8B/10B 的整體實現(xiàn)流程。
圖7 8B/10B 整體實現(xiàn)流程
8B/10B 解碼和其他解碼方式相比較為簡單,首先將10 位數(shù)據(jù)分解為6 位和4 位,然后才采用6B/5B 和4B/3B 來進行解碼,再通過外部時鐘控制來恢復時鐘信號,將解碼的5B 與3B 數(shù)據(jù)進行結合,輸出8B 數(shù)據(jù)。圖8 為8B/10B 仿真圖。從圖8 可知,LVDSdata 為初始8 位遞增數(shù)據(jù),enco_data 為10B 數(shù)據(jù)符合8B/10B 的編碼規(guī)范,數(shù)據(jù)輸出端dec_dout 為輸出的8B 數(shù)據(jù)。從圖中可以看出,輸出端輸出的數(shù)據(jù)可以完全恢復為編碼前的原始數(shù)據(jù),從而驗證了解碼的正確性。
圖8 8B/10B 仿真圖
為了驗證試驗的可靠性,搭建平臺,通過上位機反饋的數(shù)據(jù)驗證本次試驗是否成功。平臺由LVDS 測試電纜、地面測控臺、數(shù)據(jù)采編器、液晶顯示器組成,在特定的高低溫環(huán)境下進行大量試驗,來驗證此次設計的可靠性。圖9 為上位機接收原始數(shù)據(jù),其中09~00 和F9~F2 為自減數(shù),000F9FEA~000F9FF9 為幀計數(shù),EB90為幀尾??梢钥闯觯瑤嫈?shù)完整,沒有產(chǎn)生丟數(shù)或者誤碼情況。
圖9 上位機接收原始數(shù)據(jù)圖
通過對程序的修改,使傳輸碼率按照表1進行變換,并對每一種速率進行測試,每次回收量不超過5 GB,進行25 次循環(huán)測試,對采集回來的數(shù)據(jù)進行誤碼分析。由表中數(shù)據(jù)可知,在傳輸速率低于200 Mb/s 時,平均誤碼率較低;但超過200 Mb/s 時,LVDS 鏈路已經(jīng)開始頻繁出錯。增加了線上8B/10B 編碼后,極大地降低了傳輸?shù)恼`碼率,提高了可靠性,使數(shù)據(jù)在100 m 的LVDS 雙絞電纜上實現(xiàn)了以240 Mb/s 的無誤碼傳輸,滿足本文設計的要求。
表1 測試結果
本文設計要求在惡劣環(huán)境中實現(xiàn)遠距離數(shù)據(jù)可靠性傳輸,硬件方面,在原有LVDS 電路中加入了緩沖器DS10BR150TSD 和驅(qū)動器,極大地提高了信號接收能力的可靠性以及電路的驅(qū)動能力,保證了LVDS 信號的有效傳輸。在邏輯上增加了8B/10B 編碼機制,對傳輸?shù)木幋a增加了校驗機制,改善了鏈路傳輸情況,提高了數(shù)據(jù)傳輸?shù)姆€(wěn)定性。最后通過高低溫實驗模擬惡劣環(huán)境,進行了大量實驗得出,數(shù)據(jù)能在100 m LVDS 雙絞電纜上實現(xiàn)以240 Mb/s 的零誤碼傳輸,能夠達到任務要求,實現(xiàn)了預期的效果。