《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA 的低成本長距離高速傳輸系統(tǒng)的設(shè)計與實現(xiàn)
基于FPGA 的低成本長距離高速傳輸系統(tǒng)的設(shè)計與實現(xiàn)
維庫
摘要: 為解決目前高速信號處理中的數(shù)據(jù)傳輸速度瓶頸以及傳輸距離的問題,設(shè)計并實現(xiàn)了一種基于FPGA 的高速數(shù)據(jù)傳輸系統(tǒng),本系統(tǒng)借助Altera Cyclone III FPGA 的LVDS I/O 通道產(chǎn)生LVDS 信號,穩(wěn)定地完成了數(shù)據(jù)的高速、遠(yuǎn)距離傳輸。系統(tǒng)所需的8B/10B 編解碼、數(shù)據(jù)時鐘恢復(fù)(CDR)、串/并行轉(zhuǎn)換電路、誤碼率計算模塊均在FPGA 內(nèi)利用VHDL 語言設(shè)計實現(xiàn),大大降低了系統(tǒng)互聯(lián)的復(fù)雜度和成本,提高了系統(tǒng)集成度和穩(wěn)定性。
關(guān)鍵詞: FPGA 高速傳輸 LVDS
Abstract:
Key words :

     摘要:為解決目前高速信號處理中的數(shù)據(jù)傳輸速度瓶頸以及傳輸距離的問題,設(shè)計并實現(xiàn)了一種基于FPGA 的高速數(shù)據(jù)傳輸系統(tǒng),本系統(tǒng)借助Altera Cyclone III FPGA 的LVDS I/O 通道產(chǎn)生LVDS 信號,穩(wěn)定地完成了數(shù)據(jù)的高速、遠(yuǎn)距離傳輸。系統(tǒng)所需的8B/10B 編解碼、數(shù)據(jù)時鐘恢復(fù)(CDR)、串/并行轉(zhuǎn)換電路、誤碼率計算模塊均在FPGA 內(nèi)利用VHDL 語言設(shè)計實現(xiàn),大大降低了系統(tǒng)互聯(lián)的復(fù)雜度和成本,提高了系統(tǒng)集成度和穩(wěn)定性。


   在地質(zhì)勘探、工業(yè)環(huán)境監(jiān)測、大型科學(xué)實驗等領(lǐng)域中需要將實時采集到的大量數(shù)據(jù)以較高的速率傳輸距離較遠(yuǎn),復(fù)雜而龐大的數(shù)據(jù)傳輸任務(wù)給傳輸系統(tǒng)的設(shè)計帶來極大的挑戰(zhàn)。目前常見的遠(yuǎn)距離高速傳輸方案多采用較為復(fù)雜的光纖通道等方案,系統(tǒng)的成本、設(shè)計難度、體積和功耗都相對較大,限制了其應(yīng)用場合。

  LVDS(Low Voltage Differential Signaling)是一種小振幅差分信號技術(shù),它允許單個信道傳輸速率達(dá)到每秒數(shù)百兆比特,其特有的低振幅及恒流源模式驅(qū)動只產(chǎn)生極低的噪聲,消耗非常小的功率。LVDS 是目前常見的高速數(shù)據(jù)傳輸方案,但其多用于芯片間、背板間或設(shè)備間進(jìn)行近距離的數(shù)據(jù)傳輸。

  本文中提出的高速數(shù)據(jù)遠(yuǎn)距離傳輸系統(tǒng)方案以Altera 公司Cyclone III 系列低成本FPGA 芯片EP3C5E144C8 的為核心,以LVDS 信號為基礎(chǔ),通過增加信道編碼、數(shù)據(jù)時鐘恢復(fù)、預(yù)加重和均衡等技術(shù),保證了數(shù)據(jù)傳輸?shù)姆€(wěn)定性和同步性。保證采用UTP-5 雙絞線為傳輸介質(zhì)時傳輸速率不低于400Mbps,傳輸距離為50 米時上的,實現(xiàn)低成本的遠(yuǎn)距離高速數(shù)據(jù)傳輸。

  1、方案總體設(shè)計

  LVDS 信號一種低振幅高速差分信號,由于其電氣特性決定了其傳輸距離有限。為了滿足系統(tǒng)使用UTP-5 雙絞線實現(xiàn)距離50m 的數(shù)據(jù)傳輸要求,需要通過增加預(yù)加重和均衡技術(shù)來恢復(fù)線路上傳輸?shù)男盘柌ㄐ?。由于傳輸距離較遠(yuǎn)且傳輸速率較高,無法直接采用傳送位時鐘信號和幀同步脈沖來保證系統(tǒng)同步。本系統(tǒng)采取接收端從接收數(shù)據(jù)中恢復(fù)時鐘信號的方法簡化系統(tǒng)設(shè)計方案。

  系統(tǒng)整體設(shè)計框圖如圖1 所示,整個系統(tǒng)的核心模塊包括了8B/10B 編碼、CDR(時鐘恢復(fù))、并-串/串-并轉(zhuǎn)換模塊、LVDS 接口電路、電纜驅(qū)動器(Cable Driver)和電纜均衡器(Cable Equalizer)等。數(shù)據(jù)在發(fā)送端的FPGA 內(nèi)經(jīng)過8B/10B 編碼,并-串轉(zhuǎn)換經(jīng)LVDS 模式的I/O 端口轉(zhuǎn)化為LVDS 信號,然后經(jīng)過線路驅(qū)動器芯片CLC001 預(yù)加重后,通過UTP-5 雙絞線傳出數(shù)據(jù)。接收端收到的信號經(jīng)過均衡器芯片LMH0074SQ 均衡后進(jìn)入FPGA,在接收端FPGA 內(nèi),數(shù)據(jù)先經(jīng)過CDR 模塊提取時鐘信號,然后字對齊后經(jīng)過串-并轉(zhuǎn)換產(chǎn)生并行數(shù)據(jù)流,最后經(jīng)過8B/10B 解碼模塊得到傳輸數(shù)據(jù)。
  整個系統(tǒng)除電纜驅(qū)動器和電纜均衡器采用專用芯片外其它功能均在FPGA內(nèi)部實現(xiàn),從而極大的減小了系統(tǒng)的復(fù)雜度和PCB 板的面積。


圖1 系統(tǒng)整體框圖

  2.FPGA 關(guān)鍵模塊設(shè)計

  FPGA 作為系統(tǒng)的核心芯片,根據(jù)系統(tǒng)整體方案的設(shè)計思路,F(xiàn)PGA 中含有的模塊主要有信道編解碼模塊、數(shù)據(jù)時鐘恢復(fù)模塊、串/并轉(zhuǎn)換模塊。

  2.1 信道編解碼模塊

  在高速數(shù)據(jù)傳輸過程中,為了使數(shù)據(jù)時鐘恢復(fù)模塊中的數(shù)字鎖相環(huán)能夠得到足夠充足的跳變沿信息,需要采用信道編解碼技術(shù)消除或減少數(shù)字電信號中的直流和低頻分量。8B/10B 編碼是其中最常用的一種編碼方式。

  8B/10B 編碼被廣泛應(yīng)用于多種高速串行通信協(xié)議中。它將8bits 的基帶信號映射成10bits 的數(shù)據(jù)進(jìn)行發(fā)送,防止在基帶數(shù)據(jù)中過多的0 碼流或1 碼流。通過8B/10B 編碼可以提高數(shù)據(jù)在鏈路上的傳輸?shù)男阅?;使接收器可以正確地恢復(fù)時鐘;提高碼流中一個或者多個比特錯誤的檢測能力;定義特定的碼元使接收器能夠正確地對齊碼元。在本系統(tǒng)中分別在兩塊FPGA 中實現(xiàn)了8B/10B 編碼模塊和8B/10B 解碼模塊。

  8B/10B 編碼模塊如圖2 所示,該模塊在邏輯上又分成3B/4B 編碼模塊、5B/6B 編碼模塊、RD 控制模塊等3 部分。編碼器首先將接收到的8B 數(shù)據(jù)分成3 bit 和5 bit 兩部分,然后分別編碼成4 bit 和6 bit,編碼完成的4 bit 和6 bit 再按順序組合成10B 碼。整個系統(tǒng)首先將3 bit 編碼成4 bit,RD 控制器讀出4 bit 數(shù)據(jù)的RD 值,然后反饋控制5B/6B 編碼模塊選擇合適的編碼。最終RD 控制器判斷10B 數(shù)據(jù)的RD 值,若滿足要求則輸出,否則將報錯。
圖2 8B/10B 編碼模塊邏輯框圖

  解碼模塊如圖3 所示,可分為6B/5B 解碼模塊、4B/3B 解碼模塊和誤碼檢測模塊。解碼模塊相對編碼模塊而言邏輯過程要簡單的多,該模塊首先將10 bit 信號分割成4 bit 和6bit 兩部分(高低位必須和編碼端對應(yīng)),然后4 bit 和6 bit 數(shù)據(jù)根據(jù)編碼列表分別解碼成3 bit 和5 bit,在解碼過程中判斷是否有誤碼產(chǎn)生有則報錯,無則并行輸出。
 

圖3 8B/10B 解碼模塊邏輯框圖

  2.2.數(shù)據(jù)時鐘恢復(fù)模塊

  在單向數(shù)據(jù)傳輸中,串行通信通常需要同時提供數(shù)據(jù)、位時鐘、幀同步脈沖三路信號。在本系統(tǒng)說要求的高速率、長距離的數(shù)據(jù)傳輸要求下,這種三線連接方式不但浪費(fèi)導(dǎo)線,而且往往受環(huán)境的影響很難實現(xiàn)三路信號間的同步。在本系統(tǒng)中由于輸入信號頻率已知,因此可以在FPGA 芯片內(nèi)部產(chǎn)生與之同頻的時鐘信號。通過數(shù)字鎖相環(huán)電路鎖定輸入信號的相位,并使用此時鐘信號對輸入數(shù)據(jù)進(jìn)行采樣,從而完成信號的接收。因而,利用數(shù)據(jù)時鐘恢復(fù)模塊可以從串行位流數(shù)據(jù)中恢復(fù)出接收位同步時鐘、幀同步脈沖和接收的數(shù)據(jù)。

  數(shù)字鎖相環(huán)(DPLL)是一種相位反饋控制系統(tǒng)。它根據(jù)輸入信號與本地估算時鐘之間的相位誤差對本地估算時鐘的相位進(jìn)行連續(xù)不斷的反饋調(diào)節(jié),從而達(dá)到使本地估算時鐘相位跟蹤輸入信號相位的目的。DPLL 通常有三個組成模塊:數(shù)字鑒相器(DPD)、數(shù)字環(huán)路濾波器(DLF)、 數(shù)控振蕩器(DCO)。根據(jù)各個模塊組態(tài)的不同,DPLL 可以被劃分出許多不同的類型。根據(jù)設(shè)計的要求,本文采用超前滯后型數(shù)字鎖相環(huán)(LL-DPLL)作為解決方案,圖5 是其實現(xiàn)結(jié)構(gòu)。在LL-DPLL 中,DPD 采用微分型超前-滯后數(shù)字鑒相器,DLF 用雙向計數(shù)邏輯和比較邏輯實現(xiàn),DCO 采用加扣脈沖式數(shù)控振蕩器。這樣設(shè)計出來的DPLL 具有結(jié)構(gòu)簡潔明快,參數(shù)調(diào)節(jié)方便,工作穩(wěn)定可靠的優(yōu)點(diǎn),其結(jié)構(gòu)框圖如圖4 所示。
 

圖4 超前滯后型數(shù)字鎖相環(huán)

  環(huán)路的工作原理如下:超前滯后型數(shù)字鑒相器LL-DPD 比較輸入位流數(shù)據(jù)DataIn 與本地估算時鐘ClkEst 的相位,給出相位誤差信號Sign 和AbsVal。DLF 對相位誤差信號進(jìn)行平滑濾波,并生成控制DCO 動作的控制信號Deduct 和Insert。DCO 根據(jù)控制信號給出的指令,調(diào)節(jié)內(nèi)部高速振蕩器的震蕩頻率,使其輸出時鐘ClkEst(同時反饋給LL-DPD)的相位跟蹤輸入數(shù)據(jù)DataIn 的相位。

  3.板級電路設(shè)計

  本系統(tǒng)核心芯片采用Altera 公司的Cyclone III 系列FPGA 中的EP3C5E144C8, Altera 公司的Cyclone III FPGA 系列組合了高性能,低功耗和低成本,邏輯單元(LE) 從5K 到200K,存儲器從0.5Mb 到8Mb,靜態(tài)功耗小于1/4 瓦.

  由于設(shè)計要求達(dá)到高速率、50 米的傳輸距離,傳統(tǒng)的LVDS 接口雖然可以達(dá)到較高的傳輸速率卻不能支持長距離傳輸。所以本系統(tǒng)采用高速串行數(shù)字接口(SDI)自適應(yīng)電纜均衡器及電纜驅(qū)動器芯片來實現(xiàn)數(shù)據(jù)高速率、長距離的傳輸。

  預(yù)加重是在信號發(fā)送前對其進(jìn)行預(yù)扭曲,以使接收器上的信號質(zhì)量如同原始發(fā)送的質(zhì)量。當(dāng)信號在直流電平上保持超過一個比特的時間時,預(yù)加重就會抬高高頻分量而降低低頻分量。本文選用CLC001 電纜驅(qū)動芯片,CLC001 采用3.3V 供電,輸出幅度可調(diào),理論數(shù)據(jù)速率最高可達(dá)622Mbps 。

  接收均衡通過對輸入數(shù)據(jù)運(yùn)用相對頻率特征來補(bǔ)償信號的損耗特征。本文選用LMH0074SQ 接收均衡芯片,LM0074SQ 是標(biāo)準(zhǔn)清晰度SDI 電纜均衡器,可在540 Mbps 的速度范圍內(nèi)操作,輸出抖動典型值為0.2UI。

  FPGA 外部電路如圖5所示,在發(fā)送端,F(xiàn)PGA 產(chǎn)生的LVDS 信號經(jīng)CLC001 預(yù)加重后通過UTP-5 雙絞線傳輸;在接收端,信號先經(jīng)過LMH0074SQ 均衡后隔直輸出。由于LVDS 接口電平標(biāo)準(zhǔn)要求輸入電壓直流偏置為1.2V,因此需要通過偏置電路在引入1.2V 的直流偏置后再傳給FPGA。


 

圖5 FPGA 外圍電路

  4.數(shù)據(jù)測試及系統(tǒng)性能分析

  4.1 系統(tǒng)測試方案

  測試方案主要對系統(tǒng)的靜態(tài)功耗、動態(tài)功耗以及在50 米傳輸距離時的數(shù)據(jù)傳輸速率及相應(yīng)的誤碼率進(jìn)行測試。測試方案連接框圖如圖6所示。測試所用數(shù)據(jù)存在發(fā)送端例化的ROM 中,接收端FPGA 中例化有FIFO 和ROM,F(xiàn)IFO 用來存儲接收的數(shù)據(jù),ROM 中則存儲有和發(fā)送端ROM 中相同的數(shù)據(jù),用來計算誤碼率。同時,在接收端FPGA 中有接收數(shù)據(jù)計數(shù)器和錯誤比特計數(shù)器模塊,通過設(shè)置SignalTap II 的觸發(fā)信號和想觀察的信號,就可以在SignalTap II Logic Analyzer 的窗口中實時的看到這些信號。
 

圖6 系統(tǒng)測試方案

  4.2 功耗測試

  本系統(tǒng)通過直流穩(wěn)壓電源供電,方便計算整個系統(tǒng)的功耗。經(jīng)測試發(fā)現(xiàn),在不同的傳輸速率時系統(tǒng)的功耗差別不大,動態(tài)功耗典型值為數(shù)據(jù)傳輸速率100Mbps 時,系統(tǒng)消耗電流0.24A,供電電壓3.3V,系統(tǒng)功耗為792mW。靜態(tài)功耗測量時,不發(fā)送數(shù)據(jù),但保持50 米雙絞線接入,電流為0.20A,供電電壓為3.3V,靜態(tài)功耗為660mW。

  4.3 誤碼率測試

  在發(fā)送端的FPGA 中采用ROM 來存儲數(shù)據(jù),通過狀態(tài)機(jī)transmitter_fsm_3b 來控制數(shù)據(jù)的發(fā)送,狀態(tài)轉(zhuǎn)移圖如圖7上圖所示。接收端則采用FIFO 來存儲數(shù)據(jù),同時接收端ROM 中存有和發(fā)送端相同的數(shù)據(jù),以實現(xiàn)接受數(shù)據(jù)與原始數(shù)據(jù)的對比,計算誤碼率,接收端通過狀態(tài)機(jī)receiver_fsm_3b 來控制數(shù)據(jù)的接收以及誤碼率的計算,狀態(tài)轉(zhuǎn)移圖如圖7下圖所示。由于EP3C15F144C8 的RAM 大小總共只有512kbits,再加上signal tap 的開銷,所以例化的ROM 和FIFO 比較小,ROM 大小為8Kbyte,內(nèi)部存儲數(shù)據(jù)由00H~FFH 一直重復(fù),把一次ROM 數(shù)據(jù)的發(fā)送當(dāng)成一個幀。每發(fā)送一次ROM 數(shù)據(jù)即比較一次FIFO 中與原始ROM 中的數(shù)據(jù)。重復(fù)發(fā)送20000 次,總bit 數(shù)等于20000 次*(8192*8)bit= 1469120000bit。因為接收端的數(shù)據(jù)時鐘恢復(fù)和字對齊需要一定的時間,因而實際成功重復(fù)次數(shù)不到20000 次,可通過專門的計數(shù)器來確定實際重復(fù)次數(shù)。
 

圖7 狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移圖

  在接收端通過SignalTap II Logic Analyzer 實時查看接收數(shù)據(jù)rx_data、錯誤比特數(shù)error_accumulator 和成功重復(fù)次數(shù)packet_counter,圖8 為SignalTap II Logic Analyzer 接收數(shù)據(jù)的窗口顯示。誤碼率可通過式1 求得:

  誤碼率=錯誤比特數(shù)/(成功重復(fù)次數(shù)×8192×8) (1)
圖8 SignalTap II Logic Analyzer 數(shù)據(jù)接收窗口顯示

  傳輸速率及相應(yīng)誤碼率如表1 所示,在傳輸數(shù)據(jù)為400Mbps,傳輸距離為50 米是誤碼率仍為0。由于選用的均衡器LM0074SQ 的極限速率為540Mbps,因而在數(shù)據(jù)速率為500Mbps 時誤碼率急劇增大。

表1 傳輸速率及相應(yīng)誤碼率


 

  5.總結(jié)

  本系統(tǒng)高速數(shù)據(jù)遠(yuǎn)距離傳輸方案以Altera 公司的Cyclone III 系列EP3C5E144C8 為核心,使用LVDS 信號傳輸數(shù)據(jù),通過信道編碼、數(shù)據(jù)時鐘恢復(fù)、預(yù)加重和均衡等技術(shù)的使用,保證了數(shù)據(jù)傳輸?shù)姆€(wěn)定性和同步性,在傳輸速率為400Mbps,傳輸距離為50 米時,誤碼率為0。可以廣泛的應(yīng)用于各種高速遠(yuǎn)距離數(shù)據(jù)傳輸?shù)膱龊稀?/p>

  Altera 公司新推出的Cyclone IV GX FPGA 中含有8 個收發(fā)器,具有時鐘數(shù)據(jù)恢復(fù)(CDR)功能,并有在片內(nèi)集成可編程預(yù)加重設(shè)置和可調(diào)差分輸出電壓(VOD)提高了信號完整性。本文的后續(xù)工作將在Cyclone IV GX 上實現(xiàn)本系統(tǒng)的所有功能,以進(jìn)一步提高數(shù)據(jù)傳輸速率、傳輸距離、誤碼率等指標(biāo)。

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