衡阳派盒市场营销有限公司

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

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

3天內不再提示

SERDES的工作原理及實現細節

倩倩 ? 來源:CSDN ? 作者:CSDN ? 2022-09-05 14:30 ? 次閱讀

高速串行通信經常需要用到 XILINX FPGA 內部專用的 SERDESE 模塊來實現串并轉換。LVDS 配合 SERDESE可以充分發揮 FPGA 的高速接口優勢。SERDESE 分輸入和輸出,輸入采用 ISERDESE, 輸出采用 OSERDESE,OSERDESE 的使用要比 ISERDESE 簡單。

本文涉及到一些重要原語概念,包括 idelay 延遲原語,IDELAYCTRL原語, ISERDESE 、OSERDESE。其中很關鍵一點時使用 idelay 延遲模塊以及 ISERDESE 原語中 BITSLIP 功能,實現比特流的時鐘對齊,以及數據流的位流順序對齊。XILINX FPGA 高速通信中經常會用到 idelay模塊對信號比特流做細微的時序調整。

參考文檔包括:官方手冊ug471,xapp585,第三方米聯客教程

1、IDELAYCTRL模塊

30a7c0c8-2cd8-11ed-ba43-dac502259ad0.png

2、IDELAY模塊

30d3a026-2cd8-11ed-ba43-dac502259ad0.png

3、IDELAY模塊工作時序

30fb49b4-2cd8-11ed-ba43-dac502259ad0.png

3113a144-2cd8-11ed-ba43-dac502259ad0.png

4、OSERDES模塊

3132c92a-2cd8-11ed-ba43-dac502259ad0.png

OSERDES模塊數據傳輸方式支持SDR,DDR兩種,數據位寬支持級聯以擴展到14比特。

3152b8e8-2cd8-11ed-ba43-dac502259ad0.png

317156c2-2cd8-11ed-ba43-dac502259ad0.png

由上圖可知,OSERDES串行輸出的數據流與原始并行數據比較,大小端是相反的。

5、ISERDES模塊

ISERDESE2 在 SDR 模式下數據轉換的位寬可以為 2、 3、 4、 5、 6、 7、 8bit,在 DDR 模式時,數據轉換位寬為 4、 6、 8bit, 2 個 ISERDESE2 級聯使用, DDR 模式可以支持 10、 14bit。如下圖所示通過 2 個 ISERDESE2 級聯輸出14bit 位寬數據接口。

31993e3a-2cd8-11ed-ba43-dac502259ad0.png

6、Bitslip數據對齊功能

31bb8d00-2cd8-11ed-ba43-dac502259ad0.png

31de5010-2cd8-11ed-ba43-dac502259ad0.png

7、Serdes時鐘源設計要求

3200fe4e-2cd8-11ed-ba43-dac502259ad0.png

二、源碼解析

1、SDR ISERDESE 時鐘恢復

ISERDESE 的作用是和 OSERDESE 相反的過程,但是比 OSERDESE 稍微復雜一些。ISERDESE 代碼需要實現自動找到最佳的數據采樣點, 自動完成數據對其,其中的加入了 IDELAY 和 BITSLIP 功能的使用,以及一些狀態機代碼。筆者下面根據 XAPP585 中給出的 demo 源碼分析。

1.1使用IDELAY之前,需配置IDELAYCTRL。

322af5f0-2cd8-11ed-ba43-dac502259ad0.png

1.2 計算比特流最大速率參數

官方源碼仿真使用的并行時鐘為80M,SDR模塊采用1_to_7串并轉換,則Serdes工作速率為560Mbps,由此可以得到Idelay調節Tap最大的步數。

3247f092-2cd8-11ed-ba43-dac502259ad0.png

設置 bit_rate_value=0560,那么代表了 serdes 的速率是 560Mbps,根據下面代碼得出 bt_val=5’h17(bt_val=5’d23)。由上文可知, idelay 的參考時鐘是 200MHZ, 那么每個延遲節拍是 78ps,則23*78ps= 1,794 ps = 557 Mb/s.最接近 560Mbps。

1.3 如何實現時鐘恢復時,差分時鐘信號正負相位對齊

查看源碼可知,SERDES工作速率為560Mbps參數,就可以選出 bit_rate_value 為 0557, 所以 bt_val 為 17h。先取出 bt_val 的中間值,即17h 的中間值是 0Bh。把差分時鐘n 的延遲時間設定為0Bh,把差分時鐘p的初始延遲設定為17h,然后保持差分時鐘n 的延遲時間不變,每次調節1個Tape,用于差分時鐘p和差分時鐘n的反向 進行相位對比,直到二者相位差為零。這個細節就是實現差分時鐘信號對齊的核心,看代碼時很容易忽略。我在第一遍時就犯了這個錯誤,導致始終不明白所以然。

32795d6c-2cd8-11ed-ba43-dac502259ad0.png

32a97664-2cd8-11ed-ba43-dac502259ad0.png

1.4 Bitslip進行比特流位順序調節

32c69870-2cd8-11ed-ba43-dac502259ad0.png

這段代碼不復雜,Bitslip的調節原理見上文,也容易理解。

1.5 差分時鐘正負信號時序補償

32e55aee-2cd8-11ed-ba43-dac502259ad0.png

需要把上述代碼段看明白就知道補償原理了。

通過控制每次減 1 個 tap,減少 idelay 延遲,并且通過 ISERDESE 檢測時鐘的跳變。當第一次跳變發生的時候,代表檢測到了時鐘的跳變沿,假設這個時候 bt_val=05h,05h<0Bh 所以計算出時鐘的 0BH+05H =10H。

如果恢復出的時鐘信號不是目標Pattern值 1100001 或者 1100011,就需要用到 Bslip 調整,每次設置 Bslip 調整一次。

330cc2a0-2cd8-11ed-ba43-dac502259ad0.png

仿真結果如上圖的箭頭所示,接收的 clk_data 是 7bit 時鐘數據,通過調整 c_delay_in 值調整 idelay每次減 1 個 tap,直到 clk_data 發生改變,可以看到這個值是 0b 整好是和中間值相等。這個時候狀態機 state2 也會進入狀態 1,這個時候計算出 c_delay_in_target=0,這個就是我們需要延遲的時間,可以看到需要延遲的時間為 0,這種情況非常理想,如果實際程序跑起來一般不會是 0,之后進入狀態 2。在狀態 2 中繼續調整 c_delay_in 直到和 c_delay_in_target 相等,如下圖,可以看到 clk_data=1100001b 是占比3:4 的時鐘就恢復出來了。

總結:

本篇文檔通過學習米聯客的教程,并結合UG471的學習,XAPP585的源碼學習,來不斷加深SERDES的工作原理及實現細節,并記錄一下自己學習過程,仿真有助于理解源碼。

審核編輯 :李倩

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

    關注

    11

    文章

    715

    瀏覽量

    65531
  • 源碼
    +關注

    關注

    8

    文章

    652

    瀏覽量

    29457
  • SerDes
    +關注

    關注

    6

    文章

    201

    瀏覽量

    35048

原文標題:XAPP585 - Serdes 1_to_7_sdr 解讀

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

收藏 人收藏

    評論

    相關推薦

    SiLM9714中離線診斷模式的工作原理實現方式

    本應用筆記主要闡述了SiLM9714中離線診斷模式的工作原理以及實現方式。
    的頭像 發表于 12-05 10:32 ?791次閱讀
    SiLM9714中離線診斷模式的<b class='flag-5'>工作原理</b>和<b class='flag-5'>實現</b>方式

    成像器件的工作原理是什么

    工作原理 1. 成像器件的分類 成像器件可以根據其工作原理和應用領域進行分類。主要的成像器件類型包括: 電荷耦合器件(Charge-Coupled Device, CCD) :是一種基于半導體材料的成像器件,通過電荷的存儲和轉移來實現
    的頭像 發表于 10-14 14:05 ?484次閱讀

    TMS320C6474 SERDES實現指南

    電子發燒友網站提供《TMS320C6474 SERDES實現指南.pdf》資料免費下載
    發表于 10-14 09:29 ?0次下載
    TMS320C6474 <b class='flag-5'>SERDES</b><b class='flag-5'>實現</b>指南

    KeyStone I器件的SerDes實現指南

    電子發燒友網站提供《KeyStone I器件的SerDes實現指南.pdf》資料免費下載
    發表于 10-12 09:25 ?0次下載
    KeyStone I器件的<b class='flag-5'>SerDes</b><b class='flag-5'>實現</b>指南

    汽車SerDes ESD保護

    電子發燒友網站提供《汽車SerDes ESD保護.pdf》資料免費下載
    發表于 09-24 10:29 ?0次下載
    汽車<b class='flag-5'>SerDes</b> ESD保護

    cmos電流反饋運放的工作原理是什么?

    這是一個cmos電流反饋型運放的原理圖 誰能詳細的解釋一下它的工作原理 具體每個mos有什么用 如何實現放大的 謝謝了
    發表于 09-23 07:40

    CMOS型LDO的工作原理和特點

    差線性穩壓器。它結合了CMOS技術的高集成度、低功耗和低壓差穩壓器的穩定電壓輸出特性,成為現代電子設備中廣泛應用的電源管理組件。以下將詳細介紹CMOS型LDO的工作原理、特點、優勢、應用場景以及相關的技術細節
    的頭像 發表于 09-11 10:11 ?954次閱讀

    運放恒流源的工作原理

    運放恒流源的工作原理,主要基于運算放大器(Operational Amplifier,簡稱運放)的“虛短”和“虛斷”特性,以及負反饋機制來實現對負載提供恒定電流的目的。以下是對運放恒流源工作原理的詳細解析,內容將圍繞其基本原理、
    的頭像 發表于 08-28 09:55 ?2011次閱讀

    NFC天線的工作原理和結構

    NFC(Near Field Communication)天線作為實現近距離無線通訊技術的關鍵組件,其工作原理和結構對于理解NFC技術的運作至關重要。
    的頭像 發表于 08-27 10:52 ?2707次閱讀

    ASP4644在FPGA SERDES供電中的應用

    ASP4644是一款高集成度、四輸出的降壓型模組穩壓器,專為需要低紋波和高效率的供電場合設計,如FPGA和SERDES供電。本文將探討如何利用ASP4644的特性實現FPGA和SERDES供電的優化
    發表于 08-16 14:55

    控制閥的工作原理和特點

    控制閥是一種廣泛應用于工業自動化領域的設備,其主要作用是實現對流體的控制和調節。控制閥的工作原理和特點對于確保工業系統的穩定運行和提高生產效率具有重要意義。本文將詳細介紹控制閥的工作原理、特點以及
    的頭像 發表于 06-30 09:30 ?2625次閱讀

    速度繼電器的工作原理、分類、應用及設計

    速度繼電器是一種電氣自動控制元件,廣泛應用于各種機械設備和電力系統中,用于實現對電動機轉速的自動控制。本文將詳細介紹速度繼電器的工作原理、分類、應用以及設計和使用中的注意事項。 一、速度繼電器
    的頭像 發表于 06-28 14:25 ?3516次閱讀

    驅動器的工作原理

    及應用。 一、驅動器的工作原理 驅動器的工作原理是通過能量轉換,將輸入的能量轉換為機械能,從而實現對負載的驅動。驅動器的工作原理可以分為以下幾個步驟: 1. 能量輸入:驅動器接收來自控
    的頭像 發表于 06-10 16:08 ?2554次閱讀

    壓電換能器的工作原理、特點及應用

    壓電換能器,作為一種能夠實現電能與機械能之間相互轉換的器件,其獨特的工作原理和廣泛的應用特點使其在多個領域發揮著重要作用。本文將詳細闡述壓電換能器的工作原理,并深入探討其應用特點,以期為相關領域的研究和應用提供參考。
    的頭像 發表于 05-24 16:17 ?2703次閱讀

    霍爾開關的工作原理及應用

    霍爾開關的工作原理及應用
    的頭像 發表于 04-09 10:29 ?3731次閱讀
    霍爾開關的<b class='flag-5'>工作原理</b>及應用
    百家乐高手qq| 迪威百家乐娱乐| 最好的百家乐游戏平台1| 百家乐官网现金网开户平台| 百家乐赢输| 试玩百家乐官网的玩法技巧和规则 | 做生意门面对着什么方向好| 足球改单| 百家乐能赢到钱吗| 六安市| 大发888线上娱乐| 在线百家乐官网下| 百家乐官网澳门路规则算法 | 百家乐赌场视屏| 百家乐官网最新产品| 金都娱乐城真人娱乐| 二爷百家乐的玩法技巧和规则| 百家乐官网变牌器| 金宝博百家乐官网游戏| 大发888怎么下载| 百家乐棋牌游戏正式版| 广州百家乐官网酒店用品制造有限公司| 百家乐破解打法| 百家乐官网游戏打水| 上蔡县| 大发888官方| 合肥太阳城在哪| 百家乐噢门棋牌| 真人百家乐官网游戏网| 百家乐官网游戏玩法规则| 百家乐官网9人桌| 百家乐官网如何打公式| 大发888娱乐场下载| 大发888怎么玩不了| 星级百家乐技巧| 百家乐15人桌子| 最好的百家乐娱乐场| 百家乐官网推荐| 赌场百家乐官网欺诈方法| 视频百家乐| 玛沁县|