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

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

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

什么是同步器?同步器傳輸數(shù)據(jù)的情景分析

冬至子 ? 來源:玩兒轉(zhuǎn)FPGA ? 作者:東哥 ? 2023-06-28 14:09 ? 次閱讀

什么是同步器

如圖1所示電路結(jié)構(gòu)就叫同步器。左邊為時(shí)鐘域clk1,右邊兩個(gè)FF為時(shí)鐘域clk2,藍(lán)色的為CDC(clock domain cross)路徑。這種電路結(jié)構(gòu)常用于兩個(gè)不同的時(shí)鐘域數(shù)據(jù)傳輸。其實(shí)前面講的異步復(fù)位同步釋放本質(zhì)上也是同步器,只是前面的復(fù)位信號(hào)是復(fù)位端口產(chǎn)生的,不是某個(gè)寄存器打拍過來的,異步復(fù)位信號(hào)也可以視作一個(gè)不同時(shí)鐘域的信號(hào)。由此你也可以知道同步器的作用之一就是消除亞穩(wěn)態(tài)。

圖片

圖1. 同步器跨時(shí)鐘域圖

用更直觀的代碼告訴大家,就是如下verilog代碼:

reg [ 1:0] d1;

reg [ 1:0] ql;

reg [ 1:0] q2;

always@(posedge clk1)

begin

if(rst == 1'b1) d1 <= 2'h0;

else d1 <= din;

end

always@(posedge clk2)

begin

if(rst == 1'b1) ql <= 2'h0;

else q1 <= d1

end

always@(posedge clk2)

begin

if(rst == 1'b1) q2 <= 2'h0;

else q2 <= q1;

end

亞穩(wěn)態(tài)及其傳播

重點(diǎn)!

通過兩級(jí)寄存器,即使產(chǎn)生亞穩(wěn)態(tài)也在兩個(gè)寄存器之間,降低傳遞到后級(jí)的概率,從而減輕亞穩(wěn)態(tài)對(duì)后級(jí)影響。

理論上,亞穩(wěn)態(tài)產(chǎn)生后持續(xù)時(shí)長(zhǎng)是隨機(jī)的,意味著永遠(yuǎn)持續(xù)下去也是可能的,然而由于實(shí)際電路中存在的噪聲和能量變化等一定會(huì)讓亞穩(wěn)態(tài)很快產(chǎn)生不平衡,迅速向0或者1靠攏。舉個(gè)例子,就像筆尖上放一個(gè)圓球,理論上可以找一個(gè)位置永遠(yuǎn)平衡,然而實(shí)際上由于一點(diǎn)點(diǎn)的震動(dòng)都會(huì)導(dǎo)致圓球迅速掉下去。如圖2所示,在時(shí)鐘發(fā)射沿到來后,亞穩(wěn)態(tài)產(chǎn)生后持續(xù)時(shí)間為Tmet,在捕獲沿到來時(shí),dout的亞穩(wěn)態(tài)已經(jīng)消除,這樣亞穩(wěn)態(tài)就不會(huì)往后級(jí)傳播,也就是說亞穩(wěn)態(tài)在一個(gè)時(shí)鐘周期內(nèi)穩(wěn)定就可以防止往下一級(jí)傳播。實(shí)際中亞穩(wěn)態(tài)的穩(wěn)定都很快。而同步器打2拍就是為了在時(shí)鐘頻率很高的時(shí)候,捕獲沿采到亞穩(wěn)態(tài)向下一級(jí)傳播的時(shí)候,還有一級(jí)寄存器隔離,然亞穩(wěn)態(tài)在一個(gè)時(shí)鐘周期內(nèi)穩(wěn)定下來。

假設(shè),亞穩(wěn)態(tài)在一個(gè)時(shí)鐘周期內(nèi)穩(wěn)定不下來的概率為P,0

圖片

圖2. 亞穩(wěn)態(tài)產(chǎn)生過程

同步器同步n bit數(shù)據(jù)

當(dāng)n=1時(shí),參見上面的亞穩(wěn)態(tài)傳播,1bit數(shù)據(jù)產(chǎn)生亞穩(wěn)態(tài)以后就算錯(cuò)了也是變成0或者1第二拍也會(huì)正確,所以同步1bit數(shù)據(jù)可以采后面幾拍的數(shù)據(jù),這樣就能保證采集過來的數(shù)據(jù)是正確的,后面會(huì)試驗(yàn)給大家看。當(dāng)然,要實(shí)現(xiàn)這點(diǎn)首先是快時(shí)鐘必須是慢時(shí)鐘的好幾倍才行,至少2倍。

多bit數(shù)據(jù)傳輸和1bit數(shù)據(jù)唯一的區(qū)別就是多路對(duì)齊,保證每一路數(shù)據(jù)延遲一致 ,這樣就和傳輸1bit數(shù)據(jù)一樣了。下面給大家推薦一個(gè)約束set_bus_skew,可以約束一條總線上每根線的延遲相差不大。

命令用法——set_bus_skew [-from 寄存器名] [-to 寄存器名] xx ns。比如在圖3中約束src_gray_ff_reg到dest_graysync_ff_reg之間的兩根線延遲保持一致,完整命令如下,保證兩根線延遲都在2.5ns,一個(gè)快時(shí)鐘域周期:

set_bus_skew -from [get_cells src_gray_ff_reg[ ]] -to [get_cells {dest_graysync_ff_reg[0][ ]}] 2.500

圖片

圖3. 寄存器圖

同步器傳輸數(shù)據(jù)的情景分析

情景1

同步器只能正確處理同源的兩個(gè)時(shí)鐘域之間的信號(hào),如果不同源,很可能出現(xiàn)發(fā)射沿打出的數(shù)據(jù)還沒穩(wěn)定就被捕獲沿采集到,這樣數(shù)據(jù)就會(huì)出錯(cuò)。

情景2

兩個(gè)時(shí)鐘域的頻率不能太接近,且快時(shí)鐘最好是慢時(shí)鐘的整數(shù)倍,這樣保證邊沿不會(huì)出現(xiàn)捕獲沿不在數(shù)據(jù)不穩(wěn)定的時(shí)候出現(xiàn),不然會(huì)采錯(cuò)數(shù)據(jù)。

下圖是100M和96.34M時(shí)鐘用同步器采集的結(jié)果,err和err1為高電平都是代表數(shù)據(jù)有錯(cuò)的時(shí)候。可以發(fā)現(xiàn)數(shù)據(jù)出錯(cuò)頻繁,而且間隔不均等,本質(zhì)上就是因?yàn)閮蓚€(gè)時(shí)鐘的相位關(guān)系不是像整數(shù)倍一樣規(guī)律,很可能出現(xiàn)捕獲沿采集不穩(wěn)定數(shù)據(jù)。其實(shí)小數(shù)倍的時(shí)候,小數(shù)位數(shù)越多越容易出現(xiàn)這種問題。

圖片

圖4. 時(shí)鐘頻率不匹配導(dǎo)致錯(cuò)誤

情景3

快時(shí)鐘最好是慢時(shí)鐘的整數(shù)倍的時(shí)候,不加約束也可以有方法比較穩(wěn)定的正確抓取數(shù)據(jù) 。

下圖是50M時(shí)鐘到200M時(shí)鐘跨時(shí)鐘域同步的結(jié)果,沒有加約束,大家可以看到數(shù)據(jù)在從0x4ef到0x4f0過度的時(shí)候第一拍出錯(cuò)了,出現(xiàn)了1個(gè)0x4f1,而后面的三拍數(shù)據(jù)是對(duì)的,看后面出錯(cuò)的數(shù)據(jù)也是這樣,也就是說,每采集到的4個(gè)數(shù)里面,用出現(xiàn)次數(shù)多的數(shù)覆蓋次數(shù)少的數(shù)就可以了,因?yàn)樵臼?倍關(guān)系,所以理論上連續(xù)的4個(gè)數(shù)是要一致的。

圖片

如下圖在兩個(gè)位置的總線都加了set_bus_skew約束5ns后,采集的數(shù)據(jù)一直沒有出錯(cuò),也根本不用覆蓋的方法去剔除錯(cuò)誤數(shù)據(jù)了。

圖片

正確傳輸條件總結(jié):

  1. 只能慢時(shí)鐘到快時(shí)鐘
  2. 兩時(shí)鐘域必須同源
  3. 兩時(shí)鐘最好是整數(shù)倍關(guān)系,否則正確與否只能隨緣
  4. (可選)滿足以上3點(diǎn)情況下,添加set_bus_skew可以保證每次采樣都正確
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5295

    瀏覽量

    119823
  • CDC
    CDC
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    17747
  • 同步器
    +關(guān)注

    關(guān)注

    1

    文章

    92

    瀏覽量

    14597
  • 時(shí)鐘域
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    9524
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    同步器原理電路

    感應(yīng)同步器相當(dāng)于一個(gè)調(diào)相,將感應(yīng)電勢(shì)e輸入到數(shù)字鑒相電路,即可由相位變化測(cè)出位移。AD2S90是美國(guó)AD公司生產(chǎn)的鑒相式感應(yīng)同步器信號(hào)處理的專用集成芯片,它具有成本低、功耗
    發(fā)表于 08-04 09:26 ?6461次閱讀
    <b class='flag-5'>同步器</b>原理電路

    感應(yīng)同步器介紹

      感應(yīng)同步器是利用兩個(gè)平面形繞組的互感隨位置不同而變化的原理組成的??捎脕頊y(cè)量直線或轉(zhuǎn)角位移。測(cè)量直線位移的稱長(zhǎng)感應(yīng)同步器,測(cè)量轉(zhuǎn)角位移的稱圓感應(yīng)同步器。長(zhǎng)感應(yīng)同步器由定尺和滑尺組成
    發(fā)表于 10-30 16:10

    什么是感應(yīng)同步器?感應(yīng)同步器的結(jié)構(gòu)特點(diǎn)

    什么是感應(yīng)同步器 感應(yīng)同步器是一種電磁式位置檢測(cè)元件,按其結(jié)構(gòu)特點(diǎn)一般分為直線式和旋轉(zhuǎn)式兩種。直線式
    發(fā)表于 05-06 23:08 ?3421次閱讀
    什么是感應(yīng)<b class='flag-5'>同步器</b>?感應(yīng)<b class='flag-5'>同步器</b>的結(jié)構(gòu)特點(diǎn)

    感應(yīng)同步器的工作原理,感應(yīng)同步器的應(yīng)用

    1 感應(yīng)同步器的工作原理 從圖4-5可以看出,滑尺的兩個(gè)繞組中的任一繞組通
    發(fā)表于 05-06 23:12 ?3686次閱讀
    感應(yīng)<b class='flag-5'>同步器</b>的工作原理,感應(yīng)<b class='flag-5'>同步器</b>的應(yīng)用

    同步開關(guān)同步器電路圖

    同步開關(guān)同步器電路圖
    發(fā)表于 07-03 14:31 ?1990次閱讀
    <b class='flag-5'>同步</b>開關(guān)<b class='flag-5'>同步器</b>電路圖

    感應(yīng)同步器,什么是感應(yīng)同步器

    感應(yīng)同步器   感應(yīng)同步器由兩個(gè)平面印刷電路繞組構(gòu)成,類似于變壓的初、次級(jí)繞組,故又稱平面變壓。感應(yīng)同步器通過位移
    發(fā)表于 10-29 22:45 ?2907次閱讀
    感應(yīng)<b class='flag-5'>同步器</b>,什么是感應(yīng)<b class='flag-5'>同步器</b>

    感應(yīng)同步器的基本結(jié)構(gòu)

    感應(yīng)同步器的基本結(jié)構(gòu) 1.直線式感應(yīng)同步器  直線式感應(yīng)同步器的結(jié)構(gòu)如圖12.2.1所示,它由定尺和滑尺兩部分組成,長(zhǎng)尺為定尺,短尺為滑尺。感應(yīng)同步器
    發(fā)表于 10-29 22:46 ?4877次閱讀
    感應(yīng)<b class='flag-5'>同步器</b>的基本結(jié)構(gòu)

    感應(yīng)同步器的工作原理

    感應(yīng)同步器的工作原理    直線式感應(yīng)同步器和圓盤式感應(yīng)同步器的工作原理基本相同,都是利用電磁感應(yīng)原理工作。下面以直線式感應(yīng)同步器為例介紹其工作原理。
    發(fā)表于 10-29 22:47 ?8931次閱讀
    感應(yīng)<b class='flag-5'>同步器</b>的工作原理

    感應(yīng)同步器的應(yīng)用

    感應(yīng)同步器的應(yīng)用 感應(yīng)同步器具有以下特點(diǎn):(1)感應(yīng)同步器基于電磁感應(yīng)原理,感應(yīng)電勢(shì)僅取決于磁通量的變化率,幾乎不受環(huán)境因素如溫度、油污、塵埃等的
    發(fā)表于 10-29 22:49 ?3819次閱讀
    感應(yīng)<b class='flag-5'>同步器</b>的應(yīng)用

    基于FPGA的幀同步器的設(shè)計(jì)與仿真

    基于FPGA的幀同步器的設(shè)計(jì)與仿真。。。。
    發(fā)表于 01-04 15:31 ?25次下載

    同步器的作用

    本視頻主要介紹了同步器的作用,為了簡(jiǎn)化操作,并避免齒間沖擊,可以在換檔裝置中設(shè)置同步器。慣性式同步器是依靠摩擦作用實(shí)現(xiàn)同步的,在其上面設(shè)有專設(shè)機(jī)構(gòu)保證接合套與待接合的花鍵齒圈在達(dá)到
    的頭像 發(fā)表于 10-21 09:57 ?1w次閱讀

    感應(yīng)同步器特點(diǎn)

    感應(yīng)同步器是一種電磁式位置檢測(cè)元件,本視頻首先介紹了感應(yīng)同步器特點(diǎn),其次介紹了感應(yīng)同步器的結(jié)構(gòu)特點(diǎn),最后介紹了感應(yīng)同步器的優(yōu)點(diǎn)。
    的頭像 發(fā)表于 10-21 10:28 ?8043次閱讀
    感應(yīng)<b class='flag-5'>同步器</b>特點(diǎn)

    感應(yīng)同步器的組成和特點(diǎn)

    本文首先介紹了感應(yīng)同步器的概念以及感應(yīng)同步器的工作原理,然后分別從直線感應(yīng)同步器和旋轉(zhuǎn)感應(yīng)同步器兩種同步器出發(fā)介紹了組成,最后介紹了感應(yīng)
    的頭像 發(fā)表于 08-06 15:36 ?1.1w次閱讀
    感應(yīng)<b class='flag-5'>同步器</b>的組成和特點(diǎn)

    變速同步器的作用及工作原理?

    變速同步器是利用摩擦原理 實(shí)現(xiàn)同步的,現(xiàn)代汽車上廣泛使用的是慣性式同步器,同步器可以從結(jié)構(gòu)上保證待嚙合的接合套與接合齒輪的花鍵齒在達(dá)到
    的頭像 發(fā)表于 09-14 11:05 ?8506次閱讀

    解讀同步器構(gòu)造及工作原理?

    變速同步器是利用摩擦原理 實(shí)現(xiàn)同步的,現(xiàn)代汽車上廣泛使用的是慣性式同步器同步器可以從結(jié)構(gòu)上保證待嚙合的接合套與接合齒輪的花鍵齒在達(dá)到
    的頭像 發(fā)表于 05-18 10:09 ?7212次閱讀
    解讀<b class='flag-5'>同步器</b>構(gòu)造及工作原理?