專利名稱:一種濾除低速時鐘信號毛刺干擾的方法
技術領域:
本發明涉及數字邏輯電路的時鐘、數據采樣技術,特別涉及一種時鐘信號的毛刺過濾方法。
背景技術:
現有的電路和可編程器件中,對于低速時鐘信號一般都直接采用檢測該低速時鐘的時鐘沿來確認信號的有效性,由于檢測是始終在進行時鐘沿的有效檢測,如果在低速時鐘信號中有毛刺則非常容易誤將該毛刺信號當做低速時鐘信號,從而引起數據處理錯誤。
低速時鐘信號上的毛刺干擾問題在系統設計和布線時很容易被忽略,而且低速的背板時鐘總線,在設計時考慮成本及復雜度問題處理時一般都直接連接進可編程器件中,在可編程器件內部也直接采用檢測該低速時鐘的時鐘沿來確認信號的有效性。一般情況下一條時鐘線上有多個可變的負載,單板數量、種類隨系統配置不同而變化,導致不可避免的反射等干擾,造成數據傳輸錯誤,在可編程器件中就會有毛刺被檢測到作為有效的低速時鐘信號,這樣對于我們正確傳送和接收數據產生錯誤的指示。在目前對于出現這種低速時鐘信號上的毛刺干擾,主要通過小的硬件更改,如并接小電容,串電阻等來進行補救,但是這種補救措施很難徹底解決毛刺干擾的問題,如果更改系統設計,則花費的代價又太大。
發明內容
本發明的目的就是為了克服現有技術中低速時鐘干擾的問題,提出一種濾除低速時鐘信號毛刺干擾的方法。
本發明的核心思想是考慮到時鐘信號是對上升(下降)沿敏感的信號,且時鐘是周期性的,如果可靠確定了本次時鐘沿的位置,則可以預知下一個時鐘沿的位置,即通過另一高速時鐘計數產生一個相對狹窄的檢測窗口,只在該檢測窗口內檢測有效的時鐘沿,一旦確認有效的時鐘沿,該檢測窗口立即關閉,檢測窗口之外的干擾對系統無影響。
一種濾除低速時鐘信號毛刺干擾的方法,包括下列步驟第一步、計數器清零,確定計數器的計數門限;第二步、檢測窗口關閉,以本地參考高速時鐘的頻率為計數頻率,計數器開始計數;第三步、計數器到達計數門限后,打開檢測窗口,檢測低速時鐘信號的有效時鐘沿;第四步、如果檢測到有效的時鐘沿,則關閉檢測窗口,計數器清零,將有效的低速時鐘信號作為該低速時鐘信號的輸出時鐘信號;返回執行第二步;第五步、如果在一定時間內沒有檢測到有效的時鐘沿,則產生時鐘丟失告警后結束。
本發明提出的方法,主要通過設立檢測窗口,只有在檢測窗口打開的情況下才開始進行時鐘沿的有效檢測,因此可以將窗口關閉情況下的毛刺可以被有效濾除。本發明所述方法,與現有技術相比,節省了系統和硬件電路改動來改善所需要的高的成本,提高了低速時鐘性能。本發明實現成本低,只需要少量的邏輯資源和一個本地的高速時鐘信號,比如CPU的時鐘,就可以實現干擾的濾除。
圖1是本發明提出的方法的流程圖;圖2是本發明的一個具體實施例的流程圖;
圖3是圖2中的實施例的對應時序圖。
具體實施例方式
下面結合附圖和實施例對本發明作進一步的詳細說明。
假設本地參考高速時鐘信號頻率為fH,低速時鐘(有毛刺)信號頻率為fL,經計算可得毛刺過濾的時間范圍(概率)為1-(fL/fH)*N,其中N為檢測窗口寬度,以高速時鐘信號的一個周期為單位;要求兩個時鐘信號的相對頻偏要小于(fL/fH)*N*106PPM。
檢測窗口的最小寬度為一個高速時鐘的周期,即N=1,通常為了邏輯的穩定性,檢測窗口寬度一般要大于1。另外,為了獲得較好的毛刺濾除效果,fH至少為fL的20倍。目前普通的可編程邏輯器件最高時鐘速率小于100MHz,則低速時鐘信號一般不超過5MHz。如果時鐘是用于數據采集的,則比值可以再小一些。一般兩個時鐘信號均由晶體振蕩器產生,則相對頻偏一般優于100PPM,在滿足頻偏要求的基礎上,fH/fL的比值越大,則濾除效果越好。
在本發明中,可以不限定檢測窗口的寬度,使得檢測窗口的關閉由檢測到有效時鐘沿來觸發。如圖1所示,本發明提出的方法包括下列步驟第一步、計數器清零,確定計數器的計數門限。設檢測完成后輸出的濾除了毛刺的低速時鐘信號為fLW,計數門限為COUNTM,其中計數門限COUNTM的計算方法為COUNTM=〔fH/fL〕的整數值-1(也可以是-2,可以根據具體情況設計)。
第二步、檢測窗口關閉,以本地參考高速時鐘的頻率fH為計數頻率,計數器開始計數;第三步、計數器到達計數門限COUNTM后,打開檢測窗口,檢測低速時鐘信號的有效時鐘沿;第四步、如果檢測到有效的時鐘沿,則關閉檢測窗口,計數器清零,將有效的低速時鐘信號作為該低速時鐘信號的輸出時鐘信號,輸出時鐘fLW的電平維持時間由器件速度決定;返回執行第二步;第五步、如果在一定時間內沒有檢測到有效的時鐘沿,則產生時鐘丟失告警后結束。
進一步,結合一個實施例對本發明的方法作詳細說明。如圖3所示,以8KHz鑒相電路的應用實例對比說明本發明的效果本地參考高速時鐘為19.44MHz,分頻產生本地8KHz時鐘locak8k作為鑒相器的一個輸入,ref8k為有毛刺的鑒相器的另外一個輸入,兩者相對頻偏小于10ppm,在檢測到有效時鐘源后窗口關閉,但窗口寬度保持在2以上(即計數門限值采用“〔fH/fL〕的整數值-2”的方式)。當不采用本發明時該鑒相器的輸出信號為eclk_old,當采用本發明時則該鑒相器的輸出信號為eclk_new。
假設需要檢測的低速時鐘信號(有毛刺)頻率為fL=8KHz;作為參考的本地高速時鐘信號頻率為fH=19.44MHz;計數器為COUNT,確定計數門限值為COUNTM=〔19.44MHz/8KHz〕-2=2428,由于我們通常使用計數器都是采用從零開始計數,因此此處COUNTM=2427。如圖2所示第二步,COUNT開始初始化為零值,假定此時的fL是有效的低速時鐘的開始(可能是毛刺),作為8KHz的時鐘輸出。檢測窗口此時是關閉的;第三步,采用19.44MHz的頻率,COUNT開始計數;第四步,當COUNT計數到達2427時,打開檢測窗口,開始檢測fL信號是否出現有效的時鐘沿;第五步,如果“第二步”中假定的計數開始時刻確實是低速時鐘的有效信號開始的時刻,則在“第四步”中COUNT計數到2427后,等待2個fH信號脈沖左右,就可以檢測到有效的低速時鐘信號的時鐘沿;如果“第二步”中假定的開始時刻不是有效的低速時鐘的開始時刻,而是疊加在低速時鐘信號上的毛刺信號,則在“第四步”中COUNT計數到2427后,可能會等待超過2個fH信號脈沖的時間,才會檢測到有效的低速時鐘信號的時鐘沿,以此作為輸出時鐘信號,則可以將在“第二步”中誤作為低速時鐘有效信號的毛刺信號濾除掉;在同樣的計數周期后打開檢測窗口開始檢測第二個低速時鐘的有效時鐘沿,輸出準確的低速時鐘信號。
第六步,檢測到有效的時鐘沿后,檢測窗口關閉,計數器COUNT清零,將此時的濾除了毛刺的有效信號fL提供作為鑒相器的參考時鐘時鐘ref8k,于是得到我們需要的eclk_new鑒相時鐘。重復“第三步”到“第六步”過程。
第七步,如果檢測不到有效的時鐘沿,則產生時鐘丟失告警后結束。
權利要求
1.一種濾除低速時鐘信號毛刺干擾的方法,其特征在于包括下列步驟第一步、計數器清零,確定計數器的計數門限;第二步、檢測窗口關閉,以本地參考高速時鐘的頻率為計數頻率,計數器開始計數;第三步、計數器到達計數門限后,打開檢測窗口,檢測低速時鐘信號的有效時鐘沿;第四步、如果檢測到有效的時鐘沿,則關閉檢測窗口,計數器清零,將有效的低速時鐘信號作為該低速時鐘信號的輸出時鐘信號;返回執行第二步;第五步、如果在一定時間內沒有檢測到有效的時鐘沿,則產生時鐘丟失告警后結束。
2.根據權利要求1所述的方法,其特征在于第一步中計數器的計數門限的計算方法為COUNTM=〔fH/fL〕的整數值-1或COUNTM=〔fH/fL〕的整數值-2;其中COUNTM為計數門限;fH為本地參考高速時鐘的頻率;fL為低速時鐘的頻率。
全文摘要
本發明公開了一種濾除低速時鐘信號毛刺干擾的方法,包括1.計數器清零,確定計數器的計數門限;2.檢測窗口關閉,以本地參考高速時鐘的頻率為計數頻率,計數器開始計數;3.計數器到達計數門限后,打開檢測窗口,檢測低速時鐘信號的有效時鐘沿;4.如果檢測到有效的時鐘沿,則關閉檢測窗口,計數器清零,將有效的低速時鐘信號作為該低速時鐘信號的輸出時鐘信號;返回執行第2步;5.如果在一定時間內沒有檢測到有效的時鐘沿,則產生時鐘丟失告警后結束。本發明所述方法節省了系統和硬件電路改動來改善所需要的高的成本,提高了低速時鐘性能,只需要少量的邏輯資源和一個本地的高速時鐘信號,比如CPU的時鐘,就可以實現干擾的濾除。
文檔編號H03K21/00GK1758539SQ20041008047
公開日2006年4月12日 申請日期2004年10月10日 優先權日2004年10月10日
發明者聶名義, 肖悅賞 申請人:中興通訊股份有限公司