一種晶振校準方法、裝置及計算機設備與流程
1.本技術涉及微電子技術領域,特別涉及一種晶振校準方法、裝置及計算機設備。
背景技術:
2.傳統上,芯片內部的晶振常使用rc振蕩器,由于rc振蕩器容易受到環境溫度的影響,所以芯片內部晶振的振蕩頻率誤差會隨著溫度的變化而變化。具體的,溫度上升或下降都會使芯片內部晶振的精度下降,使其振蕩頻率在標稱輸出頻率的5%至50%范圍內變化。
3.在使用環境不能達到恒溫要求且對時間準確性有較嚴格要求時,通常需要使用振蕩頻率穩定的外部晶振。然而外部晶振會增加電路板面積和元器件成本,不利用實際應用。
技術實現要素:
4.為解決現有的芯片內部晶振受環境溫度影響大,頻率不穩定的問題,本技術提供一種晶振校準方法、裝置及計算機設備,能夠提高晶振振蕩頻率的準確性和可靠性。
5.一方面,提供了一種晶振校準方法,所述方法包括:
6.獲取目標晶振在預設的時間間隔內的周期計數值,所述周期計數值為參考晶振在所述時間間隔內的振動次數;
7.若所述周期計數值不處于預設的計數值參考區間,則對所述目標晶振進行校準,直至達到校準停止條件。
8.另一方面,提供了一種晶振校準裝置,所述裝置包括:
9.計數值獲取模塊,用于獲取目標晶振在預設的時間間隔內的周期計數值,所述周期計數值為參考晶振在所述時間間隔內的振動次數;
10.晶振頻率校準模塊,用于若所述周期計數值不處于預設的計數值參考區間,則對所述目標晶振進行校準,直至達到校準停止條件。
11.另一方面,提供了一種計算機設備,計算機設備包括處理器和存儲器,存儲器中存儲有至少一條指令、至少一段程序、代碼集或指令集,處理器可加載并執行至少一條指令、至少一段程序、代碼集或指令集,以實現上述申請實施例中提供的晶振校準方法。
12.另一方面,提供了一種計算機可讀存儲介質,可讀存儲介質中存儲有至少一條指令、至少一段程序、代碼集或指令集,處理器可加載并執行至少一條指令、至少一段程序、代碼集或指令集,以實現上述本技術實施例中提供的晶振校準方法。
13.另一方面,提供了一種計算機程序產品或計算機程序,該計算機程序產權或計算機程序包括計算機程序指令,該計算機程序指令存儲于計算機可讀存儲介質中。處理器從計算機可讀存儲介質讀取該計算機指令,并執行還計算機指令,使得該計算機設備執行上述實施例中任一所述的晶振校準方法。
14.本技術提供的技術方案帶來的有益效果至少包括:本發明實施例提供了一種晶振校準方法、裝置及計算機設備,所述方法包括獲取目標晶振在預設的時間間隔內的周期計數值,所述周期計數值為參考晶振在所述時間間隔內的振動次數;若所述周期計數值不處
于預設的計數值參考區間,則對所述目標晶振進行校準,直至達到校準停止條件。本發明實施例提供的方法能夠基于參考晶振對目標晶振進行的頻率進行校準,提高目標晶振的可靠性,增加內部低速晶振的應用范圍,從而降低電路板面積和元器件成本。
附圖說明
15.為了更清楚地說明本技術實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
16.圖1示出了本技術一個示例性實施例提供的一種晶振校準方法的實現流程示意圖;
17.圖2示出了本技術一個示例性實施例提供的一種晶振校準方法應用的模塊結構圖;
18.圖3示出了本技術一個示例性實施例提供的一種晶振校準方法的應用效果示意圖;
19.圖4示出了本技術一個示例性實施例提供的一種晶振校準方法的又一實現流程示意圖;
20.圖5示出了本技術一個示例性實施例提供的一種晶振校準方法的另一實現流程示意圖;
21.圖6示出了本技術一個示例性實施例提供的一種晶振校準方法的再一實現流程示意圖;
22.圖7示出了本技術一個示例性實施例提供的一種晶振校準方法的再一實現流程示意圖;
23.圖8示出了本技術一個示例性實施例提供的一種晶振校準裝置的結構圖;
24.圖9示出了本技術一個示例性實施例提供的一種晶振校準方法對應的計算機設備的結構示意圖。
具體實施方式
25.為使本技術的目的、技術方案和優點更加清楚,下面將接合附圖對本技術實施方式作進一步地詳細描述。
26.本技術提供的晶振校準方法,可以對晶振尤其是內部低速晶振進行校正,避免溫度變化造成的誤差。
27.實施例一、
28.本發明實施例提供的方法可以應用于芯片的內嵌低速阻容振蕩器(low speed internal rc oscillator,lirc)
29.圖1示出了本發明實施例提供的一種晶振校準方法的實現流程示意圖。
30.參見圖1,本發明實施例提供的晶振校準方法可以包括步驟101和步驟102。
31.步驟101:獲取目標晶振在預設的時間間隔內的周期計數值,所述周期計數值為參考晶振在所述時間間隔內的振動次數。
32.具體的,目標晶振可以為lirc,參考晶振可以為內嵌高速阻容振蕩器(high speed internal rc oscillator,hirc)或高速振蕩器(high oscillator,hosc)。
33.在一些實施例中,lirc作為芯片實時時鐘的時鐘源。
34.在一些實施例中,本發明實施例提供的晶振校準方法還可以包括:
35.基于時間間隔計算式計算所述預設的時間間隔。
36.所述時間間隔計算式包括:
[0037][0038]
其中,f1為預設頻率,rtc為目標晶振的理想頻率,pre為預分頻數,w為喚醒次數,t1為時間間隔。
[0039]
可選的,目標晶振的理想頻率為32.768khz,預分頻數取7,喚醒次數為1的情況下,以上預設頻率為1024hz,時間間隔的準確值為1/1024秒,即976.5625微秒,約等于1毫秒。
[0040]
在一些實施例中,所述獲取目標晶振在預設的時間間隔內的周期計數值,包括:
[0041]
基于外設事件系統捕獲所述參考晶振的上升沿或下降沿,得到所述周期計數值。
[0042]
在一些實施例中,以hirc或hosc為增強型定時器的時鐘源。
[0043]
在一些實施例中,增強型計數器在pes的觸發下捕獲周期計數值。
[0044]
在一些實施例中,所述晶振校準方法還包括:
[0045]
將所述預設時間間隔和所述參考晶振的參考頻率相乘,得到理想計數值;
[0046]
在一些實施例中,參考晶振的參考頻率為7.9545mhz,預設時間間隔為976.5625微秒,相乘得到理想計數值為7768。
[0047]
基于所述理想計數值和預設的精度值,確定所述計數值參考區間。
[0048]
具體的,基于所述理想計數值和所述精度值,計算所述計數值參考區間的上限值和下限值;
[0049]
基于所述上限值和下限值確定所述計數值參考區間。
[0050]
在一個具體的示例中,預設的精度值為0.314%,則上限值為(1+0.314%)
×
7768,下限值為(1-0.314%)
×
7768。
[0051]
步驟102:若所述周期計數值不處于預設的計數值參考區間,則對所述目標晶振進行校準,直至達到校準停止條件。
[0052]
在一些實施例中,步驟102包括:
[0053]
若所述周期計數值大于所述計數參考區間的上限值,則基于二分法逼近的方式對所述目標晶振進行降頻校準,直至所述周期計數值處于所述計數參考區間/或校準次數達到預設的次數閾值。
[0054]
若所述周期計數值小于所述計數參考區間的下限值,則基于二分法逼近的方式對所述目標晶振進行升頻校準,直至所述周期計數值處于所述計數參考區間/或校準次數達到預設的次數閾值。
[0055]
具體的,在降頻處理或升頻處理中,通過增強型定時器捕獲的當前周期計數值判斷lirc的誤差范圍,計算應當寫入的校準值,以及是否需要粗調,并將校準值寫入lirc的校準寄存器中。重復以上步驟采用二分法進行逐次逼近實現進一步校準直至達到預設精度要求,或達到最大校準次數。
[0056]
圖2示出了本發明實施例提供的一種方法應用的模塊結構圖。
[0057]
參見圖2,在一些實施例中,內嵌低速阻容振蕩器基于實時時鐘進行定時設置,以內嵌高速阻容振蕩器或高速振蕩器作為參考,經過外設事件系統的觸發,最終由etm捕獲結果。
[0058]
圖3示出了本發明實施例提供的一種方法的應用效果示意圖。
[0059]
參見圖3,ptc定時觸發pes會產生穩定的脈沖信號。
[0060]
本發明實施例提供的方法使用rtc定時、pes觸發以及etm捕獲的方式,利用高精度晶振校準低精度晶振,可以有效降低頻率誤差,使晶振頻率達到所需的精準度要求。
[0061]
實施例二、
[0062]
圖4示出了本發明實施例提供的方法的又一實現流程示意圖。
[0063]
參見圖4,在一些實施例中,本方法可以包括如下過程。
[0064]
首先將系統時鐘切換為8mhzhirc或hosc,進行etm捕獲。可選的,捕獲次數設置為5次。捕獲完成后,基于feedwdog捕獲狀態復位。
[0065]
檢測當前的捕獲次數,若捕獲次數不為零,則進一步判斷當前周期值與1ms標準值的誤差是否超過誤差閾值。可選的,誤差閾值為1ms標準值7768的
±
0.314%。
[0066]
若當前的誤差值超過誤差閾值,則置起校準標志位,對lirc進行校準,并將捕獲次數減一。
[0067]
若當前捕獲次數為零,或當前的誤差值不再超過誤差閾值,則停止etm捕獲和rtc計數,切換為1mhz的hirc/hosc時鐘,并將校準次數清零,捕獲狀態使能。
[0068]
在一些實施例中,時間間隔的頻率計算式包括:
[0069]
間隔頻率=理想頻率/(2(預分頻數+1)
×
(喚醒次數+1))。
[0070]
圖5示出了本發明實施例提供的方法的另一實現流程示意圖。
[0071]
參見圖5,在一些實施例中,本方法中etm捕獲過程可以包括以下步驟。
[0072]
首先調用etm得到捕獲值。
[0073]
若此時校準標志位非寫1狀態,則以新捕獲值覆蓋原捕獲值,將總周期值、捕獲周期和校準次數清零。
[0074]
若此時校準標志位寫1,則以新捕獲值覆蓋原捕獲值,計算捕獲周期,并將校準次數增加1。
[0075]
當校準次數不大于3時,將總周期值自加此次捕獲周期,并將捕獲周期值調整為新的總周期值的1/3,將etm捕獲標志寫1。
[0076]
當校準次數大于3時,直接將etm捕獲標志寫1。
[0077]
圖6示出了本發明實施例提供的方法的再一實現流程示意圖。
[0078]
參見圖6,在一些實施例中,本方法中lirc降頻過程可以包括以下步驟。
[0079]
首先判斷捕獲周期是否超過標準值的10%以上,若未超過,則繼續進行監測。
[0080]
若捕獲周期超過標準值的10%以上,則進行1次細調。
[0081]
若1次細調后不超過3us,則將細調加1檔,對應更新寄存器值。
[0082]
若1次細調后超過3us,則將粗調加1檔,細調加1檔。減小粗調值,增加細調值,直到頻率增加到理想值,最終確定新的粗調值與細調值,對應更新寄存器值。
[0083]
圖7示出了本發明實施例提供的方法的再一實現流程示意圖。
[0084]
參見圖7,在一些實施例中,本方法中lirc升頻過程可以包括以下步驟。
[0085]
首先判斷捕獲周期是否低于標準值10%以上,若未低于,則繼續進行監測。
[0086]
若捕獲周期低于標準值10%以上,則進行1次細調。
[0087]
若1次細調后不超過3us,則將細調減1檔,對應更新寄存器。
[0088]
若1次細調后超過3us,則減小粗調值,增加細調值,直到頻率增加到理想值,確定新的粗調值與細調值,并對應更新寄存器。
[0089]
在一些實施例中,本發明提供的方法可以應用于各種電器設備遙控器內部的低速晶振lirc的校準。
[0090]
綜上所述,本發明實施例提供的晶振校準方法能夠減小芯片內部低速晶振的頻率受溫度影響產生的誤差,在很多場景下可以替代外部低速晶振,從而降低周邊元器件的成本和電路板的布線空間,提高布線效率,縮小產品體積。
[0091]
實施例三、
[0092]
圖8示出了本發明實施例提供的晶振校準裝置的結構示意圖。
[0093]
參見圖8,本發明實施例提供的晶振校準裝置可以包括:
[0094]
計數值獲取模塊201,用于獲取目標晶振在預設的時間間隔內的周期計數值,所述周期計數值為參考晶振在所述時間間隔內的振動次數;
[0095]
晶振頻率校準模塊202,用于若所述周期計數值不處于預設的計數值參考區間,則對所述目標晶振進行校準,直至達到校準停止條件。
[0096]
在一些實施例中,晶振校準裝置還可以包括時間間隔計算模塊,用于基于時間間隔計算式計算所述預設的時間間隔;
[0097]
所述時間間隔計算式包括:
[0098][0099]
其中,f1為預設頻率,rtc為目標晶振的理想頻率,pre為預分頻數,w為喚醒次數,t1為時間間隔。
[0100]
在一些實施例中,計數值獲取模塊201具體用于:
[0101]
基于外設事件系統捕獲所述參考晶振的上升沿或下降沿,得到所述周期計數值。
[0102]
在一些實施例中,晶振校準裝置還可以包括理想計數值計算模塊,用于將所述預設時間間隔和所述參考晶振的參考頻率相乘,得到理想計數值;
[0103]
基于所述理想計數值和預設的精度值,確定所述計數值參考區間。
[0104]
在一些實施例中,理想計數值計算模塊具體用于:
[0105]
基于所述理想計數值和所述精度值,計算所述計數值參考區間的上限值和下限值;
[0106]
基于所述上限值和下限值確定所述計數值參考區間。
[0107]
在一些實施例中,晶振頻率校準模塊202具體用于:
[0108]
若所述周期計數值大于所述計數參考區間的上限值,則基于二分法逼近的方式對所述目標晶振進行降頻校準,直至所述周期計數值處于所述計數參考區間/或校準次數達到預設的次數閾值。
[0109]
在一些實施例中,晶振頻率校準模塊202具體用于:
[0110]
若所述周期計數值小于所述計數參考區間的下限值,則基于二分法逼近的方式對所述目標晶振進行升頻校準,直至所述周期計數值處于所述計數參考區間/或校準次數達到預設的次數閾值。
[0111]
綜上所述,本發明實施例提供的晶振校準裝置能夠減小芯片內部低速晶振的頻率受溫度影響產生的誤差,在很多場景下可以替代外部低速晶振,從而降低周邊元器件的成本和電路板的布線空間,提高布線效率,縮小產品體積。。
[0112]
實施例四、
[0113]
圖9示出了本技術一個示例性實施例提供的計算機設備的結構示意圖,該計算機設備包括:
[0114]
處理器301,包括一個或者一個以上處理核心,處理器301通過運行軟件程序以及模塊,從而執行各種功能應用以及數據處理。
[0115]
接收器302和發射器303可以實現為一個通信組件,該通信組件可以是一塊通信芯片。可選地,該通信組件可以實現包括信號傳輸功能。也即,發射器303可以用于發射控制信號至圖像采集設備以及掃描設備中,接收器302可以用于接收對應的反饋指令。
[0116]
存儲器304通過總線305與處理器301相連。
[0117]
存儲器304可用于存儲至少一個指令,處理器301用于執行該至少一個指令,以實現上述晶振校準方法實施例中的步驟101至步驟102。
[0118]
實施例五、
[0119]
本技術實施例還提供一種計算機可讀存儲介質,該可讀存儲介質中存儲有至少一條指令、至少一段程序、代碼集或指令集,以由處理器加載并執行以實現上述晶振校準方法。
[0120]
實施例六、
[0121]
本技術還提供一種計算機程序產品或計算機程序,該計算機程序產品或計算機程序包括計算機指令,該計算機指令存儲在計算機可讀存儲介質中。計算機設備的處理器從計算機可讀存儲介質讀取該計算機指令,處理器執行給計算機指令,使得該計算機設備執行上述實施例中任一所述的移動終端應用軟件交互方法。
[0122]
可選地,該計算機可讀存儲介質可以包括:只讀存儲器(rom,read only memory)、隨機存取記憶體(ram,random access memory)、固態硬盤(ssd,solid state drives)或光盤等。其中,隨機存取記憶體可以包括電阻式隨機存取記憶體(reram,resistance random access memory)和動態隨機存取存儲器(dram,dynamic random access memory)。上述本技術實施例序號僅僅為了描述,不代表實施的優劣。
[0123]
本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0124]
上述僅為本技術的可選實施例,并不用以限制本技術,凡在本技術的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本技術的保護范圍之內。
技術特征:
1.一種晶振校準方法,其特征在于,所述方法包括:獲取目標晶振在預設的時間間隔內的周期計數值,所述周期計數值為參考晶振在所述時間間隔內的振動次數;若所述周期計數值不處于預設的計數值參考區間,則對所述目標晶振進行校準,直至達到校準停止條件。2.根據權利要求1所述的方法,其特征在于,所述方法還包括:基于時間間隔計算式計算所述預設的時間間隔;所述時間間隔計算式包括:其中,f1為預設頻率,rtc為目標晶振的理想頻率,pre為預分頻數,w為喚醒次數,t1為時間間隔。3.根據權利要求1所述的方法,其特征在于,所述獲取目標晶振在預設的時間間隔內的周期計數值,包括:基于外設事件系統捕獲所述參考晶振的上升沿或下降沿,得到所述周期計數值。4.根據權利要求1所述的方法,其特征在于,所述方法還包括:將所述預設時間間隔和所述參考晶振的參考頻率相乘,得到理想計數值;基于所述理想計數值和預設的精度值,確定所述計數值參考區間。5.根據權利要求4所述的方法,其特征在于,所述基于所述理想計數值和預設的精度值,確定所述計數值參考區間,包括:基于所述理想計數值和所述精度值,計算所述計數值參考區間的上限值和下限值;基于所述上限值和下限值確定所述計數值參考區間。6.根據權利要求1至5任一項所述的方法,其特征在于,所述對所述目標晶振進行校準,直至達到校準停止條件,包括:若所述周期計數值大于所述計數參考區間的上限值,則基于二分法逼近的方式對所述目標晶振進行降頻校準,直至所述周期計數值處于所述計數參考區間/或校準次數達到預設的次數閾值。7.根據權利要求1至5任一項所述的方法,其特征在于,所述對所述目標晶振進行校準,直至達到校準停止條件,包括:若所述周期計數值小于所述計數參考區間的下限值,則基于二分法逼近的方式對所述目標晶振進行升頻校準,直至所述周期計數值處于所述計數參考區間/或校準次數達到預設的次數閾值。8.一種晶振校準裝置,其特征在于,所述裝置包括:計數值獲取模塊,用于獲取目標晶振在預設的時間間隔內的周期計數值,所述周期計數值為參考晶振在所述時間間隔內的振動次數;晶振頻率校準模塊,用于若所述周期計數值不處于預設的計數值參考區間,則對所述目標晶振進行校準,直至達到校準停止條件。9.一種計算機設備,其特征在于,所述計算機設備包括處理器和存儲器,所述存儲器中存儲有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、至少一段程序、
代碼集或指令集由所述處理器加載并執行以實現如權利要求1至7任一項所述的晶振校準方法。10.一種計算機可讀存儲介質,其特征在于,所述可讀存儲器介質中存儲有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、至少一段程序、代碼集或指令集由處理器加載并執行以實現如權利要求1至7所述的晶振校準方法。
技術總結
本發明實施例提供了一種晶振校準方法、裝置及計算機設備,所述方法。所述方法包括獲取目標晶振在預設的時間間隔內的周期計數值,所述周期計數值為參考晶振在所述時間間隔內的振動次數;若所述周期計數值不處于預設的計數值參考區間,則對所述目標晶振進行校準,直至達到校準停止條件。本發明提供的方法能夠基于參考晶振對目標晶振進行的頻率進行校準,提高目標晶振的可靠性,增加內部低速晶振的應用范圍,從而降低電路板面積和元器件成本。從而降低電路板面積和元器件成本。從而降低電路板面積和元器件成本。
