新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA的異步LVDS過采樣的研究和實現(xiàn)

基于FPGA的異步LVDS過采樣的研究和實現(xiàn)

作者: 時間:2016-10-18 來源:網(wǎng)絡(luò) 收藏

摘要:針對LVDS接口,研究并實現(xiàn)了一種基于FPGA的LVDS技術(shù),重點對LVDS技術(shù)中系統(tǒng)組成、ISERDESE2、時鐘采樣、數(shù)據(jù)恢復(fù)單元、時鐘同步狀態(tài)機等關(guān)鍵技術(shù)進行了描述,并基于Xilinx FPGA進行了驗證,傳輸速率達到了1.25Gbps。文章的研究為基于FPGA實現(xiàn)系統(tǒng)之間的高速互連具有一定的工程參考價值。

本文引用地址:http://butianyuan.cn/article/201610/308467.htm

0 引言

在數(shù)字系統(tǒng)互聯(lián)設(shè)計中,高速串行傳輸方式正逐步替代并行傳輸方式成為主流。作為串行傳輸標準的一種,(LVDS)接口具有高速率、低功耗、低噪聲和低電磁干擾等優(yōu)點,廣泛應(yīng)用于高速數(shù)字系統(tǒng)設(shè)計中。而在實際應(yīng)用中,采用現(xiàn)場可編程門陣列(FPGA)實現(xiàn)高速LVDS是一種性價比較高的技術(shù)途徑。

隨著半導(dǎo)體工藝的進步,F(xiàn)PGA的性能和集成度在不斷提高,在FPGA芯片中均集成SelectIO資源,通過配置邏輯資源和I/O,可以生成支持LVDS標準的接口,實現(xiàn)高速LVDS接口互聯(lián)通信。在傳統(tǒng)的LVDS互連設(shè)計中,均采用同步采樣方式,在發(fā)送端,一組數(shù)據(jù)伴隨一個時鐘同時傳輸,在接收端,利用一個時鐘去采集數(shù)據(jù)。在Xilinx最新的7系列器件中,支持一種異步方法,當(dāng)采樣的數(shù)據(jù)時鐘相近時(±100ppm)利用SelectIO資源中的ISEKDES2原語可以實現(xiàn)4X最高頻率為1.25Gbps的異步過采樣。

本文介紹了一種基于FPGA實現(xiàn)異步LVDS過采樣的技術(shù),重點對系統(tǒng)組成、ISERDESE2、時鐘采樣、數(shù)據(jù)恢復(fù)單元、時鐘同步狀態(tài)機等關(guān)鍵技術(shù)進行了描述,并基于Xilinx FPGA進行了驗證,傳輸速率達到了1.25Gbps。

1 異步過采樣系統(tǒng)組成

本文采用Xilinx公司的7系列FPGA作為核心器件,基于SelectIO資源實現(xiàn)了1.25Gbps的4X異步LVDS過采樣技術(shù)。系統(tǒng)中包括ISERDESE 2、OSERDESE2、IDELAYE2、IDELAYCTRL、MMCME2、數(shù)據(jù)恢復(fù)單元(DRU)和時鐘對齊狀態(tài)機等功能單元,如圖1所示。

基于FPGA的異步LVDS過采樣的研究和實現(xiàn)

對于輸入的1.25Gbps數(shù)據(jù)流,復(fù)制成兩路進入ISERDESE2,實現(xiàn)4X采樣。ISERDESE2/OSERDESE2負責(zé)完成輸入數(shù)據(jù)的串并/并串轉(zhuǎn)換。

MMCME2負責(zé)將外部輸入的125MHz時鐘倍頻產(chǎn)生各種不同的時鐘,提供給ISERDESE2/OSERDESE2、DRU、時鐘對狀態(tài)機等邏輯使用。其中,CLK和CLK90頻率為625MHz,通過BUFIO提供給ISERDESE2/OSERDESE2使用,IntClk和IntClkDiv分別為625MHz和312.5MHz,通過BUFG提供給DRU、ISERDESE2/OSERDESE2并行端、內(nèi)部FPGA控制等邏輯使用。ClkRef為310MHz,提供給IDELAYCTRL使用。

DRU負責(zé)完成ISERDESE2串行端數(shù)據(jù)和并行端數(shù)據(jù)之間的跨時鐘域設(shè)計。時鐘對齊狀態(tài)機負責(zé)實現(xiàn)BUFG和BUFIO不同時鐘域之間的相位對齊。

2 關(guān)鍵設(shè)計

2.1 ISERDESE2

相對于Virtex-5系列FPGA中的ISERDES和Virtex-6系列FPGA中的ISERDESE1相比,7系列FPGA中的ISERDESE2實現(xiàn)下述的不同功能:

(1)提供IDDR觸發(fā)器功能;

(2)提供一種專用的串并轉(zhuǎn)換器,該轉(zhuǎn)換器有特殊的時鐘和邏輯特征,用于高速源同步應(yīng)用;

(3)支持存儲器模式,可支持QDR、DDR3等不同的存儲器接口;

(4)支持過采樣模式。

在以前的設(shè)計中,過采樣是通過FPGA內(nèi)部的SLICE觸發(fā)器實現(xiàn)的,而在7系列FPGA中,過采樣是通過配置ISERDESE2實現(xiàn)的,如圖2所示。

基于FPGA的異步LVDS過采樣的研究和實現(xiàn)

2.2 時鐘采樣

MMCME2產(chǎn)生兩個時鐘CLK和CLK90用于ISERDESE2,兩個時鐘的正沿和負沿均被使用,相當(dāng)于四個時鐘。對于輸入數(shù)據(jù)流,通過IBUFDS DIFFOUT復(fù)制成兩路,一路的相位沒有變化,另外一路通過IDELAYE2相位偏移45°。相位偏移過的數(shù)據(jù)送入從ISERDESE2,實現(xiàn)了雙倍的數(shù)據(jù)采樣率。

通過組合四個時鐘相位和兩路數(shù)據(jù),實現(xiàn)了八個時鐘采樣相位,如圖3所示。

基于FPGA的異步LVDS過采樣的研究和實現(xiàn)

如圖3所示,通過IDELAYE2實現(xiàn)輸入數(shù)據(jù)的相位變化,而IDELAYE2的變化是通過IDELAYCTRL控制的。CLK和CLK90工作頻率為625MHz,0°、90°、180°和270°的時鐘沿位置分別在0、400、800和1200ps。輸入數(shù)據(jù)流頻率為1.25Gbps,相位偏移45°時,數(shù)據(jù)必須延遲

200ps。IDELAYCTRL設(shè)計頻率為310MHz,單拍延遲為52ps,為了實現(xiàn)200ps的延遲,需延遲4拍。因此,對于主ISERDESE2,IDELAY VALUE值設(shè)為0,對于從ISERDESE2,IDELAY VALUE值設(shè)為4。

2.3 DRU

用于ISERDESE2的CLK和CLK90均為局部時鐘,只能工作在固定的I/O區(qū)域。ISERDESE2輸出數(shù)據(jù)必須從局部時鐘域(BUFIO)搬到全局時鐘域(BUFG)中進行,需要進行跨時鐘域(CDC)操作。

CDC操作在FPGA邏輯中以寄存器組形式實現(xiàn)。DRU中實現(xiàn)了CDC寄存器組和一些比較邏輯。

2.3.1 邊沿檢測

輸入FPGA的數(shù)據(jù)流的采樣和比較點見圖4。

基于FPGA的異步LVDS過采樣的研究和實現(xiàn)

數(shù)據(jù)流通過CLK0、CLK90、CLK180和CLK270四個時鐘進行采樣,采樣點發(fā)生在時鐘和數(shù)據(jù)流向交叉時,這些采樣點依據(jù)格式Qx[M or S]x進行命名。其中,Qx表示ISERDESE2的輸出Q1、Q2、Q3或Q4,Mx或Sx表示數(shù)據(jù)輸出來源于主ISERDESE2或從ISERDESE2。

連接采樣點的E4[0]到E4[3]表示DRU比較數(shù)據(jù)和尋找數(shù)據(jù)邊沿的位置。四個位置點的公式為:

基于FPGA的異步LVDS過采樣的研究和實現(xiàn)

DRU邊沿檢測電路如圖5所示。檢測電路展示了數(shù)據(jù)從ISERDESE2到DRU邏輯的流程,為了優(yōu)化時序,在ISERDESE2和邏輯之間增減了一級寄存器。同時也展示了從ISERDESE2的Q4輸出端時如何存儲上一次的采樣點并和新一次采樣進行比較。

基于FPGA的異步LVDS過采樣的研究和實現(xiàn)

2.3.2 數(shù)據(jù)選擇

當(dāng)完成數(shù)據(jù)比較和邊沿檢測后,DRU需要對比較的數(shù)據(jù)進行處理。在設(shè)計中,采用一個簡單的狀態(tài)機,依據(jù)數(shù)據(jù)邊沿的位置和它遷移的位置,選擇遠離數(shù)據(jù)邊沿的位置作為采樣點。

由于電壓和溫度的變化,源時鐘和接收時鐘之間抖動、相位的不同,理想的采樣點應(yīng)該是左右移動的。也就是說E4[0]到E4[3]的等式值總是變化的,依據(jù)這些變化值,狀態(tài)機狀態(tài)發(fā)生遷移,如圖6所示。

基于FPGA的異步LVDS過采樣的研究和實現(xiàn)

表1給出了數(shù)據(jù)選擇的對應(yīng)關(guān)系,其中,EQ表示當(dāng)前狀態(tài)機的位置,DQ表示互連邏輯中使用的采樣值。在過采樣模式下的每個ISERDESE2是通過兩組IDDR觸發(fā)器實現(xiàn)的,因此DO表示應(yīng)該使用哪一組觸發(fā)器作為最理想的采樣點。

基于FPGA的異步LVDS過采樣的研究和實現(xiàn)

2.4 時鐘對齊狀態(tài)機

在設(shè)計中,BUFIO和BUFG兩個時鐘域之間的相位關(guān)系不確定。為了在不同的時鐘域之間傳輸數(shù)據(jù),需要實現(xiàn)CDC邏輯,兩個時鐘之間相位必須對齊。時鐘對齊電路采用了一個FPGA I/O區(qū)域內(nèi)所有的I/O管腳具有相同時序特性的原理。

一個OSERDESE2被BUFG時鐘域的時鐘(IntClk、IntClkDiv)驅(qū)動,并且裝載一個固定的數(shù)據(jù)模板。OSERDESE2在IntClk頻率下輸出一個時鐘模板。通過反饋路徑,時鐘模板被相鄰的ISERDESE2捕獲,ISERDESE2工作在BUFIO時鐘域。通過這種技術(shù),可以測量不同的兩個時鐘之間的相位關(guān)系。使用MMCM中有一個小的狀態(tài)機,可以實現(xiàn)獨立的相位改變的能力,BUFG時鐘發(fā)生相位改變,以適應(yīng)BUFIO時鐘域的相位。

3 仿真與驗證

本論文采用XC7K325T芯片異步LVDS過采樣進行設(shè)計和實現(xiàn),并采用ISIM13.3進行仿真驗證,采用ISE13.3進行綜合、布局布線、生成bit文件。

將生成的bit文件下載到Xilinx評估版KC705中,并進行測試、驗證。實際測試結(jié)果表明:基于FPGA的異步LVDS過采樣系統(tǒng)功能正確,傳輸速率達到了1.25Gbps。

4 結(jié)束語

本文針對LVDS接口,研究并實現(xiàn)了一種基于FPGA的LVDS過采樣技術(shù),重點對LVDS過采樣中系統(tǒng)組成、ISERDESE2、時鐘采樣、數(shù)據(jù)恢復(fù)單元、時鐘同步狀態(tài)機等關(guān)鍵技術(shù)進行了描述,并基于Xilinx評估板進行了驗證。經(jīng)嚴格測試驗證表明:基于FPGA實現(xiàn)的異步LVDS過采樣技術(shù)功能正確,傳輸速率達到1.25Gbps。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉