在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于LVDS差分接口之IOSERDES的高速串行通信

FPGA設(shè)計論壇 ? 來源:未知 ? 2022-12-23 06:15 ? 次閱讀

項目涉及5片FPGA之間的多機(jī)通信,1片主FPGA,4片從FPGA,5片F(xiàn)PGA采用星形連接的拓?fù)浣Y(jié)構(gòu)。4個從機(jī)與主機(jī)之間通信接口采用基于LVDS_33的差分IO接口標(biāo)準(zhǔn),以滿足高速率,抗干擾,chip-to-chip的數(shù)據(jù)流傳輸架構(gòu)。各從機(jī)與主機(jī)通信時,采用全雙工傳輸通信模式,收發(fā)雙方信號線包括時鐘信號tx_clk+,tx_clk-,rx_clk +,rx_clk-,差分?jǐn)?shù)據(jù)信號tx_data+,tx_data -,rx_data +,rx_data -,共計4組差分通信鏈路。由于從主FPGA待傳輸?shù)臄?shù)據(jù)流通常不是單比特流,常見的數(shù)據(jù)流位寬為8bits或16bits,此時有以下兩種通信方案。

方法1:采用基于源同步的1路差分時鐘信號線和8路并行數(shù)據(jù)信號線來傳輸8bits位寬的數(shù)據(jù)流從理論上是可行的。該方法不足之處為:(1)當(dāng)對數(shù)據(jù)流傳輸帶寬提出更高要求時,即要求時鐘信號速率更快以滿足高速通信時,就可能對出現(xiàn)8路并行信號線之間相位不同步的問題;(2)需要消耗的FPGA管腳資源更多,布線要求也更高。

方法2:將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)進(jìn)行傳輸,然后串行數(shù)據(jù)在接收端整合為之前發(fā)送的并行數(shù)據(jù)。即在發(fā)送端,將8bits的數(shù)據(jù)流通過OSERDES單元轉(zhuǎn)換為串行數(shù)據(jù)流bit0,bit1,... ,bit7,通過1路差分信號線輸出給接收端;同理,接收端采用相反的傳輸原理,ISERDES單元將串行數(shù)據(jù)流bit0,bit1,... ,bit7通過8個移位寄存器緩存后整合為8位寬的數(shù)據(jù)流,完成串并轉(zhuǎn)換?;贚VDS的差分IO接口支持的傳輸速率高達(dá)1.9Gb/s,故滿足常用的高速串行數(shù)據(jù)通信。

b2199506-8245-11ed-8abf-dac502259ad0.png

1 設(shè)計過程

項目使用的芯片型號為Spartan6的xc6slx16-csg324,待傳輸?shù)臄?shù)據(jù)流位寬為8位,故IOSERDES的串并因子為8:1,F(xiàn)PGA的IOB集成了IOSERDES軟核,故可以直接調(diào)用和自定義即可完成對ISERDES、OSERDES兩個IP核的配置。

關(guān)于對ISERDES、OSERDES的相關(guān)配置可參考以下三個個用戶手冊。

UG382 — Spartan6 FPGA Clock Source;

UG381 — Spartan6 FPGA SelectIO Source;

XAPP1064 — source synchronize serialization and deserialization。

項目中使用的OSERDES配置參數(shù)如下圖所示。

b248b296-8245-11ed-8abf-dac502259ad0.png

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

(1)Spartan6 FPGA芯片僅bank0和bank2支持OSERDES,其他bank不支持;對于ISERDES,所有bank均支持。如果忽略O(shè)SERDES對bank的限制,很容易造成在設(shè)計原理圖時,出現(xiàn)LVDS的IO接口管腳分配問題。

b25b403c-8245-11ed-8abf-dac502259ad0.png

(2)OSERDES數(shù)據(jù)流輸出時鐘信號tx_clk的構(gòu)建。數(shù)據(jù)流輸出時鐘信號tx_clk分為兩種,分別基于BUFIO2和基于PLL來實現(xiàn),詳見下文。

a)基于BUFIO2的SDR時鐘信號

b27a0a80-8245-11ed-8abf-dac502259ad0.png

由于上圖可知,將圖中ISERDES用OSERDES等價替換即可。BUFIO2的IOCLK為數(shù)據(jù)流發(fā)送時鐘,CLKDIV為FPGA內(nèi)部控制并行數(shù)據(jù)輸送給OSERDES的邏輯時鐘,二者對應(yīng)關(guān)系為:IOCLK = DIVCLK * DataWidth。例如,現(xiàn)在數(shù)據(jù)位寬為8,要求OSERDES串行通信速率為400Mbps,則IOCLK 為400MHz,DIVCLK經(jīng)過BUFIO2以8分頻后為50MHz,則外部晶振輸入時鐘CLOCK頻率也為400MHz。該方法優(yōu)缺點如下。

優(yōu)點:數(shù)據(jù)流輸出時鐘信號構(gòu)造簡單,無需PLL倍頻等;

不足:對外部晶振要求過高,例如要求400M甚至更高頻率的外部晶振是不太實際的,故需要借助PLL/DCM時鐘單元來實現(xiàn)。

b)基于PLL和BUFPLL的SDR時鐘信號

b286e4e4-8245-11ed-8abf-dac502259ad0.png

由上圖可知,方法二增加了PLL和BUFPLL時鐘單元,CLKDIV和IOCLK時鐘構(gòu)建依據(jù)上圖即可完成,注意點是PLL_BASE的CLKOUT0輸出沒有BUFG做緩沖。例如,同樣要求OSERDES串行通信速率為400Mbps,外部晶振CLOCK可以為50MHz,通過PLL倍頻,CLKOUT0(8倍頻)輸出為400MHz,用于IOCLK時鐘,CLKOUT2直接作為CLKDIV時鐘源,即可滿足要求。

優(yōu)點:外部晶振頻率要求低,且通過PLL倍頻操作,IOCLK方便工作于更高頻率;

不足:需要借助PLL/DCM時鐘單元來實現(xiàn)。

(3)ISERDES數(shù)據(jù)流輸入對BITSLIP信號的控制。

在ISERDES數(shù)據(jù)流接收端,提供一個Bitslip信號用于將接收到的數(shù)據(jù)流進(jìn)行位對齊。例如發(fā)送端發(fā)送的數(shù)據(jù)TX_Data為8'b0110_0010,接收端初始接收到的數(shù)據(jù)為RX_Data為8'b0011_0001,通過使能Bitslip信號(Bitslip上升沿跳變有效)一次,接收端數(shù)據(jù)流向左移動一位,RX_Data則由8'b0011_0001變?yōu)?'b0110_0010,實現(xiàn)了接收端數(shù)據(jù)對齊操作。由于發(fā)送端和接收端相位關(guān)系未知,通常情況下,Bitslip需要使能有效的次數(shù)也不確定,但移位操作次數(shù)不會超過數(shù)據(jù)的位寬,否則就是通信鏈路出現(xiàn)故障。

b299f750-8245-11ed-8abf-dac502259ad0.png

上圖是對Bitslip信號的描述,重點關(guān)注:Bitslip信號從有效到無效最小時間間隔至少為1個CLKDIV,經(jīng)過實測,項目中使用的間隔為4個CLKDIV,當(dāng)使用1個CLKDIV時間間隔時,接收端數(shù)據(jù)對齊無法實現(xiàn)。這個細(xì)節(jié)也影響調(diào)試結(jié)果和調(diào)試進(jìn)度。

此外,對于ISERDES數(shù)據(jù)流接收端,由于差分?jǐn)?shù)據(jù)信號和差分時鐘均有OSERDES端提供,該差分時鐘rx_clk+/-頻率等于數(shù)據(jù)流傳輸速率,故接收端可以采用基于BUFIO2對rx_clk+/-進(jìn)行時鐘緩沖處理,無需使用PLL等時鐘單元,即可得到IOCLK和CLKDIV。

3 設(shè)計難點

在整個設(shè)計中,有很多需要注意的設(shè)計要點,前文其實已有所提及。例如OSERDES僅支持bank0和bank2;IOSERDES的IOCLK和CLKDIV的時鐘構(gòu)建和合理選擇;Bitslip數(shù)據(jù)流對齊控制信號的操作細(xì)節(jié)。這些都會影響設(shè)計和調(diào)試結(jié)果。除此之外,遇到過的一個最頭疼的設(shè)計難點如下。

Bufpll mapping error:Constrain Resolved NO placeable site for bufpll。

為避免錯誤,項目中所有差分時鐘信號和數(shù)據(jù)信號管腳均分配在bank2。當(dāng)對OSERDES的IOCLK和CLKDIV的時鐘信號構(gòu)建完畢后(外部晶振輸入管腳為V10,位于bank2,頻率為50MHz),進(jìn)行Implement Design步驟,但是編譯結(jié)果出現(xiàn)錯誤提示:Constrain Resolved NO placeable site for bufpll。

b2ac4126-8245-11ed-8abf-dac502259ad0.png

由圖示錯誤提示可知,BUFPLL這個instance也需要設(shè)置為bank2,才能將BUFPLL和IOB的其他parts,如oserdes放置在同一個bank中,故需要對BUFPLL進(jìn)行位置限制。

該FPGA芯片位于bank2的BUFPLL有兩個:BUFPLL_X1Y0,BUFPLL_X1Y1,對應(yīng)的PLL_ADV也有兩個PLL_ADV_X0Y0,PLL_ADV_X0Y1,因為BUFPLL是用于PLL的CLKOUTx輸出緩沖的。

b2c226d0-8245-11ed-8abf-dac502259ad0.png

故在ucf添加約束如下:

INST ParaToSerial/bufpll_inst LOC = BUFPLL_X1Y0;

INST clk_struc/pll_base_inst LOC = PLL_ADV_X0Y0;

本項目中單獨對BUFPLL進(jìn)行位置約束還不能解決問題,于是又進(jìn)一步對pll_base該instance進(jìn)行相同的位置約束。此外,發(fā)現(xiàn)一個疑點,將約束改為

INST ParaToSerial/bufpll_inst LOC = BUFPLL_X1Y0;

INST clk_struc/pll_base_inst LOC = PLL_ADV_X0Y1;(此處更改)

則implement編譯時依舊還是會出現(xiàn)相同錯誤,這個原因我現(xiàn)在也解釋不了,歡迎知道的網(wǎng)友熱心指導(dǎo),謝謝?。。?/span>

備注:能順利解決上述bufpll mapping error,得到了下面博文的啟發(fā),在此非常感謝該網(wǎng)友的思路分享。

4 設(shè)計結(jié)果

項目對基于LVDS差分接口的IOSERDES高速串行數(shù)據(jù)通信進(jìn)行了收發(fā)測試。數(shù)據(jù)流傳輸速率為625Mbps,測試碼采用FPGA發(fā)送端內(nèi)部產(chǎn)生的0~255的遞增序列,數(shù)據(jù)流同步碼或前導(dǎo)碼為0x5a,待發(fā)送的并行數(shù)據(jù)位寬為8位。測試結(jié)果見下圖所示。

b2d514fc-8245-11ed-8abf-dac502259ad0.png

由上圖可知,發(fā)送端和接收端經(jīng)過3次Bitslip完成數(shù)據(jù)流的位對齊操作,當(dāng)數(shù)據(jù)對齊之后,發(fā)送端開始輸出0~255的測試遞增序列,接收端經(jīng)過4個時鐘延遲后,正確的接收到數(shù)據(jù)流。

此外,為什么接收端與發(fā)送端數(shù)據(jù)流傳輸間隔為4個時鐘,而不是其他? 原因為項目配置ISERDES工作模式為retimed,接收端要經(jīng)過4級流水線緩沖器后,才將數(shù)據(jù)接收到的數(shù)據(jù)輸送給FPGA內(nèi)部邏輯,故有4個時鐘的延遲。如果采用NETWORKING_PIPELINED Mode,則只經(jīng)過3級流水線寄存器,故只有3個時鐘延遲,測試結(jié)果見下圖。

b2e8ce34-8245-11ed-8abf-dac502259ad0.png

補(bǔ)充說明:

(1)LVDS信號輸入端需要進(jìn)行阻抗匹配,阻值通常為100Ω;該匹配電阻可以外接或者開啟FPGA內(nèi)部片上輸入電阻,屬性設(shè)置為DIFF_TERM = "TRUE";

(2)硬件設(shè)計時,差分信號線走等長線,設(shè)置該走線阻抗為50Ω;可以在差分信號線兩側(cè)采用平行GND走線進(jìn)行屏蔽,減少差分信號線受到的干擾。

(3)基于該LVDS差分IO接口的高速串行通信尚未考慮對傳輸數(shù)據(jù)流進(jìn)行數(shù)據(jù)編碼,如8b10b編碼。采用不同的編碼方式可以應(yīng)用于不同的場合,且可以提高通信鏈路的穩(wěn)定性。

b2fd9b70-8245-11ed-8abf-dac502259ad0.jpg

精彩推薦 至芯科技12年不忘初心、再度起航12月17日北京中心FPGA工程師就業(yè)班開課、線上線下多維教學(xué)、歡迎咨詢! 鎖存器、觸發(fā)器、寄存器的關(guān)聯(lián)與區(qū)別及其相應(yīng)的verilog描述 FPGA學(xué)習(xí)-FIFO深度H的計算


原文標(biāo)題:基于LVDS差分接口之IOSERDES的高速串行通信

文章出處:【微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

    關(guān)注

    1644

    文章

    21993

    瀏覽量

    615325

原文標(biāo)題:基于LVDS差分接口之IOSERDES的高速串行通信

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    MAX9249多媒體串行鏈路串行器,帶有LVDS系統(tǒng)接口技術(shù)手冊

    MAX9249串行器帶有LVDS系統(tǒng)接口,采用Maxim吉比特多媒體串行鏈路(GMSL)技術(shù)。MAX9249串行器與GMSL解串器配合使用,
    的頭像 發(fā)表于 05-28 16:43 ?147次閱讀
    MAX9249多媒體<b class='flag-5'>串行</b>鏈路<b class='flag-5'>串行</b>器,帶有<b class='flag-5'>LVDS</b>系統(tǒng)<b class='flag-5'>接口</b>技術(shù)手冊

    可編程振蕩器:0.6ps低抖動,滿足高速通信與快速交付需求

    可編程振蕩器具備0.6ps超低抖動、支持LVPECL/LVDS/HCSL輸出,交期1~3天,適配數(shù)據(jù)中心、5G光模塊、高速ADC/DAC等高速
    的頭像 發(fā)表于 05-22 11:00 ?346次閱讀
    可編程<b class='flag-5'>差</b><b class='flag-5'>分</b>振蕩器:0.6ps低抖動,滿足<b class='flag-5'>高速</b><b class='flag-5'>通信</b>與快速交付需求

    晶振的輸出方式有哪幾種呢

    晶振通過分信號輸出,在抗干擾、信號完整性、EMI抑制等方面有顯著優(yōu)勢,能夠提供更穩(wěn)定、更高速性能的時鐘信號。 因此
    的頭像 發(fā)表于 04-16 16:43 ?369次閱讀
    <b class='flag-5'>差</b><b class='flag-5'>分</b>晶振的輸出方式有哪幾種呢

    晶振-LVPECL到LVDS的連接

    LVPECL電平的擺幅較大(典型值約800mV),共模電壓較高(約1.3V-1.9V),需外部端接電阻匹配;而LVDS擺幅較?。?5
    的頭像 發(fā)表于 03-12 17:50 ?1228次閱讀
    <b class='flag-5'>差</b><b class='flag-5'>分</b>晶振-LVPECL到<b class='flag-5'>LVDS</b>的連接

    lvds接口與其他接口比較

    保持較低的功耗。 LVDS接口特點 高速傳輸 :LVDS接口能夠支持高達(dá)數(shù)Gbps的數(shù)據(jù)傳輸速率,適合高分辨率視頻信號的傳輸。 低功耗 :由
    的頭像 發(fā)表于 11-21 16:13 ?1647次閱讀

    lvds接口在工業(yè)顯示中的應(yīng)用

    隨著工業(yè)自動化和智能化的不斷發(fā)展,工業(yè)顯示技術(shù)也在不斷進(jìn)步。LVDS(Low Voltage Differential Signaling,低壓分信號)接口作為一種高速、低功耗的
    的頭像 發(fā)表于 11-21 16:12 ?779次閱讀

    lvds接口傳輸距離限制 lvds接口優(yōu)勢及劣勢分析

    LVDS(Low Voltage Differential Signaling)是一種高速串行通信技術(shù),廣泛應(yīng)用于連接顯示器和圖形處理器等設(shè)備。LV
    的頭像 發(fā)表于 11-21 16:08 ?1879次閱讀

    lvds接口和HDMI的區(qū)別 lvds接口電路設(shè)計技巧

    LVDS(Low Voltage Differential Signaling,低電壓分信號)接口和HDMI(High-Definition Multimedia Interface,高清多媒體
    的頭像 發(fā)表于 11-21 16:06 ?2395次閱讀

    lvds接口需要驅(qū)動嗎

    廣泛應(yīng)用于高速數(shù)據(jù)傳輸?shù)?b class='flag-5'>接口標(biāo)準(zhǔn),特別是在大屏顯示、通信設(shè)備和工業(yè)控制等領(lǐng)域。它采用低電壓分信號傳輸數(shù)據(jù),具有低功耗、低誤碼率、低串?dāng)_和低輻射等優(yōu)點。
    的頭像 發(fā)表于 10-06 15:06 ?2763次閱讀
    <b class='flag-5'>lvds</b><b class='flag-5'>接口</b>需要驅(qū)動嗎

    DS90LV027A LVDS雙通道高速驅(qū)動器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DS90LV027A LVDS雙通道高速驅(qū)動器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-05 11:29 ?0次下載
    DS90LV027A <b class='flag-5'>LVDS</b>雙通道<b class='flag-5'>高速</b><b class='flag-5'>差</b><b class='flag-5'>分</b>驅(qū)動器數(shù)據(jù)表

    DS90LV027 LVDS雙通道高速驅(qū)動器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DS90LV027 LVDS雙通道高速驅(qū)動器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 07-05 11:25 ?0次下載
    DS90LV027 <b class='flag-5'>LVDS</b>雙通道<b class='flag-5'>高速</b><b class='flag-5'>差</b><b class='flag-5'>分</b>驅(qū)動器數(shù)據(jù)表

    TPD2E009高速(6 Gbps)接口雙通道ESD解決方案

    電子發(fā)燒友網(wǎng)站提供《TPD2E009高速(6 Gbps)接口雙通道ESD解決方案.pdf》資料免費下載
    發(fā)表于 07-02 09:51 ?0次下載
    TPD2E009<b class='flag-5'>高速</b>(6 Gbps)<b class='flag-5'>差</b><b class='flag-5'>分</b><b class='flag-5'>接口</b>雙通道ESD解決方案

    高速接收機(jī)SN65LVDS/T33數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《高速接收機(jī)SN65LVDS/T33數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 06-26 10:58 ?0次下載
    <b class='flag-5'>高速</b><b class='flag-5'>差</b><b class='flag-5'>分</b>接收機(jī)SN65<b class='flag-5'>LVDS</b>/T33數(shù)據(jù)表

    高速接收機(jī)SN55LVDS33數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《高速接收機(jī)SN55LVDS33數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 06-26 10:01 ?0次下載
    <b class='flag-5'>高速</b><b class='flag-5'>差</b><b class='flag-5'>分</b>接收機(jī)SN55<b class='flag-5'>LVDS</b>33數(shù)據(jù)表

    SN65LVDS33.SN65LVDT33.SN65LVDS34.SN65LVDT34高速接收器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《SN65LVDS33.SN65LVDT33.SN65LVDS34.SN65LVDT34高速接收器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 06-24 10:28 ?0次下載
    SN65<b class='flag-5'>LVDS33.SN65LVDT33.SN65LVDS</b>34.SN65LVDT34<b class='flag-5'>高速</b><b class='flag-5'>差</b><b class='flag-5'>分</b>接收器數(shù)據(jù)表
    主站蜘蛛池模板: 人人看人人干 | 亚洲一区二区三区四 | 亚洲免费视频网址 | 免费观看黄a一级视频日本 免费观看黄色网页 | 日日夜夜爽 | 中文字幕一区二区三区免费看 | 国产成人精品曰本亚洲78 | 91夜夜人人揉人人捏人人添 | 99视频精品全国免费 | 酒色网址 | 理论毛片 | 美国一级毛片片aa久久综合 | 五月天免费在线播放 | 黄频网站免费大全在线观看 | 韩国理论三级在线观看视频 | 特级无码毛片免费视频尤物 | 韩国三级hd | 免费边摸边吃奶边叫床视频gif | 青草青青视频 | 日韩在线视频一区 | 又黄又视频 | 亚洲插插插 | 国产精品毛片天天看片 | 成人欧美一区二区三区黑人3p | 午夜视频网 | 色噜噜噜噜噜 | 欧美成人午夜片一一在线观看 | 成 人 免费观看网站 | 天堂资源在线观看 | 国产一区中文字幕在线观看 | 色视频www在线播放国产人成 | 欧美日韩精品一区二区在线线 | 日本国产黄色片 | 一级欧美一级日韩 | 亚洲香蕉久久一区二区三区四区 | 天天操你| 亚洲特黄大黄一级毛片 | 日本免费一区二区老鸭窝 | 办公室桌震娇喘视频大全在线 | 高清视频黄色录像免费 | 国产免费小视频 |