文獻標識碼: A
文章編號: 0258-7998(2014)08-0044-04
隨著科學技術的高速發展,高速處理器、多媒體以及網絡技術等要求傳輸的數據量越來越大,需要的傳輸速度越來越快,尤其是現在許多設備要求具有長距離傳送數據的能力,以確保可以傳輸千米以上的距離[1]。普通的并行總線由于自身的劣勢,無法適用于長距離數據傳輸的系統中。
基于串行器/解串器構架的LVDS解決方案具有使用簡單、傳輸速度高、抗干擾能力較強和使用節點少等特點,因此可以采用該方案來實現遠程高速數據傳輸功能[2]。但在一些惡劣的環境(如超遠距離或高干擾環境)中,LVDS數據仍然可能出現信號衰減或嚴重失真。基于此,本文給出了一種針對LVDS遠程傳輸的延展卡的設計方案,將雙絞線傳輸和光纖傳輸相結合,使數據傳輸距離可達幾千米遠。
1 系統方案設計
設計要求信號以400 Mb/s的速度傳輸2 km以上的距離。根據設計需求和方案合理性,采集存儲系統到延展卡之間采用100 m雙絞線通信,延展卡與遠程測控臺之間采用2 km光纖通信??傮w設計如圖1所示,分為FPGA核心控制模塊、雙絞線接口模塊、光纖接口模塊、光耦隔離模塊、電源管理模塊等幾部分。系統指令由光模塊接收,并通過光耦隔離并行發出;數據由雙絞線傳輸并通過光模塊轉發。
圖1 系統總體設計
2 硬件設計中的關鍵點
2.1 雙絞線接口設計
雙絞線傳輸伴隨著信號大幅度衰減。圖2中波形1為一組隨機LVDS信號通過100 m電纜傳輸后的波形。顯然有部分電平越不過零點門限,在接收端加上電纜均衡器CLC014,將之與SN65LV1224搭配使用,可以解決這個問題。CLC014最大可以均衡120 m的第五類未屏蔽雙絞線。
圖2 無均衡器時波形(上)與加均衡器后波形(下)
如圖3所示為添加均衡器后的雙絞線接收模塊電路,R1和R2為匹配電阻,可參照公式
計算阻值。本系統雙絞線特性阻抗Z0為100 Ω,R1、R2的阻值根據輸出電平調整為25 Ω。隔直電容C1的容值為0.01 μF,為經雙絞線衰減后的信號提供交流耦合。CLC014的輸出取自輸出晶體管的集電極,由正電源通過二極管和50 Ω的電阻建立PECL電平,從而獲得理想的輸出波形。電阻R3為媒質終端匹配電阻,阻值為100±20 Ω,用于防止信號在媒質終端發生反射,減少電磁,布局時要靠近接收器輸入端放置。圖2中波形2為增加均衡器之后的信號波形,可見波形恢復正常,高低電平明顯。
圖3 雙絞線接收
2.2 光纖接口設計
光模塊選用OCM3723,其輸入信號電平范圍為1.5~2.3 V,而LVDS串化器SN65LV1023的輸出幅值約800 mV,所以需要增加驅動器CLC006,將信號增強到2 V之后再輸入光模塊。接收命令時,解串器SN65LV1224與均衡器CLC014搭配,將光模塊輸出的命令信號重新組構,并恢復其強度。光纖接收與發送部分電路如圖4所示。
(a)光纖接收
(b)光纖發送
圖4 光纖接收與光纖發送電路
OCM3723屬于LVPECL接口電平,而CLC014和CLC006屬于PECL接口電平,所以采用交流耦合方式連接。PECL/LVPECL的輸出共模電壓需固定在VCC-1.3 V上,直流偏置電阻需提供14 mA到地的通路,所以R4=(VCC-1.3 V)/14 mA,當VCC=3.3 V時,R4=142 Ω,應用中為了讓輸出波形達到最佳,R4可以從142 Ω~200 Ω之間選取。PECL/LVPECL輸入直流偏壓要固定在VCC-1.3 V上,輸入阻抗應等于傳輸線路阻抗,可列出方程=VCC-1.3 V且R5||R6=50 Ω,當VCC=3.3 V時,R5=82 Ω,R6=130 Ω。因為CLC014輸入和CLC006輸出在其芯片內部有偏置電路,所以無需設計外部偏置網絡。
光纖發送端和接收端數據波形如圖5所示。可以看出通過2 km光纖之后,信號波形仍然比較標準。對比雙絞線端接收的數據波形,不難發現光纖比雙絞線的傳輸效果好很多。
(a)光纖發送端 (b)接收端
(橫軸坐標為50 ns/格,縱軸坐標為500 mV/格)
圖5 數據波形
2.3 光耦隔離接口設計
因為系統指令切換的頻率較數據傳輸的速率低得多,所以為了簡化電路,增加指令傳輸的可靠性,經過FPGA重組后的指令由5條并行線傳輸。指令接口部分采用高速10 MB/s光電耦合器HCPL-2631進行電氣隔離,6.3 mA電流即可導通工作,雙通道單向傳輸,真正實現前后級互不干擾,提高了接口的可靠性。圖6所示為HCPL-2631的單路傳輸接口電路。當FPGA接口為邏輯0時,HCPL-2631內部電路導通輸出低電平;當FPGA接口為邏輯1時,HCPL-2631內部電路不導通,輸出高電平。
圖6 光耦隔離接口電路
3 邏輯設計中的關鍵點
3.1 防止指令誤判
為了防止接收端指令的誤判,首先對指令進行奇校驗。設計時將指令中1的個數定為奇數個。接收指令的奇偶性判斷是通過對指令的各個數據位進行異或操作(XOR)實現的,即:
只有當oddverify為1時,才認為當前傳輸的是有效指令,并用5位數組f_state重新定義當前指令[3]。新定義的f_state指令信號需再經過雙重計數器消抖才能最終輸出。外部計數器對所有有效指令進行消抖計數,而內部計數器針對某一個指令進行消抖計數,消抖后的state指令為最終的5線指令。
圖7所示為部分指令判別的時序仿真圖。從圖中可以看出,“0110001111”經過奇校驗后被過濾,指令切換時出現的誤指令“0101100110”被外部計數器隔斷,之后傳輸中的誤碼指令“0110011111”也被內部計數器過濾。
圖7 指令判別時序仿真圖
3.2 LVDS接口時鐘與采集速率匹配問題
LVDS接口時鐘是固定的,而采集設備的采集速率根據需求可控,二者速度不匹配,所以數據鏈路中經常出現傳輸空白;如果數據采用間歇式傳輸,則LVDS芯片中斷后再同步會有500 μs的數據丟失。
針對這一問題,設計中引入無效數與有效數交替發送的模式。當鏈路中無數據傳輸時,FPGA自編譯無效數據,使鏈路保持通信狀態。LVDS芯片有10位數據管腳,有效數據占用了其中的低8位,高2位作為區別有效數和無效數的標志位。定義“01”為有效數標志,“00”為無效數標志。實驗證明無效數發送“00011111”同步穩定性高,原因可能是“00011111”配合標志位“00”正好構成同步碼“0000011111”,而LVDS芯片同步的過程就是不斷識別同步碼的過程。所以這樣不但解決了速度匹配問題,也提高了系統數據鏈路的可靠性。
3.3 光纖接口LVDS失鎖問題
光模塊與LVDS接收模塊之間連續傳輸“FF”數據出現失鎖,表現為SN65LV1224的鎖存標志LOCK出現高電平脈沖。經分析,交流耦合電路中的耦合電容隔斷了信號的直流分量,因此LVDS接收端只能觀察到輸入信號的前后沿。當數據1連續出現時,電容會造成接收端電壓下降,信號產生抖動[4]。所以連續傳輸“FF”數據容易造成LVDS失鎖。一種高效的解決辦法是使用8B/10B編碼實現直流平衡,或者選用帶有8B/10B編碼的串/并轉換芯片[5]。為了配合前端邏輯設計,同時考慮到只有傳輸“FF”時才會出現失鎖的情況,本設計中采取的優化措施是將“FF”數據轉變為“1F”數據發送,即將二進制8位數據“11111111”轉變為“00011111”發送,且高兩位標志位定義為“10”,發送的10位LVDS數據為“1000011111”,這與同步碼數據近似。光纖數據鏈路中共有3種數據類型,圖8為優化后的數據編碼發送流程圖。經過大量測試,優化后的數據編碼方式能夠有效解決LVDS失鎖的問題。
4 試驗方法與測試
針對總體設計方案,配合數據采集存儲裝置和遠程測控臺,對系統進行惡劣環境下數據傳輸的性能測試,雙絞線長度為100 m,光纖長度為2 km。采集存儲裝置啟動自發數模式,測試數據幀格式為:1~250 B是0~249的遞加數,251~254 B是32 bit二進制幀計數,255~256 B為同步字EB 90。圖9所示為上位機接收到的部分數據截圖,幀結構嚴格對齊。采用上位機分析軟件對數據進行分解,分解報告顯示傳輸數據無誤碼,無丟幀。
圖9 測試數據部分截圖
基于LVDS技術的遠程數據傳輸延展卡的設計充分發揮了雙絞線、光纖以及光電耦合器的接口傳輸優勢,并且解決了速度匹配和光纖接口LVDS芯片易失鎖的問題,有效保證了指令的可靠下發以及數據傳輸的準確性,成功將數據傳輸距離擴展至幾千米遠。該卡抗擾能力強,傳輸穩定性高,為高速數據超遠距離傳輸開辟了新的領域。
參考文獻
[1] 劉利生,蘇淑靖,張凱琳.基于LVDS的遠程數據傳輸系統[J].儀表技術與傳感器,2011(12):38-39.
[2] 姚永興,焦新泉,馬培嬌.高可靠性遠程數據傳輸系統設計[J].計算機測量與控制,2011,19(8):1968-1971.
[3] 劉欣,張會新.基于LVDS總線的分布式數據綜合器測試系統[J].科學技術與工程,2013,13(34):10354-10358.
[4] 劉泳銳,張彥軍,劉龍飛.8b/10b編碼實現LVDS交流耦合傳輸中的直流平衡[J].科學技術與工程,2012,12(35):9693-9696,9701.
[5] 何林飛,田佳月,張曉林.基于光纖傳輸的多路高速數據采集系統[J].電子技術應用,2013,39(3):77-79.
(收稿日期:2014-03-27)
作者簡介:
甄國涌,男,1971年生,副教授,碩士生導師,主要研究方向:測試系統集成技術與應用軟件技術。
瞿林,男,1989年生,碩士研究生,主要研究方向:電路與系統、高速數據采集。
劉東海,男,1982年生,碩士研究生,主要研究方向:高速數據采集。