0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

LVDS高速ADC接口, xilinx FPGA實現(xiàn)

ZYNQ ? 來源:ZYNQ ? 2023-04-03 10:28 ? 次閱讀

LVDS

即Low-Voltage Differential Signaling。FPGA的selecteIO非常強大,支持各種IO接口標準,電壓電流都可以配置。其接口速率可以達到幾百M甚至上千M。使用lvds來接收高速ADC產(chǎn)生的數(shù)據(jù)會很方便。像ISERDES,IDDR,IDELAY,OSERDES,ODDR這種資源在FPGA的IOB中多得是(每個IO都對應有,最后具體介紹),根本不擔心使用。最近剛在項目中用到,提供一個思路,具體的器件使用參考FPGA手冊。

使用的AD芯片ADI的AD9653,125M16bit高精度高速ADC,用到的采樣速率是80M。其SPI配置會單獨開一篇來講,SPI配置里面有個大坑,本來以為調好了的,后來又發(fā)現(xiàn)了問題,調了三天才定位到問題在哪,這就是硬件的魅力(坑爹)所在了吧。這里主要介紹FPGA的接收部分。

接收ADC數(shù)據(jù)的時序圖,

b650af8c-d1c4-11ed-bfe3-dac502259ad0.jpg

有幾點需要注意:

0 , 可以看出分成三種信號,數(shù)據(jù)采樣時鐘DCLK,幀同步信號FCLK,和輸入數(shù)據(jù)DATA

1,輸入數(shù)據(jù)采樣時鐘默認是已經(jīng)對齊了輸入數(shù)據(jù)的中點,但幀時鐘是和數(shù)據(jù)字節(jié)邊緣對齊的。

2,使用Iserdes接收數(shù)據(jù),Idelay調整時鐘延遲。

1,對數(shù)據(jù)采樣時鐘的處理如下

通過控制延時,使得CLK和經(jīng)過IBUFDS的BitClk對齊,從而消除IBUFIO和BUFR還有net的延時。這樣所有的輸入信號都只經(jīng)過了一個IBUFDS,延時相等。對Idelay的控制,可以手動調節(jié),也可以用自動算法。(參考xapp524)

b667bab0-d1c4-11ed-bfe3-dac502259ad0.png

b67b0246-d1c4-11ed-bfe3-dac502259ad0.png

b69b1176-d1c4-11ed-bfe3-dac502259ad0.jpg

b6b5b6de-d1c4-11ed-bfe3-dac502259ad0.jpg

b6d0cd34-d1c4-11ed-bfe3-dac502259ad0.jpg

1.1手動調節(jié)對齊

首先來看看手動調節(jié)算法,用vivado的vio可以很方便的輸入輸出,可手動在線修改觀察現(xiàn)象,對后面的自動訓練算法也有一定的啟發(fā)作用。 默認R_delay_cnt=0時,可以看到輸入的正弦波形很亂

b6e5ea8e-d1c4-11ed-bfe3-dac502259ad0.png

b6f84b34-d1c4-11ed-bfe3-dac502259ad0.png

慢慢的增加R_delay_cnt,當R_delay_cnt=12時,開始出現(xiàn)穩(wěn)定的正弦波,實驗發(fā)現(xiàn)R_delay_cnt=14,15,16時恰好采到時鐘的邊緣,也就是跟輸入的原始時鐘對齊了,可以看到采到邊緣是allign_word一直在跳變,有的是0,有的是1。一直到R_delay_cnt=18,正弦波都很穩(wěn)定。有效窗口可以準確計算出來,200M的Idelay參考時鐘,78ps/tap。7tap*78ps=546ps。說明數(shù)據(jù)的有效窗口很小,畢竟是320M的DDR,半個周期都才1.56ns.

b7152358-d1c4-11ed-bfe3-dac502259ad0.png

b7344fe4-d1c4-11ed-bfe3-dac502259ad0.png

b74aaadc-d1c4-11ed-bfe3-dac502259ad0.png

b759fc08-d1c4-11ed-bfe3-dac502259ad0.png

最后取R_delay_cnt=15,可以在代碼里面寫死。

1.2自動訓練算法

既然有了手動調節(jié)的算法,為什么還要用自動訓練對齊的算法呢?在高低溫測試的時候,器件的延遲會受溫度的影響發(fā)生變化,特別是在時鐘頻率很高,數(shù)據(jù)有效窗口很小的時候,這時候就需要能夠動態(tài)的改變R_delay_cnt的值去自適應delay的變化,增加了魯棒性。

有了上面的手動調節(jié)算法,自動訓練的思路也很簡單了。上電復位后R_delay_cnt一直自加,記下最后一個全0和第一個全1的值,取中點。這里只考慮了一種情況,還可能是從全1到全0的情況。代碼如下

b77511b4-d1c4-11ed-bfe3-dac502259ad0.png

b78abcee-d1c4-11ed-bfe3-dac502259ad0.png

b7a543ca-d1c4-11ed-bfe3-dac502259ad0.png

2,對幀同步信號和數(shù)據(jù)的處理

用上面產(chǎn)生的數(shù)據(jù)采樣時鐘同時去采樣FCLK和DATA,使用Iserdes可以1:8進行串并轉換。但是我們不知道字節(jié)的邊界在哪里,所以要使用一個bit_slip對串轉并的結果進行移位,移位的同時檢測FCLK轉換的輸出,當輸出是8’b11110000的時候就停止移位。

b7b845ce-d1c4-11ed-bfe3-dac502259ad0.png

b7c8d632-d1c4-11ed-bfe3-dac502259ad0.png

b7e33a36-d1c4-11ed-bfe3-dac502259ad0.jpg

b7f6dcda-d1c4-11ed-bfe3-dac502259ad0.jpg

b80a5224-d1c4-11ed-bfe3-dac502259ad0.png

b8216752-d1c4-11ed-bfe3-dac502259ad0.jpg

b83ed1de-d1c4-11ed-bfe3-dac502259ad0.jpg

當數(shù)據(jù)率不是很高的IDDR數(shù)據(jù),使用DDR替代Iserdes接收。IDDR和Iserdes使用的資源相同(待驗證)

b8539146-d1c4-11ed-bfe3-dac502259ad0.png

HR Bank真實的器件如下,一對IOB,可單獨使用,可差分使用。后面的資源從上到下依次是ISERDES(ILOGIC),IDELAY,OLOGIC(OSERDES),ILOGIC,IDELAY,OLOGIC。(ILOGIC可作為IDDR,OLOGIC可作為ODDR)。左上角的是一個clock region(如X0Y2)的中間分布的四個BUFIO和BUGR(局部時鐘驅動,局部時鐘分頻,二者延時相等)。后面是一個IDELAYCTRL。

b869d172-d1c4-11ed-bfe3-dac502259ad0.png

下面分別詳細介紹: IDEALY, 經(jīng)過IDELAY必須要經(jīng)過ISERDES,可直通。 ISERDES, ISERDES和ILOGIC使用相同的資源,可互換 ILOGIC,

b87b4e02-d1c4-11ed-bfe3-dac502259ad0.png

b890bd8c-d1c4-11ed-bfe3-dac502259ad0.png

OSERDES,和OLOGIC使用相同的資源,可互換

功能描述

? Edge triggered D type flip-flop(FF)

? DDR mode (SAME_EDGE or OPPOSITE_EDGE)

? Level sensitive latch(Latch)

? Asynchronous/combinatorial(直通)

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1620

    文章

    21510

    瀏覽量

    598957
  • lvds
    +關注

    關注

    2

    文章

    1018

    瀏覽量

    65395
  • AD芯片
    +關注

    關注

    2

    文章

    24

    瀏覽量

    18345

原文標題:LVDS高速ADC接口, xilinx FPGA實現(xiàn)

文章出處:【微信號:ZYNQ,微信公眾號:ZYNQ】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA | Xilinx ISE14.7 LVDS應用

    今天給大俠帶來 Xilinx ISE14.7 LVDS應用,話不多說,上貨。 最近項目需要用到差分信號傳輸,于是看了一下FPGA上差分信號的使用。Xilinx
    發(fā)表于 06-13 16:28

    基于FPGA高速LVDS數(shù)據(jù)傳輸

    高速LVDS數(shù)據(jù)傳輸方案和協(xié)議基于FPGA高速LVDS數(shù)據(jù)傳輸本人在北京工作6年,從事FPGA
    發(fā)表于 03-01 18:47

    如何尋找使用XILINX FPGA高速ADC評估套件?

    嗨,我正在尋找使用XILINX FPGA高速ADC(分辨率8到14位,速度從50MSPS到200MSPS)評估套件。這將是偉大的如果我可以使用ISE webpack軟件運行板。如果有
    發(fā)表于 08-30 09:10

    雙通道14位、500 MSPS采樣率的AD9684 高速并行LVDS ADC接口介紹

    工程,已經(jīng)使用Xilinx kintex-7實現(xiàn)這個ADC接口數(shù)據(jù)接收驅動與后續(xù)信號處理。 由于AD9684需要外部觸發(fā)時鐘輸入,需要板卡上的外部基準時鐘輸入,通過
    發(fā)表于 12-06 15:33

    如何將高速ADC與串行LVDS輸出連接到virtex 7 fpga?

    親愛的大家,我希望將高速ADC與串行LVDS輸出連接到virtex 7 fpga。我使用的ADC評估板是AD9635_125EBZ。我想知道
    發(fā)表于 07-26 18:27

    利用FPGA 實現(xiàn)與TS201 的LinkPort 高速數(shù)據(jù)

    隨著技術的發(fā)展, 往往需要在不同的系統(tǒng)之間實現(xiàn)高速通信, 現(xiàn)介紹了一種基于LVDS高速數(shù)據(jù)傳輸?shù)?b class='flag-5'>接口LinkPort , 給出了在
    發(fā)表于 09-22 08:26 ?98次下載

    基于FPGALVDS接口應用

    介紹了LVDS技術的原理,對LVDS接口高速數(shù)據(jù)傳輸系統(tǒng)中的應用做了簡要的分析,著重介紹了基于FPGA
    發(fā)表于 01-11 10:46 ?101次下載
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>LVDS</b><b class='flag-5'>接口</b>應用

    XilinxFPGALVDS差分高速傳輸?shù)?b class='flag-5'>實現(xiàn)

    XilinxFPGALVDS差分高速傳輸?shù)?b class='flag-5'>實現(xiàn)
    發(fā)表于 03-01 13:12 ?65次下載

    基于FPGALVDS過采樣技術研究并用Xilinx評估板進行驗證

    針對LVDS接口,研究并實現(xiàn)了一種基于FPGALVDS過采樣技術,重點對LVDS過采樣技術中系
    發(fā)表于 11-18 05:13 ?7205次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>LVDS</b>過采樣技術研究并用<b class='flag-5'>Xilinx</b>評估板進行驗證

    LVDS高速ADC接口_Xilinx FPGA實現(xiàn)

    。使用lvds來接收高速ADC產(chǎn)生的數(shù)據(jù)會很方便。像ISERDES,IDDR,IDELAY,OSERDES,ODDR這種資源在FPGA的IOB中多得是(每個IO都對應有,最后具體介紹)
    的頭像 發(fā)表于 06-30 10:23 ?2.3w次閱讀
    <b class='flag-5'>LVDS</b><b class='flag-5'>高速</b><b class='flag-5'>ADC</b><b class='flag-5'>接口</b>_<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>

    如何設計實現(xiàn)Xilinx FPGA高速串行接口

    在數(shù)字系統(tǒng)互連設計中,高速串行/O技術取代傳統(tǒng)的并行/O技術成為當前發(fā)展的趨勢。與傳統(tǒng)并行丨/技術相比,串行方案提供了更大的帶寬、更遠的距離、更低的成本和更高的擴展能力,克服了并行l(wèi)/O設計存在的缺陷在實際設計應用中,采用現(xiàn)場可編程門陣列FPGA
    發(fā)表于 08-24 17:28 ?15次下載
    如何設計<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b><b class='flag-5'>高速</b>串行<b class='flag-5'>接口</b>

    Xilinx FPGA的SerDes接口詳細說明

    因為攝像頭輸出的LVDS信號速率會達到600Mbps,我們將不能夠通過FPGA的I/O接口直接去讀取這么高速率的信號。因此,需要使用Xilinx
    發(fā)表于 12-30 17:24 ?43次下載
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的SerDes<b class='flag-5'>接口</b>詳細說明

    如何使用XilinxFPGA高速PCB信號實現(xiàn)優(yōu)化設計

    本文檔的主要內容詳細介紹的是如何使用XilinxFPGA高速PCB信號實現(xiàn)優(yōu)化設計。
    發(fā)表于 01-13 17:00 ?26次下載
    如何使用<b class='flag-5'>Xilinx</b>的<b class='flag-5'>FPGA</b>對<b class='flag-5'>高速</b>PCB信號<b class='flag-5'>實現(xiàn)</b>優(yōu)化設計

    具有LVDS輸出的LTM9011 ADC的AN147-Altera Stratix IV FPGA接口

    具有LVDS輸出的LTM9011 ADC的AN147-Altera Stratix IV FPGA接口
    發(fā)表于 05-09 21:19 ?15次下載
    具有<b class='flag-5'>LVDS</b>輸出的LTM9011 <b class='flag-5'>ADC</b>的AN147-Altera Stratix IV <b class='flag-5'>FPGA</b><b class='flag-5'>接口</b>

    wp02-將凌力爾特公司的DDR LVDS ADC與Altera Stratix IV FPGA接口

    wp02-將凌力爾特公司的DDR LVDS ADC與Altera Stratix IV FPGA接口
    發(fā)表于 05-23 11:13 ?1次下載
    wp02-將凌力爾特公司的DDR <b class='flag-5'>LVDS</b> <b class='flag-5'>ADC</b>與Altera Stratix IV <b class='flag-5'>FPGA</b><b class='flag-5'>接口</b>