新聞中心

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

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

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

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

本文引用地址:http://2s4d.com/article/201610/308467.htm

0 引言

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

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

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

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

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

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

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

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

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

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

2.1 ISERDESE2

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

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

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

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

(4)支持過采樣模式。

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

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

2.2 時(shí)鐘采樣

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

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

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

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

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

2.3 DRU

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

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

2.3.1 邊沿檢測

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

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

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

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

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

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

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

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

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

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

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

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

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

2.4 時(shí)鐘對齊狀態(tài)機(jī)

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

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

3 仿真與驗(yàn)證

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

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

4 結(jié)束語

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



評論


相關(guān)推薦

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

關(guān)閉