基于FPGA 的低成本長距離高速傳輸系統的設計與實現
摘要:為解決目前高速信號處理中的數據傳輸速度瓶頸以及傳輸距離的問題,設計并實現了一種基于FPGA 的高速數據傳輸系統,本系統借助Altera Cyclone III FPGA 的LVDS I/O 通道產生LVDS 信號,穩定地完成了數據的高速、遠距離傳輸。系統所需的8B/10B 編解碼、數據時鐘恢復(CDR)、串/并行轉換電路、誤碼率計算模塊均在FPGA 內利用VHDL 語言設計實現,大大降低了系統互聯的復雜度和成本,提高了系統集成度和穩定性。
0、引言
在地質勘探、工業環境監測、大型科學實驗等領域中需要將實時采集到的大量數據以較高的速率傳輸距離較遠,復雜而龐大的數據傳輸任務給傳輸系統的設計帶來極大的挑戰。目前常見的遠距離高速傳輸方案多采用較為復雜的光纖通道等方案,系統的成本、設計難度、體積和功耗都相對較大,限制了其應用場合。
LVDS(Low Voltage Differential Signaling)是一種小振幅差分信號技術,它允許單個信道傳輸速率達到每秒數百兆比特,其特有的低振幅及恒流源模式驅動只產生極低的噪聲,消耗非常小的功率。LVDS 是目前常見的高速數據傳輸方案,但其多用于芯片間、背板間或設備間進行近距離的數據傳輸。
本文中提出的高速數據遠距離傳輸系統方案以Altera 公司Cyclone III 系列低成本FPGA 芯片EP3C5E144C8 的為核心,以LVDS 信號為基礎,通過增加信道編碼、數據時鐘恢復、預加重和均衡等技術,保證了數據傳輸的穩定性和同步性。保證采用UTP-5 雙絞線為傳輸介質時傳輸速率不低于400Mbps,傳輸距離為50 米時上的,實現低成本的遠距離高速數據傳輸。
1、方案總體設計
LVDS 信號一種低振幅高速差分信號,由于其電氣特性決定了其傳輸距離有限。為了滿足系統使用UTP-5 雙絞線實現距離50m 的數據傳輸要求,需要通過增加預加重和均衡技術來恢復線路上傳輸的信號波形。由于傳輸距離較遠且傳輸速率較高,無法直接采用傳送位時鐘信號和幀同步脈沖來保證系統同步。本系統采取接收端從接收數據中恢復時鐘信號的方法簡化系統設計方案。
系統整體設計框圖如圖1 所示,整個系統的核心模塊包括了8B/10B 編碼、CDR(時鐘恢復)、并-串/串-并轉換模塊、LVDS 接口電路、電纜驅動器(Cable Driver)和電纜均衡器(Cable Equalizer)等。數據在發送端的FPGA 內經過8B/10B 編碼,并-串轉換經LVDS 模式的I/O 端口轉化為LVDS 信號,然后經過線路驅動器芯片CLC001 預加重后,通過UTP-5 雙絞線傳出數據。接收端收到的信號經過均衡器芯片LMH0074SQ 均衡后進入FPGA,在接收端FPGA 內,數據先經過CDR 模塊提取時鐘信號,然后字對齊后經過串-并轉換產生并行數據流,最后經過8B/10B 解碼模塊得到傳輸數據。
整個系統除電纜驅動器和電纜均衡器采用專用芯片外其它功能均在FPGA內部實現,從而極大的減小了系統的復雜度和PCB 板的面積。
圖1 系統整體框圖
2.FPGA 關鍵模塊設計
FPGA 作為系統的核心芯片,根據系統整體方案的設計思路,FPGA 中含有的模塊主要有信道編解碼模塊、數據時鐘恢復模塊、串/并轉換模塊。
2.1 信道編解碼模塊
在高速數據傳輸過程中,為了使數據時鐘恢復模塊中的數字鎖相環能夠得到足夠充足的跳變沿信息,需要采用信道編解碼技術消除或減少數字電信號中的直流和低頻分量。8B/10B 編碼是其中最常用的一種編碼方式。
8B/10B 編碼被廣泛應用于多種高速串行通信協議中。它將8bits 的基帶信號映射成10bits 的數據進行發送,防止在基帶數據中過多的0 碼流或1 碼流。通過8B/10B 編碼可以提高數據在鏈路上的傳輸的性能;使接收器可以正確地恢復時鐘;提高碼流中一個或者多個比特錯誤的檢測能力;定義特定的碼元使接收器能夠正確地對齊碼元。在本系統中分別在兩塊FPGA 中實現了8B/10B 編碼模塊和8B/10B 解碼模塊。
8B/10B 編碼模塊如圖2 所示,該模塊在邏輯上又分成3B/4B 編碼模塊、5B/6B 編碼模塊、RD 控制模塊等3 部分。編碼器首先將接收到的8B 數據分成3 bit 和5 bit 兩部分,然后分別編碼成4 bit 和6 bit,編碼完成的4 bit 和6 bit 再按順序組合成10B 碼。整個系統首先將3 bit 編碼成4 bit,RD 控制器讀出4 bit 數據的RD 值,然后反饋控制5B/6B 編碼模塊選擇合適的編碼。最終RD 控制器判斷10B 數據的RD 值,若滿足要求則輸出,否則將報錯。
圖2 8B/10B 編碼模塊邏輯框圖
評論