專利名稱:一種去除信號中毛刺的方法及其裝置的制作方法
技術領域:
本發明涉及一種信號處理方法和裝置,尤其涉及一種信號中毛刺的去除方法和裝置。
背景技術:
在圖1所示的電路中,芯片1的輸出信號經過輸出電路、信號傳輸線和芯片2的輸入電路后生成輸入信號,這個輸入信號上往往有毛刺。
毛刺的產生途徑大概有如下三種1)輸出信號本身就有毛刺。例如,輸出信號不是寄存器輸出,而是組合邏輯輸出時,信號中往往就有毛刺。
2)在信號傳輸線上傳輸時產生的毛刺。例如射頻噪聲源在傳輸線上感應出毛刺信號,信號傳輸線之間的信號串擾等。
3)在輸入電路處理后也可能會產生毛刺。如果信號的上升沿(或下降沿)比較慢(如達到微秒級),則在輸入電路閾值門限附近,可能會產生毛刺,如圖2所示。
圖中Vht是高電平門限,即如果輸入信號Vin>=Vht,輸出信號Vout=1;Vlt是低電平門限,如果輸入信號Vin<=Vlt,則輸出信號Vout=0;而如果Vht>Vin>Vlt,則Vout不能得到穩定的數值,可能為0也可能為1。
文中的信號均為數字信號。所謂毛刺,即其寬度小于定義的信號最小寬度。圖2中存在3個這樣的毛刺。
信號中的毛刺往往會造成后續邏輯的誤動作,因此毛刺的去除成了目前接口電路設計的一個必須面對的普遍問題。根據毛刺產生的途徑和后續電路各自的特性有很多毛刺去除方法。
針對毛刺產生的途徑,通常有如下三種消除毛刺的方法
1)針對途徑1,可以要求采用寄存器輸出,不允許組合邏輯輸出;2)針對途徑2,可以在系統設計時,要求控制射頻干擾源的強度和距離,可以要求控制信號線之間的串擾;3)針對途徑3,可以要求在輸入電路上加入施密特比較器。
如果不能控制毛刺產生的各個途徑,那就需要專門的電路來消除毛刺。根據后續電路對輸入的要求不同,往往有各種各樣的毛刺消除方法,例如1)如果輸入和輸出有同步關系,那么就可以僅關心時鐘沿附近的毛刺;2)后續電路可能僅對信號的上升沿或下降沿關心,那么就可以專門去除上升沿或下降沿的毛刺;3)后續電路如果僅對輸入的電平信號敏感,那么就可以采用舉手表決的方法去除毛刺。
以上這些方法的主要不足在于,不是一個通用的毛刺消除方法,而是針對某種特殊情況,適應面較窄。
發明內容
本發明要解決的技術問題是要提供一種去除信號中毛刺的方法及其裝置,以較小的代價實現了較大的適用范圍。
為了解決上述技術問題,本發明提供了一種去除信號中毛刺的方法,用于去除輸入信號Vin中的毛刺,得到輸出信號Vout,該方法包括以下步驟(a)選定一個時鐘信號,設要消除的毛刺寬度小于N個時鐘周期;(b)對需要去除毛刺的輸入信號Vin進行N+2級鎖存,每一級將前一級的輸出信號鎖存一個時鐘周期;(c)判斷后N+1級鎖存信號,如全為1,輸出值為1的信號Vout_pre,如全為0,輸出值為0的信號Vout_pre,否則,輸出值為Vout當前值的信號Vout_pre;(d)將信號Vout_pre鎖存一個時鐘周期后輸出,得到輸出信號Vout。
在一較佳實施例中,所述對信號的鎖存是通過D觸發器來完成的。
本發明又提供了一種去除信號中毛刺的裝置,用于去除輸入信號Vin中的毛刺,得到輸出信號Vout,其特征在于,包括N+3個鎖存器和一個組合邏輯電路,其中所述鎖存器均接收一時鐘信號,對輸入信號鎖存一個時鐘周期后輸出,N+2個鎖存器相互級聯,第1個鎖存器的輸入為輸入信號Vin,后N-1個鎖存器的輸出以及輸出信號Vout作為所述組合邏輯電路的輸入,該組合邏輯電路的輸出再輸入到一鎖存器,由該鎖存器輸出所述輸出信號Vout;所述組合邏輯電路在所述后N+1個鎖存器的輸出全為1時,輸出為1,如全為0,輸出為0,在其它情況下輸出為輸出信號Vout的當前值。
在一較佳實施例中,所述鎖存器為D觸發器。
在一較佳實施例中,所述組合邏輯電路包括一或非門、一與門、第一多路開關和第二多路開關,所述或非門和與門的輸入均為后N-1個鎖存器的輸出,所述或非門的輸出連接到第一多路開關的控制端,所述與門的輸出連接到第二多路開關的控制端,第一多路開關的兩個輸入為邏輯0和輸出信號Vout,第二多路開關的兩個輸入為邏輯1和第一多路開關的輸出,第一多路開關的控制端為1時,輸出為邏輯0,否則輸出為信號Vout,第二多路開關的控制端為1時,輸出為邏輯1,否則輸出為第一多路開關的輸出。
本發明適應面廣,不管那種途徑產生的毛刺都可以去除,占用的資源少,輸出信號相對于輸入信號延遲小。
圖1是兩個芯片間信號傳輸的示意圖。
圖2是在輸入電路閾值門限附近產生毛刺的示意圖。
圖3是本發明實施例裝置的電路圖。
圖4是圖3中組合邏輯電路的一種實施結構圖。
圖5是本發明實施例毛刺消除的波形圖。
具體實施例方式
圖3所示是本實施例裝置的電路圖。如圖所示,包括5個D觸發器D1~D5和一個組合邏輯電路,每個D觸發器對信號鎖存一個時鐘周期后輸出,信號觀察點和信號輸出點都在時鐘的上升沿。
Clk為同步時鐘,輸入到所有觸發器的時鐘輸入端。Vin為帶毛刺的輸入信號,Vin輸入觸發器D1的輸入端(D端),觸發器D1~D4依次級聯,即前一個觸發器的輸出端(Q端)連接到后一個觸發器的輸入端。Vin_d1、Vin_d2、Vin_d3和Vin_d4分別是觸發器D1~D4的輸出信號,Vin_d1對Vin做了一級鎖存,Vin_d2對Vin_d1做了一級鎖存,Vin_d3對Vin_d2做了一級鎖存,Vin_d4對Vin_d3做了一級鎖存。因此Vin_d1、Vin_d2、Vin_d3和Vin_d4即為Vin的一級到四級鎖存信號。
Vin_d2、Vin_d3、Vin_d4和Vout作為組合邏輯電路的輸入,組合邏輯電路的輸出信號Vout_pre再輸入到觸發器D5,其輸出為去除了毛刺的輸出信號Vout。該組合邏輯電路的結構如圖4所示,包括一個三輸入或非門、一個三輸入與門和二個二輸入多路開關。三輸入或非門在三個輸入信號Vin_d2、Vin_d3、Vin_d4全為零時輸出為1,否則為0;三輸入與門在三個輸入信號Vin_d2、Vin_d3、Vin_d4全為1時輸出為1,否則為0。三輸入或非門的輸出作為第一個二輸入多路開關的控制信號,該控制端為1時,輸出輸入端1的值,該值為邏輯0,該二輸入多路開關的另一輸入端0連接到輸出信號Vout。三輸入與門的輸出作為第二個二輸入多路開關的控制信號,該信號為1時,輸出輸入端1的值,該值為邏輯1,該二輸入多路開關的另一輸入端連接到第一個二輸入多路開關的輸出端。
本領域的技術人員可以了解,該組合邏輯電路的實現方式有很多種,但它的功能是在第二、第三和第四級鎖存信號(即Vin_d2、Vin_d3和Vin_d4)全為1時,輸出信號Vout_pre為1;該三級鎖存信號全為0時,輸出信號Vout_pre為零;否則,Vout_pre為Vout的值,即保留Vout值不變。
信號Vout_pre輸入到觸發器D5的輸入端,鎖存后輸出信號Vout,同時將該信號輸入到組合邏輯電路。
從圖4可以看出,經第一級鎖存后得到的一級鎖存信號Vin_d1被同步到Clk時鐘域,同時去掉了非上升沿附近的寬度小于一個時鐘周期的毛刺。Vin_d2在Vin_d1的基礎上又做了一級鎖存,比Vin_d1延遲了1個時鐘周期,以消除亞穩態。Vin_d3比Vin_d2又延遲一個時鐘周期,Vin_d4比Vin_d3又延遲一個時鐘周期。因此,如毛刺寬度小于兩個時鐘周期,在其被時鐘信號同步后,在Vin_d2、Vin_d3和Vin_d4信號中的毛刺不會同時為“0”或“1”,經邏輯電路處理后,就會被濾除。圖4中共有4個寬度小于兩個時鐘周期的毛刺,經處理后,輸出信號Vout中已經沒有毛刺了。
從這個實施例可以看出來,當鎖存級數為5時,能消除寬度小于兩個Clk周期的毛刺寬度。那么顯然地,在其它的實施例中,如要消除寬度小于N個時鐘周期的毛刺,則將N+2個D觸發器級聯,將除第一個D觸發器外的N+1個D觸發器的輸出以及整個裝置的輸出信號Vout輸入到組合邏輯電路進行運算,將該組合邏輯電路的輸出連接到最后一個D觸發器的輸入端,即可消除寬度小于N個時鐘周期的毛刺。其中,組合邏輯電路實現的邏輯為當輸入的N+1級鎖存信號全為1時輸出為1,全為0時輸出為0;否則輸出為Vout的當前值。至于N的取值,可以根據實際使用環境中毛刺的寬度來設置。而時鐘周期在小于信號最小寬度的前提下,可以綜合考慮毛刺的可能寬度、帶來的延遲和耗電量的大小來決定,周期越小,耗電量越大,但延遲越小。
綜上所述,本發明具有以下優點1)適應面廣,不管那種途徑產生的毛刺,只要毛刺寬度小于信號本身的寬度,都可以去除。
2)占用的資源少,為消除寬度小于N個Clk周期的毛刺,僅需要N+3個D觸發器。
3)輸出信號相對于輸入信號延遲小,為消除寬度小于N個Clk周期的毛刺,僅需要延遲N+3個Clk周期。
上述電路中的D觸發器也可以用其它元件來代替,只要能夠實現對信號的延遲鎖存即可。
權利要求
1.一種去除信號中毛刺的方法,用于去除輸入信號Vin中的毛刺,得到輸出信號Vout,該方法包括以下步驟(a)選定一個時鐘信號,設要消除的毛刺寬度小于N個時鐘周期;(b)對需要去除毛刺的輸入信號Vin進行N+2級鎖存,每一級將前一級的輸出信號鎖存一個時鐘周期;(c)判斷后N+1級鎖存信號,如全為1,輸出值為1的信號Vout_pre,如全為0,輸出值為0的信號Vout_pre,否則,輸出值為Vout當前值的信號Vout_pre;(d)將信號Vout_pre鎖存一個時鐘周期后輸出,得到輸出信號Vout。
2.如權利要求1所述的方法,其特征在于所述對信號的鎖存是通過D觸發器來完成的。
3.一種去除信號中毛刺的裝置,用于去除輸入信號Vin中的毛刺,得到輸出信號Vout,其特征在于,包括N+3個鎖存器和一個組合邏輯電路,其中所述鎖存器均接收一時鐘信號,對輸入信號鎖存一個時鐘周期后輸出,N+2個鎖存器相互級聯,第1個鎖存器的輸入為輸入信號Vin,后N-1個鎖存器的輸出以及輸出信號Vout作為所述組合邏輯電路的輸入,該組合邏輯電路的輸出再輸入到一鎖存器,由該鎖存器輸出所述輸出信號Vout;所述組合邏輯電路在所述后N+1個鎖存器的輸出全為1時,輸出為1,如全為0,輸出為0,在其它情況下輸出為輸出信號Vout的當前值。
4.如權利要求4所述的裝置,其特征在于所述鎖存器為D觸發器。
5.如權利要求4所述的裝置,其特征在于,所述組合邏輯電路包括一或非門、一與門、第一多路開關和第二多路開關,所述或非門和與門的輸入均為后N-1個鎖存器的輸出,所述或非門的輸出連接到第一多路開關的控制端,所述與門的輸出連接到第二多路開關的控制端,第一多路開關的兩個輸入為邏輯0和輸出信號Vout,第二多路開關的兩個輸入為邏輯1和第一多路開關的輸出,第一多路開關的控制端為1時,輸出為邏輯0,否則輸出為信號Vout,第二多路開關的控制端為1時,輸出為邏輯1,否則輸出為第一多路開關的輸出。
全文摘要
一種去除信號中毛刺的方法和裝置,用于去除輸入信號Vin中的毛刺,得到輸出信號Vout,該裝置包括N+3個鎖存器和一個組合邏輯電路,所述鎖存器均接收一時鐘信號,對輸入信號鎖存一個時鐘周期后輸出,其中的N+2個鎖存器相互級聯,第1個鎖存器的輸入為輸入信號Vin,后N-1個鎖存器的輸出以及輸出信號Vout作為所述組合邏輯電路的輸入,該組合邏輯電路的輸出再輸入到一鎖存器,由該鎖存器輸出所述輸出信號Vout;所述組合邏輯電路在所述后N+1個鎖存器的輸出全為1時,輸出為1,如全為0,輸出為0,在其它情況下輸出為輸出信號Vout的當前值。本發明以較小的代價實現了較大的適用范圍。
文檔編號H03K5/1252GK1917368SQ20061011291
公開日2007年2月21日 申請日期2006年9月12日 優先權日2006年9月12日
發明者楊作興 申請人:北京中星微電子有限公司