本發明涉及時鐘電路領域,具體而言,涉及一種時鐘電路穩定性的判別方法及裝置。
背景技術:
PLL(鎖相環)或FLL(鎖頻環)的作用在于:根據輸入的參考時鐘產生所需頻率的目標時鐘CLK_OUT,CLK_OUT可應用到電路上。一般地,應用到電路上的時鐘應該是穩定的。目前,在相關技術中,還沒有給出檢測目標時鐘CLK_OUT是否穩定的方案。
針對上述問題,目前尚未提出有效的解決方案。
技術實現要素:
本發明實施例提供了一種時鐘電路穩定性的判別方法及裝置,以至少解決相關技術中無法檢測鎖相環或鎖頻環是否穩定的技術問題。
根據本發明實施例的一個方面,提供了一種時鐘電路穩定性的判別方法,包括:獲取上述時鐘電路產生的一段用于控制上述時鐘電路中的振蕩器的控制字,其中,該段用于控制上述時鐘電路中的振蕩器的控制字包含多組控制字,上述多組控制字中的每組控制字至少包含三個控制字,上述每組控制字中所至少包含的三個控制字滿足預設邏輯關系且在時間上連續;判斷該段用于控制上述時鐘電路中的振蕩器的控制字中的控制字組數是否達到預設組數;若是,則確定上述時鐘電路穩定。
進一步地,在上述每組控制字中所至少包含的三個控制字依次包括第一控制字、第二控制字和第三控制字的情況下,其中,上述預設邏輯關系包括:上述第二控制字大于上述第三控制字且上述第二控制字大于上述第一控制字,上述第三控制字等于上述第一控制字;或者上述第二控制字小于上述第三控制字且上述第二控制字小于上述第一控制字,上述第三控制字等于上述第一控制字。
進一步地,在獲取上述時鐘電路產生的一段用于控制上述時鐘電路中的振蕩器的控制字之前,上述方法還包括:定義目標數字信號,其中,上述目標數字信號用于記錄每段控制字中的控制字組數。
進一步地,上述目標數字信號記錄一段控制字中的控制字組數的步驟包括:定義一個控制字組數變量;獲取一組控制字;在該組控制字中所至少包含的三個控制字滿足上述預設邏輯關系且在時間上連續時,將該控制字組數變量加1,并獲取下一組控制字,繼續記錄該段控制字中的控制字組數;在該組控制字中所至少包含的三個控制字不滿足上述預設邏輯關系或在時間上不連續時,將該段控制字中的控制字組數對應的記錄值清零,并開始記錄下一段控制字中的控制字組數。
進一步地,上述時鐘電路包括:鎖相環時鐘電路或鎖頻環時鐘電路。
根據本發明的另一方面,還提供了一種時鐘電路穩定性的判別裝置,包括:獲取單元,用于獲取上述時鐘電路產生的一段用于控制上述時鐘電路中的振蕩器的控制字,其中,該段用于控制上述時鐘電路中的振蕩器的控制字包含多組控制字,上述多組控制字中的每組控制字至少包含三個控制字,上述每組控制字中所至少包含的三個控制字滿足預設邏輯關系且在時間上連續;判斷單元,用于判斷該段用于控制上述時鐘電路中的振蕩器的控制字中的控制字組數是否達到預設組數;確定單元,用于在判斷為是的情況下,確定上述時鐘電路穩定。
進一步地,在上述每組控制字中所至少包含的三個控制字依次包括第一控制字、第二控制字和第三控制字的情況下,其中,上述預設邏輯關系包括:上述第二控制字大于上述第三控制字且上述第二控制字大于上述第一控制字,上述第三控制字等于上述第一控制字;或者上述第二控制字小于上述第三控制字且上述第二控制字小于上述第一控制字,上述第三控制字等于上述第一控制字。
進一步地,上述裝置還包括:定義單元,用于在獲取上述時鐘電路產生的一段用于控制上述時鐘電路中的振蕩器的控制字之前,定義目標數字信號,其中,上述目標數字信號用于記錄每段控制字中的控制字組數。
進一步地,上述裝置還包括:記錄單元,用于使得上述目標數字信號記錄一段控制字中的控制字組數,其中,上述記錄單元包括:定義模塊,用于定義一個控制字組數變量;獲取模塊,用于獲取一組控制字;第一記錄模塊,用于在該組控制字中所至少包含的三個控制字滿足上述預設邏輯關系且在時間上連續時,將該控制字組數變量加1,并獲取下一組控制字,繼續記錄該段控制字中的控制字組數;第二記錄模塊,用于在該組控制字中所至少包含的三個控制字不滿足上述預設邏輯關系或在時間上不連續時,將該段控制字中的控制字組數對應的記錄值清零,并開始記錄下一段控制字中的控制字組數。
進一步地,上述時鐘電路包括:鎖相環時鐘電路或鎖頻環時鐘電路。
在本發明實施例中,采用一種時鐘電路穩定性的判別方法,通過獲取時鐘電路產生的一段用于控制時鐘電路中的振蕩器的控制字,其中,該段用于控制時鐘電路中的振蕩器的控制字包含多組控制字,多組控制字中的每組控制字至少包含三個控制字,每組控制字中所至少包含的三個控制字滿足預設邏輯關系且在時間上連續;判斷該段用于控制時鐘電路中的振蕩器的控制字中的控制字組數是否達到預設組數;若是,則確定時鐘電路穩定,由于包含多組控制字滿足預設邏輯關系且在時間上連續的控制字組數達到預設組數時,表明鎖相環或鎖頻環穩定的狀態,達到了檢測鎖相環或鎖頻環是否穩定的目的,從而實現了結構簡潔、檢測結果準確的技術效果,進而解決了相關技術中無法檢測鎖相環或鎖頻環是否穩定的技術問題。
附圖說明
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
圖1是根據本發明實施例的一種可選的時鐘電路穩定性的判別方法的流程圖;
圖2是根據本發明實施例的一種可選的PLL或FLL穩定性的判別方法的流程圖;
圖3是根據本發明實施例的一種可選的數字PLL或FLL的結構圖;
圖4是根據本發明實施例的一種可選的模擬PLL或FLL的結構圖;
圖5是根據本發明實施例的一種可選的控制字CW隨時間變化的趨勢圖;
圖6是根據本發明實施例的一種可選的時鐘電路穩定性的判別裝置的示意圖;
圖7是根據本發明實施例的一種可選的時鐘電路穩定性的判別裝置的邏輯模塊化的結構圖。
具體實施方式
為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明保護的范圍。
需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發明的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
實施例1
根據本發明實施例,提供了一種時鐘電路穩定性的判別方法的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟。
圖1是根據本發明實施例的一種可選的時鐘電路穩定性的判別方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,獲取時鐘電路產生的一段用于控制時鐘電路中的振蕩器的控制字,其中,該段用于控制時鐘電路中的振蕩器的控制字包含多組控制字,多組控制字中的每組控制字至少包含三個控制字,每組控制字中所至少包含的三個控制字滿足預設邏輯關系且在時間上連續;
步驟S104,判斷該段用于控制時鐘電路中的振蕩器的控制字中的控制字組數是否達到預設組數;
步驟S106,若是,則確定時鐘電路穩定。
也即,為了實現對時鐘電路穩定性的判別,可以對時鐘電路中產生的幾個連續的控制字進行判斷,其中,控制字滿足預設邏輯關系且在時間上連續,控制字包括多組控制字。當判斷該段用于控制時鐘電路中的振蕩器的控制字中的控制字組數達到預設組數時,即在控制字滿足一定的條件下,可以認為時鐘電路是穩定的,而在控制字不滿足一定的條件下,可以認為時鐘電路是不穩定的。
通過上述步驟,采用一種時鐘電路穩定性的判別方法,通過獲取時鐘電路產生的一段用于控制時鐘電路中的振蕩器的控制字,其中,該段用于控制時鐘電路中的振蕩器的控制字包含多組控制字,多組控制字中的每組控制字至少包含三個控制字,每組控制字中所至少包含的三個控制字滿足預設邏輯關系且在時間上連續;判斷該段用于控制時鐘電路中的振蕩器的控制字中的控制字組數是否達到預設組數;若是,則確定時鐘電路穩定,由于包含多組控制字滿足預設邏輯關系且在時間上連續,控制字組數達到預設組數時,表明鎖相環或鎖頻環穩定的狀態,達到了檢測鎖相環或鎖頻環是否穩定的目的,從而實現了結構簡潔、檢測結果準確的技術效果,進而解決了相關技術中無法檢測鎖相環或鎖頻環是否穩定的技術問題。
可選地,在每組控制字中所至少包含的三個控制字依次包括第一控制字、第二控制字和第三控制字的情況下,其中,預設邏輯關系包括:第二控制字大于第三控制字且第二控制字大于第一控制字,第三控制字等于第一控制字;或者第二控制字小于第三控制字且第二控制字小于第一控制字,第三控制字等于第一控制字。
具體的,例如,PLL或FLL穩定性的判斷流程如圖2所示。定義三個數字信號控制字CW0、控制字CW1與控制字CW2,用于記錄連續的三個CW。定義數字信號MATCH_CNT,用于記錄滿足條件的次數,該條件可以是CW1處于最高點(CW1>CW2且CW1>CW0)或最低點(CW1<CW2且CW1<CW0)時CW2=CW0。定義數字信號MATCH_TIME,用于表示要求達到條件的次數,其中,MATCH_TIME可以根據實際穩定需要的情況進行設定。條件可以是CW1處于最高點或最低點時CW2=CW0,對CW0~CW2賦予三個極限初值,隨著PLL起振,CW0~CW2不斷被賦予連續三個時刻的CW。CW1處于最高點或最低點時,若出現CW2=CW0的情況,則將MATCH_CNT的值加1,不然將MATCH_CNT清0,若MATCH_CNT達到要求次數MATCH_TIME,則表示PLL達到穩定狀態,輸出PLL_LOCK=1。
可選地,在獲取時鐘電路產生的一段用于控制時鐘電路中的振蕩器的控制字之前,上述方法還包括:定義目標數字信號,其中,目標數字信號用于記錄每段控制字中的控制字組數。
也即,為了記錄每段控制字中的控制字組數,需要在獲取控制字之前,定義目標數字信號,該目標信號可以用于記錄每段控制字中的控制字組數。需要說明的是,獲取時鐘電路產生的一段用于控制時鐘電路中的振蕩器的控制字可以根據實際情況確定每段控制字中的控制字組數的數量,為了更加準確的檢測時鐘電路的穩定性,每組控制字中也可以包含三個以上的控制字。
可選地,目標數字信號記錄一段控制字中的控制字組數的步驟可以包括:定義一個控制字組數變量;獲取一組控制字;在該組控制字中所至少包含的三個控制字滿足預設邏輯關系且在時間上連續時,將該控制字組數變量加1,并獲取下一組控制字,繼續記錄該段控制字中的控制字組數;在該組控制字中所至少包含的三個控制字不滿足預設邏輯關系或在時間上不連續時,將該段控制字中的控制字組數對應的記錄值清零,并開始記錄下一段控制字中的控制字組數。
也即,為了實現目標數字信號記錄一段控制字中的控制字組數,首先定義一個控制字組數變量,初始變量值可以是0;然后獲取時鐘電路中的一組控制字,該組控制字中所至少包含的三個控制字滿足預設邏輯關系且在時間上連續時,即滿足了條件時,此時將該控制字組數變量加1,并在時鐘電路中獲取下一組控制字,若該組控制字中所至少包含的三個控制字滿足預設邏輯關系且在時間上連續時,即滿足了條件時,此時將該控制字組數變量再次加1,若該組控制字中所至少包含的三個控制字不滿足預設邏輯關系或在時間上不連續時,將該段控制字中的控制字組數對應的記錄值清零。
可選地,上述時鐘電路包括:鎖相環時鐘電路或鎖頻環時鐘電路。本發明采用全數字的方法,結構簡潔、檢測結果準確,特別適用于全數字PLL(鎖相環)或FLL(鎖頻環),也可應于模擬PLL或FLL電路,要求是同時含有ADC電路。PLL(鎖相環)或FLL(鎖頻環)是否穩定決定了輸出的CLK_OUT(時鐘輸出)是否穩定的方案。
本發明可以應用于數字PLL(鎖相環)或FLL(鎖頻環),如圖3所示,圖3是根據本發明實施例的一種可選的數字PLL或FLL的結構圖。數字PLL結構包括PD(鑒相器)、LPF(濾波器)、DCO(數字振蕩器)與DIV(分頻器),其中LPF輸出CW(控制字)對DCO(數字振蕩器)進行控制。
本發明也可以應用于模擬PLL(鎖相環)或FLL(鎖頻環),如圖4所示,圖4是根據本發明實施例的一種可選的模擬PLL或FLL的結構圖。模擬PLL結構包括PD(鑒相器)、LPF(濾波器)、VCO(壓控振蕩器)與DIV(分頻器)。一般的SoC設計中都會包含ADC(模數轉換模塊),利用該模塊,可以將LPF輸出的模擬控制信號數字化得到CW(控制字),用于PLL穩定的判斷。
一般CW的變化趨勢如圖5所示,圖5是根據本發明實施例的一種可選的控制字CW隨時間變化的趨勢圖。PLL開始工作之后,CW會隨之增大(或由大到小),趨于穩定時會出現振蕩,但會逐步收斂并最終趨于穩定。因此,CW的振蕩變化就成為了PLL穩定的判斷因素。
實施例2
根據本發明的另一方面,還提供了一種時鐘電路穩定性的判別裝置的裝置實施例,圖6是根據本發明實施例的一種可選的時鐘電路穩定性的判別裝置的示意圖,包括:獲取單元20,用于獲取時鐘電路產生的一段用于控制時鐘電路中的振蕩器的控制字,其中,該段用于控制時鐘電路中的振蕩器的控制字包含多組控制字,多組控制字中的每組控制字至少包含三個控制字,每組控制字中所至少包含的三個控制字滿足預設邏輯關系且在時間上連續;判斷單元40,用于判斷該段用于控制時鐘電路中的振蕩器的控制字中的控制字組數是否達到預設組數;確定單元60,用于在判斷為是的情況下,確定時鐘電路穩定。
通過上述實施方式,由于包含多組控制字滿足預設邏輯關系且在時間上連續,控制字組數達到預設組數時,表明鎖相環或鎖頻環穩定的狀態,達到了檢測鎖相環或鎖頻環是否穩定的目的,從而實現了結構簡潔、檢測結果準確的技術效果,進而解決了相關技術中無法檢測鎖相環或鎖頻環是否穩定的技術問題。
可選地,在每組控制字中所至少包含的三個控制字依次包括第一控制字、第二控制字和第三控制字的情況下,其中,預設邏輯關系包括:第二控制字大于第三控制字且第二控制字大于第一控制字,第三控制字等于第一控制字;或者第二控制字小于第三控制字且第二控制字小于第一控制字,第三控制字等于第一控制字。
可選地,上述裝置還包括:定義單元,用于在獲取時鐘電路產生的一段用于控制時鐘電路中的振蕩器的控制字之前,定義目標數字信號,其中,目標數字信號用于記錄每段控制字中的控制字組數。
可選地,上述裝置還包括:記錄單元,用于使得目標數字信號記錄一段控制字中的控制字組數,其中,記錄單元包括:定義模塊,用于定義一個控制字組數變量;獲取模塊,用于獲取一組控制字;第一記錄模塊,用于在該組控制字中所至少包含的三個控制字滿足預設邏輯關系且在時間上連續時,將該控制字組數變量加1,并獲取下一組控制字,繼續記錄該段控制字中的控制字組數;第二記錄模塊,用于在該組控制字中所至少包含的三個控制字不滿足預設邏輯關系或在時間上不連續時,將該段控制字中的控制字組數對應的記錄值清零,并開始記錄下一段控制字中的控制字組數。
需要說明的是,本發明實施例中的時鐘電路穩定性的判別裝置可以通過圖7所示的邏輯模塊化結構來實現。如圖7所示,該邏輯模塊化結構主要包括四個模塊:INI T_REG模塊獲取配置的信息,包括CW0~CW2的初始值、MATCH_TIME值;CW LATCH&COMPARE獲取連續的CW0~CW2,并進行比較判斷,看是否滿足條件,該條件即CW1處于最高點(CW1>CW2且CW1>CW0)或最低點(CW1<CW2且CW1<CW0)時CW2=CW0;MATCH_CNT GEN判斷并獲取MATCH_CNT值;LOCK_JUDGE判斷MATCH_CNT值是否符合要求,即MATCH_CNT值是否達到MATCH_TIME值,并輸出PLL_LOCK狀態,其中,若達到,則PLL_LOCK=1,否則,PLL_LOCK=0。
可選地,上述時鐘電路可以包括:鎖相環時鐘電路或鎖頻環時鐘電路。本發明可應用于任何含有PLL或FLL的芯片或電路中,如MCU或SoC。結構簡潔、檢測結果準確,特別適用于全數字PLL或FLL,也可應于模擬PLL或FLL電路,要求是同時含有ADC電路。
需要說明的是,實施例2中裝置部分的各實施方式與實施例1中方法部分的各實施方式是相對應的,可參考實施例1中的說明,在此不再贅述。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的技術內容,可通過其它的方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可為個人計算機、服務器或者網絡設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。