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

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

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

深度剖析復(fù)位電路

jf_78858299 ? 來源:Blue Chips Tech ? 作者:Bule CT Blue Chips Te ? 2023-05-25 15:57 ? 次閱讀

異步復(fù)位

(1)異步復(fù)位電路

異步復(fù)位觸發(fā)器則是在設(shè)計觸發(fā)器的時候加入了一個復(fù)位引腳,也就是說 復(fù)位邏輯集成在觸發(fā)器里面 。(一般情況下)低電平的復(fù)位信號到達觸發(fā)器的復(fù)位端時,觸發(fā)器進入復(fù)位狀態(tài),直到復(fù)位信號撤離。帶異步復(fù)位的觸發(fā)器電路圖和RTL代碼如下所示:

圖片圖片

(2)異步復(fù)位的優(yōu)點

①使用異步復(fù)位的最大好處就是 復(fù)位路徑上沒有延時 ,如上面的圖所示,復(fù)位信號一直連接到觸發(fā)器的復(fù)位端口,而不是像同步復(fù)位那樣需要經(jīng)過一個復(fù)位控制邏輯(如與門)。這樣子就減少了外界信號的影響。

②與時鐘沒有關(guān)系,不管時鐘上升沿有沒有到來,只要復(fù)位信號一有效,觸發(fā)器就會復(fù)位,也就是基本上做到實時性;由于與時鐘沒有關(guān)系,因此也可以用在門控時鐘里面。

③綜合工具能自動推斷出異步復(fù)位而不必加入任何綜合指令。

(3)異步復(fù)位的缺點

①復(fù)位撤離問題

在介紹復(fù)位撤離問題之前,先說一下復(fù)位恢復(fù)時間和去除時間。所謂的復(fù)位恢復(fù)時間是指撤離一個復(fù)位信號時,復(fù)位信號從有效跳變?yōu)闊o效的時刻下一個有效時鐘沿 之間的這段時間;去除時間是指撤離一個復(fù)位信號時,復(fù)位信號從有效跳變?yōu)闊o效的時刻 與 上一個有效時鐘沿 之間的這段時間(可以類比于觸發(fā)器的建立時間和保持時間)。如下圖所示:

圖片

上圖中,rst_n1是要求的復(fù)位恢復(fù)時間,rst_n2滿足復(fù)位恢復(fù)時間,rst_n3復(fù)位恢復(fù)時間不足。

圖片

上圖中,rst_nA是要求的復(fù)位去除時間,rst_n2滿足復(fù)位去除時間,rst_n3復(fù)位去除時間不足。

從上面的兩個圖中可以知道,如果你想 讓某個時鐘沿起作用(也就是采數(shù)據(jù)) ,那么你就應(yīng)該在“恢復(fù)時間”之前讓異步控制信號變無效;如果你想讓某個時鐘沿不起作用(也就是在這個時鐘沿依舊復(fù)位),那么你就應(yīng)該在“去除時間”過后使控制信號變無效。異步復(fù)位信號的恢復(fù)和去除時間需要大于一定的時間,如果你的異步復(fù)位信號在這兩種情況之間(撤離),那么就沒法確定時鐘沿是否起作用了,即判斷不出是復(fù)位還是不復(fù)位(不復(fù)位即是D觸發(fā)器才輸入端的數(shù)據(jù))。

介紹了復(fù)位恢復(fù)時間和去除時間之后,我們就可以看看異步復(fù)位信號的問題了。由于異步復(fù)位信號與系統(tǒng)時鐘毫無關(guān)系,復(fù)位可以在隨時施加,也可以隨時撤離。在施加的時候復(fù)位信號的時候,不存在任何問題,因為這跟復(fù)位恢復(fù)時間扯不上關(guān)系。但是,在撤離復(fù)位信號的情況下就有問題了,主要有兩個問題:

·當異步復(fù)位信號的撤離時刻在時鐘有有效沿附近時,就可能導(dǎo)致恢復(fù)時間或去除時間不足,即這個時候違背了復(fù)位恢復(fù)時間或去除時間,這時就可能導(dǎo)致觸發(fā)器的輸出端為亞穩(wěn)態(tài)(注意是 可能 ),如下所示:

圖片

但是并不是所有情況都會產(chǎn)生亞穩(wěn)態(tài),當復(fù)位值和此時的的輸出相同時,就不會產(chǎn)生亞穩(wěn)態(tài),如下圖所示:

圖片

這是因為:復(fù)位信號翻轉(zhuǎn)的時候,如果復(fù)位信號判斷是 低電平輸出就復(fù)位即一定是低電平;如果判斷復(fù)位信號是 高電平 , 輸出信號就等于對輸入信號的采樣值 。圖里面 輸入信號就是低電平 ,不管你是復(fù)位還是不復(fù)位,輸出一直是低電平,沒有亞穩(wěn)態(tài)。

·復(fù)位狀態(tài)不一致的問題:

復(fù)位信號很時鐘信號一樣,復(fù)位通過復(fù)位網(wǎng)絡(luò)到達各個觸發(fā)器。一方面,復(fù)位網(wǎng)絡(luò)具有非常大的扇出和負載,到達不同的觸發(fā)器存在不同的延時,也就是存在復(fù)位偏移,因此撤離異步復(fù)位的時刻也是不一樣的;另一方面,由于時鐘網(wǎng)絡(luò)也存在時鐘偏移。這個時候異步復(fù)位信號就有可能在不同的觸發(fā)器的不同時鐘周期內(nèi)進行撤離,也就是說異步復(fù)位的信號不一致,如下圖所示:

圖片

異步復(fù)位信號 a是異步復(fù)位信號源 ,異步復(fù)位信號b、c、d是到達觸發(fā)器的異步信號。我們可以看到, b信號是在本周期就撤離了復(fù)位 ;c信號則由于復(fù)位恢復(fù)時間不滿足,則可能導(dǎo)致觸發(fā)器輸出亞穩(wěn)態(tài);而 d信號則由于延時太長(但是滿足了復(fù)位去除時間),在下一個周期才撤離復(fù)位 。

撤離問題的解決方法:異步復(fù)位的同步釋放

異步復(fù)位的同步釋放電路也稱為 復(fù)位同步器 ,這個方法是 將外部輸入的異步復(fù)位信號進行處理 ,產(chǎn)生另外一個適合用于后面電路的復(fù)位信號,這個處理后的復(fù)位信號能夠異步復(fù)位電路中的觸發(fā)器,又不會存在撤離問題(因為經(jīng)過了同步);這個異步復(fù)位同步釋放的處理電路和RTL代碼如下所示:

圖片

圖片

從圖中可以看到,這是 用外部異步復(fù)位信號來復(fù)位一對觸發(fā)器 ,這對觸發(fā)器異步地驅(qū)動主復(fù)位信號,也就是這對觸發(fā)器產(chǎn)生電路需要的復(fù)位信號,這些復(fù)位信號再到達各個觸發(fā)器,然后進行復(fù)位,理想的異步復(fù)位同步釋放的時序如下所示:

圖片

上圖中,在理想的情況下,復(fù)位信號在兩級D觸發(fā)器上面的撤離時間可能不一樣,這個和復(fù)位信號傳輸?shù)降挠|發(fā)器位置和觸發(fā)器的時鐘沿有關(guān)。 理想情況下的復(fù)位信號傳輸?shù)侥繕擞|發(fā)器都能夠同時撤離,并且不在時鐘有效沿附近 。

實際情況一般不是那么理想的,當不是理想的情況下,也就是說復(fù)位信號到達目標寄存器存在時鐘偏移,并且復(fù)位信號有可能在時鐘有效沿附近撤離,這個時候復(fù)位器出現(xiàn)的問題就有三種:第一級OK,第二級出現(xiàn)問題;第一級出現(xiàn)問題,第二級OK;兩級都出現(xiàn)問題。下面我們就來看看這三種情況下產(chǎn)生的復(fù)位信號是什么情況:

第一級的撤離沒有問題,第二級的撤離出現(xiàn)在時鐘的有效沿附近 ,也就是說第二級的D觸發(fā)器的撤離時間不滿足復(fù)位恢復(fù)時間或者去除時間,這時候的時序圖如下所示:

圖片

我們可以看到無論是觸發(fā)器判斷此刻是復(fù)位還是不復(fù)位,輸出都是一樣的,也就是說,輸出rst_n不是亞穩(wěn)態(tài),而是確定的值。

第一級的撤離出現(xiàn)問題,第二級的撤離沒有問題 ,這時候的時序圖如下所示:

圖片

我們可以看到,第一級觸發(fā)器雖然產(chǎn)生了亞穩(wěn)態(tài),但是由于第二級觸發(fā)器的存在,亞穩(wěn)態(tài)并沒有傳播下去, 得到的復(fù)位信號依然是干凈的 ,只不過這個復(fù)位信號可能延長多一個周期而已(這是因為亞穩(wěn)態(tài)穩(wěn)定后的可能態(tài)引起的)。

最極端的一種情況是, 兩級的撤離都不滿足復(fù)位恢復(fù)時間或者去除時間 ,這時候的時序圖如下所示:

圖片

我們可以看到第一級觸發(fā)器產(chǎn)生了亞穩(wěn)態(tài),但是由于第二級觸發(fā)器的存在,亞穩(wěn)態(tài)沒有傳播下去;雖然第二級觸發(fā)器的復(fù)位信號撤離也在時鐘有效沿附近,但是跟第一種情況一樣,第二級觸發(fā)器是不會產(chǎn)生亞穩(wěn)態(tài)的。因此即使是極端狀態(tài),輸出的復(fù)位信號也是干凈的。

由此我們可以看到,異步復(fù)位的同步撤離能夠有效地解決撤離導(dǎo)致的復(fù)位恢復(fù)時間或者去除時間不足的問題,同時把復(fù)位信號同步化,解決了復(fù)位撤離偏移的問題。

②異步復(fù)位的抖動問題

當外部輸入的異步復(fù)位信號產(chǎn)生毛刺時,任何滿足觸發(fā)器最小復(fù)位脈沖寬度的輸入都有可能引起觸發(fā)器復(fù)位,這問題是源頭上的問題,即使是使用上面的同步器,也還是有同樣的敏感問題,時序圖如下所示:

圖片

解決方法 :一個是 使用同步復(fù)位 ,另一個就是過濾毛刺了,過濾毛刺和消抖的思路有點像,主要就是經(jīng)過一段延時之后,在經(jīng)過邏輯門判斷產(chǎn)生外部來的是不是真正復(fù)位信號,加上過濾毛刺信號部分的同步撤離電路和時序如下所示:

圖片

圖片

在上圖中,我們可以看到,抖動問題得到了解決。然而這種方法還是有缺點的,主要就是這個延時電路的延時控制可能隨著環(huán)境而變化,而且延時的時間要合適長才行,絕對不能太短。

③DFT的問題

在DFT的時候,如果異步復(fù)位信號不能直接被I/O引腳驅(qū)動,就必須將異步復(fù)位線和后面的的被驅(qū)動電路斷開,用來保證DFT掃描和測試能夠正確進行。總之異步復(fù)位增加了DFT的復(fù)雜性。

4.復(fù)位策略——復(fù)位網(wǎng)絡(luò)

數(shù)字電路里面,復(fù)位信號驅(qū)動了很多觸發(fā)器,僅次于時鐘,因此復(fù)位也往往形成或者使用復(fù)位網(wǎng)絡(luò)。復(fù)位網(wǎng)絡(luò)的設(shè)計也是有值得斟酌的地方,例如,由于復(fù)位的扇出太大,全部的復(fù)位不能僅僅由一個端口驅(qū)動,也就是不能像下面一樣:

圖片

既然上面的不行,那就改成下面的唄,也就是使用多各“并聯(lián)”的同步釋放,分擔一下負載壓力:

圖片

然而這種方案還是有問題的,這是第一級的撤離出現(xiàn)問題,第二級的撤離沒有問題的時候,亞穩(wěn)態(tài)穩(wěn)定后的狀態(tài)可能不一樣,導(dǎo)致rst_n的復(fù)位不一致,有的復(fù)位可能會快/慢一個周期。

最后的方案是,先進行同步釋放之后,同步后的復(fù)位信號又當做各個部分的異步信號,然后進行同步釋放,如下所示:

圖片

這樣先經(jīng)過前級的同步釋放之后,就不存在亞穩(wěn)態(tài)穩(wěn)定好導(dǎo)致的輸出rst_n不一致的問題了。

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

    關(guān)注

    14

    文章

    2000

    瀏覽量

    61158
  • 復(fù)位電路
    +關(guān)注

    關(guān)注

    13

    文章

    322

    瀏覽量

    44594
  • 復(fù)位信號
    +關(guān)注

    關(guān)注

    0

    文章

    54

    瀏覽量

    6320
收藏 人收藏

    評論

    相關(guān)推薦

    《C語言深度剖析》【超經(jīng)典書籍】

    本帖最后由 zgzzlt 于 2012-8-16 14:23 編輯 《C語言深度剖析》【超經(jīng)典書籍】
    發(fā)表于 08-02 08:59

    C語言深度剖析

    C語言深度剖析——一本關(guān)于C語言學(xué)習(xí)的教程,里面包含C語言編寫規(guī)范,各種變量指針用法等。以含金量勇敢挑戰(zhàn)國內(nèi)外同類書籍
    發(fā)表于 08-14 11:36

    c語言深度剖析

    c語言深度剖析
    發(fā)表于 04-02 09:12

    陳正沖《C語言深度剖析

    陳正沖編寫的《C語言深度剖析》,挺經(jīng)典,剛來論壇,多多指教~~
    發(fā)表于 08-17 12:06

    linux內(nèi)核深度剖析,另附有光盤資料

    linux內(nèi)核深度剖析,對于想學(xué)linux內(nèi)核的人來說,絕對值得一看,另附有光盤資料。
    發(fā)表于 01-15 21:25

    【資料分享】C語言深度剖析

    C語言深度剖析
    發(fā)表于 10-16 15:16

    資料共享:嵌入式網(wǎng)絡(luò)那些事LwIP協(xié)議深度剖析與實戰(zhàn)演練

    嵌入式網(wǎng)絡(luò)那些事LwIP協(xié)議深度剖析與實戰(zhàn)演練
    發(fā)表于 06-12 13:43

    C語言深度剖析

    C語言深度剖析
    發(fā)表于 08-25 09:08

    C語言深度剖析

    C語言深度剖析[完整版].pdfC語言深度剖析[完整版].pdf (919.58 KB )
    發(fā)表于 03-19 05:11

    C語言深度剖析

    C語言深度剖析
    發(fā)表于 05-05 17:40 ?7次下載

    C語言深度剖析

    C語言深度剖析
    發(fā)表于 12-20 22:50 ?0次下載

    剖析單片機各種復(fù)位電路原理

    ,總要涉及到單片機復(fù)位電路的設(shè)計。而單片機復(fù)位電路設(shè)計的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設(shè)計完單片機系統(tǒng),并在實驗室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機”、“程序走飛”等現(xiàn)
    的頭像 發(fā)表于 05-25 14:39 ?2686次閱讀
    <b class='flag-5'>剖析</b>單片機各種<b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>原理

    C語言深度剖析.zip

    C語言深度剖析
    發(fā)表于 12-30 09:20 ?5次下載

    深度剖析 IGBT 柵極驅(qū)動注意事項

    深度剖析 IGBT 柵極驅(qū)動注意事項
    的頭像 發(fā)表于 11-24 14:48 ?733次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>剖析</b> IGBT 柵極驅(qū)動注意事項

    STM32復(fù)位電路復(fù)位芯片和阻容復(fù)位電路區(qū)別

    STM32是一款廣泛使用的微控制器,其復(fù)位電路設(shè)計對于系統(tǒng)的穩(wěn)定性和可靠性至關(guān)重要。本文將詳細介紹STM32復(fù)位電路中使用復(fù)位芯片和阻容
    的頭像 發(fā)表于 08-06 10:26 ?1489次閱讀