麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種嵌入式處理器片內振蕩器的高精度校準方法

文檔序號:7546342閱讀:313來源:國知局
一種嵌入式處理器片內振蕩器的高精度校準方法
【專利摘要】本發明涉及一種嵌入式處理器片內振蕩器的高精度校準方法,該方法利用一個精準的參考時鐘源,通過軟/硬件配合完成對片內一個或者多個振蕩器的校準,同時還可以利用已經完成校準的振蕩器輸出的時鐘對芯片內部其他振蕩器進行校準。本發明旨在使用嵌入式芯片內部的處理器,配合較少的硬件資源,完成振蕩器的高精度校準,在大幅降低了校準復雜度的同時,提高了校準的精度。
【專利說明】一種嵌入式處理器片內振蕩器的高精度校準方法

【技術領域】
:
[0001]本發明涉及嵌入式處理器片內振蕩器的高精度校準方法,尤其是滿足該方法的軟硬件流程以及硬件實現架構。

【背景技術】
[0002]嵌入式處理器芯片,時鐘源一般分為三類:芯片外接時鐘、芯片外接晶振、片內振蕩器。使用片內振蕩器的嵌入式處理器,由于制造工藝的偏差,不同芯片內的振蕩器所產生的時鐘頻率差異較大。為了能夠使芯片的時鐘頻率更為準確,在設計片內振蕩器時,一般都會添加控制字(Code)來控制振蕩器內部的電流或者電壓,或者調節電阻/電容大小,來對時鐘頻率進行調整,控制字和時鐘頻率之間的關系為單調(增/減)關系,通過對控制字的控制來調整振蕩器的輸出頻率。現有技術中,對于時鐘的校準精度較低,校準復雜度高,所需資源多。


【發明內容】

[0003]本發明要解決的技術問題是:本發明提供了一種嵌入式處理器片內振蕩器的高精度校準方法,該方法是使用一個精準的參考時鐘源(Ext_ref_clock或In_ref_clock),利用處理器,配合較少的硬件資源,快速的完成對一個或多個時鐘振蕩器輸出時鐘(Calib*_clock)的精確校準,還可以利用同一套電路,使用校準好的時鐘再對芯片內部其他的時鐘(Calib*_clock)進行校準。
[0004]本發明要解決的技術問題是:本發明提供一整套軟件、硬件交互流程的解決方案。該解決方案中,整個流程受軟件控制,每次校準由軟件調度硬件電路開始工作,硬件電路完成特定工作之后,通過中斷反饋給軟件,之后軟件再根據目前得到的結果決定是否啟動下一次校準,最終完成時鐘的校準。
[0005]在該校準流程中,使用二分法及遞歸求最小排序法,進行快速迭代。最多僅需N次迭代,即可完成時鐘的校準,同時找到最精確的時鐘所對應的控制字。N為時鐘振蕩器的控制字的BIT數。
[0006]本發明提供了硬件設計的電路框圖及對應的時序說明,硬件電路主體為兩個定時器(Timerl和Timer2),通過兩個定時器之間的特定時序關系,握手完成定時,然后上報中斷,完成單次定時。
[0007]本發明提供的解決方案,為保證校準后的時鐘振蕩器的精度,需要提供一個高精度的參考時鐘源,在此條件下,本發明可以把時鐘校準精度提高至幾個PPM甚至更低。
[0008]若芯片內部有多個需要校準的時鐘,可以利用同一套硬件電路,通過參考時鐘直接對芯片內部所有待校準的時鐘振蕩器進行校準。
[0009]若芯片內部有多個需要校準的時鐘,也可以通過參考時鐘先對高頻率的內部時鐘振蕩器進行校準,然后再利用這個已經校準完的高頻率時鐘振蕩器,利用同一套電路,再對芯片內部其他低頻率的時鐘進行校準。這種方式相對于上文提到的直接利用參考時鐘對片內所有時鐘校準的方法,在參考時鐘頻率較低時,可以大幅度降低校準成本、提高精度。
[0010]本發明的有益效果是:該方法利用一個精準的參考時鐘源,通過軟/硬件配合完成對片內一個或者多個振蕩器的校準,同時還可以利用已經完成校準的振蕩器輸出的時鐘對芯片內部其他振蕩器進行校準。本發明旨在使用嵌入式芯片內部的處理器,配合較少的硬件資源,完成振蕩器的高精度校準,在大幅降低了校準復雜度的同時,提高了校準的精度。

【專利附圖】

【附圖說明】
[0011]圖1時鐘校準實現框圖;
[0012]圖2利用參考時鐘對內部待校準時鐘Calib_clock校準軟件流程圖;
[0013]圖3校準硬件電路實現時序圖;
[0014]圖4利用內部已校準時鐘Calib_clock對其它待校準時鐘CalibN_clock校準軟件流程圖;

【具體實施方式】
:
[0015]為了使本發明所要解決的技術問題、技術方案及有益效果更佳清楚、明白,以下結合附圖和實施例,對本發明進行進一步的詳細說明,應當理解,此處所描述的具體實施例僅用于解釋本發明,并不用于限定本發明。
[0016]本發明的整體思路為:通過軟件對整體流程的控制,調度硬件電路完成參考時鐘和待校準時鐘的定時控制,完成定時之后,軟件根據回讀的定時結果確定時鐘頻率需要增加還是減少,然后利用二分法配置時鐘控制字,同時使用遞歸求最小排序法保存最接近的控制字及其對應的差值,重復上述操作,直至找到最接近理論值的控制字,完成校準。在完成一個時鐘校準之后,可以使用同一套硬件電路,使用參考時鐘對片內其他待校準時鐘進行校準;或者,也可以利用同一套硬件電路,使用剛才已經完成校準的時鐘,再對芯片內其他待校準時鐘進行校準。若使用已校準時鐘對其他時鐘進行校準,則建議先校準高頻時鐘,再使用高頻時鐘校準其他低頻時鐘,但該建議并不限制于本發明。
[0017]下文將以時鐘控制字(Code)為7bit,且待校準時鐘的頻率相對于控制字是單調增加為例,講述具體的實施方式,假設待校準時鐘名稱為Calib_clock。本發明不限于7bit控制字的說明,也不限于時鐘和控制字的關系是單調增加的。
[0018]如圖1所示,是本發明的軟/硬件實現框圖100,包括處理器(CPU)lOl、硬件電路部分104、內部參考時鐘107、內部待校準時鐘振蕩器0SC1108、內部待校準時鐘振蕩器OSCN109、存儲器(Memory) 110。CPUlOl用于控制整個校準流程,調度硬件電路104部分為其工作完成整個校準過程,硬件電路104包括:定時器Timerll02、定時器Timer2103、Timerl時鐘選擇單元105、Timer2時鐘選擇單元106。Timerl和Timer2使用不同的時鐘進行計數,
[0019]時鐘選擇單元105和106,根據不同的芯片時鐘架構,設計有所差異:
[0020]?根據使用參考時鐘的不同,Timerl的時鐘選擇單元有所不同,可以使用芯片外部直接提供的精確參考時鐘,也可以使用芯片內部精確的參考時鐘,比如晶體振蕩器或者PLL輸出的時鐘。
[0021]?根據片內所需校準的時鐘個數不同,Timerl和Timer2時鐘選擇單元不一樣,具體根據片內所需校準時鐘個數決定。
[0022]?若有多個時鐘需要校準,則根據校準的方法不同,時鐘選擇單元不一樣:
[0023]-若使用一個參考時鐘(內部或者外部)對片內所有待校準時鐘進行校準,則圖中111/112則可以不需要,只需要把待校準時鐘連接至Timer2的時鐘選擇單元即可
[0024]-若先使用一個參考時鐘對片內一個待校準時鐘進行校準,然后利用已經完成校準的時鐘對芯片其他待校準時鐘進行校準,則需要把待校準時鐘連接至Timerl時鐘選擇單元上面。
[0025]針對硬件電路104部分:利用參考時鐘對內部待校準時鐘進行校準,Timerl的時鐘需要選擇參考時鐘,用于控制一次校準所用的時間,Timer2用于對被校準的時鐘進行計數,得到計數值(M-1),通過中斷上報給軟件該計數值。假設Timerl計數為N,則單次計數所需的計數時間為T = N*l/fMf elk,其中fMf elk為參考時鐘的時鐘頻率。若使用已經完成校準的時鐘對其他待校準時鐘進行校準,相反,Timerl則用于內部其他待校準時鐘進行定時,Timer2用于內部已完成校準的時鐘定時。
[0026]首先說明利用參考時鐘直接對內部待校準時鐘(一個或者多個)進行校準。如圖2所示,是本發明的軟件流程圖,是對圖101中CPU執行的詳細說明,用于說明時鐘校準的整個流程,本發明所使用的校準算法為二分法以及遞歸求最小排序法,通過二分法進行迭代校準,加快校準的收斂速度,通過遞歸求最小排序法找到最準確的校準控制字:
[0027]步驟一,如圖2中201為啟動校準的準備動作,設置三個變量,同時配置時鐘控制字為變量Mid數值。
[0028]步驟二,配置完控制字后需要延時202 —段時間,以確保配置控制字之后,振蕩器已根據該配置,改變時鐘頻率,輸出的是穩定的時鐘。
[0029]步驟三,待時鐘振蕩器輸出的時鐘穩定之后,啟動硬件203(也即啟動硬件電路的定時功能),硬件電路單次定時過程時序圖如圖3所示。
[0030]步驟四,軟件啟動硬件之后,等待硬件觸發中斷204,待硬件電路完成一次定時計算之后,上報中斷給軟件。
[0031]步驟五,軟件收到中斷之后,進入205和206的處理,計算Timer2計數值和理論值的差別205,若該差值為0,則代表已經找到最準確的控制字,直接進入步驟八,找到時鐘校準Code。否則的話,記錄本次和上次差值的最接近的差值,以及該差值所對應的控制字。若是二分法最后一次迭代,也直接進入步驟八,找到時鐘校準Code,使用差值最小對應的Code作為本次校準使用的Code。否則的話進入步驟六208。
[0032]步驟六,判斷Timer2計數值和理論值的差值,若相對于理論值偏小了,則說明待校準時鐘慢了,需要增加控制字用于調快待校準時鐘210 ;相反,若相對于理論值偏大了,則說明待校準時鐘快了,需要減少控制字用于調慢待校準時鐘209。同時更新二分法三個變量,然后進入步驟七。
[0033]步驟七,配置新的Code值至時鐘振蕩器,然后轉至步驟二。
[0034]步驟八,找到Code值,該值即為時鐘校準值,結束校準流程。
[0035]本發明在搜索過程中,首先利用了二分法,其次使用了遞歸求最小排序法,這樣既加快了校準的迭代速度,又能夠保證找到的校準控制字是最準確的。
[0036]如圖3所示,為本發明的硬件電路的工作時序圖,也即兩個Timer的工作時序圖。Timerl用于對參考時鐘進行計時,Timer2用于對待校準時鐘進行計時。軟件配置啟動硬件203之后,首先該配置同步至參考時鐘的時鐘域,生成計數使能信號cntl_enable, Timerl計數至N-1,然后關閉計數使能信號;同時cntl_enable同步至待校準時鐘的時鐘域,當該信號有效時,Timer2啟動,直至該信號被關閉。當Timerl使能信號關閉時,產生中斷信號Interrupt,觸發軟件回讀Timer2的計數值(假設Timer2計數至M-1),用于和理論值比較。
[0037]根據上述的校準實現架構,可以得到:
[0038]每次定時時間為

【權利要求】
1.一種嵌入式處理器片內振蕩器的高精度校準方法,其特征在于,所述方法包括: 使用一個精準的參考時鐘源,利用處理器,配合較少的硬件資源,快速的完成對時鐘振蕩器的精確校準,還可以利用同一套電路,使用校準好的時鐘再對芯片內部其他的時鐘進行校準。
2.根據權利要求1所述的一種嵌入式處理器片內振蕩器的高精度校準方法,其特征在于,本發明所使用的精準參考時鐘源,可以使用芯片內部或者外部的精準參考時鐘源。
3.根據權利要求1所述的一種嵌入式處理器片內振蕩器的高精度校準方法,其特征在于,所述發明為通過軟件/硬件配合完成時鐘的校準,校準精度高達幾個ppm甚至更低。
4.根據權利要求1?3所述的一種嵌入式處理器片內振蕩器的高精度校準方法,其特征在于,所使用的硬件電路資源少,主體為兩個定時器(Timerl和Timer2),通過兩個定時器之間的特定時序關系,握手完成定時,然后上報中斷,完成單次定時。
5.根據權利要求1?3所述的一種嵌入式處理器片內振蕩器的高精度校準方法,其特征在于,軟件流程內部使用迭代完成校準,迭代所選擇的算法為二分法,同時使用遞歸求最小排序法,使用了比較選擇過程,這種流程首先加快了校準的速度,其次提高了校準的精確度。
6.根據權利要求1?5所述的一種嵌入式處理器片內振蕩器的高精度校準方法,其特征在于,可以通過同一套硬件電路,利用同樣的方法對一個或多個時鐘進行校準。
7.根據權利要求1?5所述的一種嵌入式處理器片內振蕩器的高精度校準方法,其特征在于,可以通過同一套硬件電路,利用校準好的時鐘作為參考時鐘源,對片內其他的一個或多個時鐘進行校準。這種校準方法可以使得所有待校準的時鐘得到高精度的校準。
8.根據權利要求1?7所述的一種嵌入式處理器片內振蕩器的高精度校準方法,其特征在于,可以根據需求,任意設定參數,選擇適合自己的校準精度要求。
9.根據權利要求1?8所述的一種嵌入式處理器片內振蕩器的高精度校準方法,其特征在于,本校準流程可快速收斂,可快速完成校準流程。若對校準速度還有要求,可以通過設定定時器的參數,加快校準速度。
【文檔編號】H03L7/099GK104133520SQ201410366240
【公開日】2014年11月5日 申請日期:2014年7月29日 優先權日:2014年7月29日
【發明者】王和國, 陶建平, 劉勇, 張永攀, 孫振瑋 申請人:江蘇宏云技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 崇信县| 通海县| 扶余县| 仪征市| 佳木斯市| 乌拉特中旗| 邵阳县| 泽州县| 安乡县| 多伦县| 五指山市| 深泽县| 黄山市| 易门县| 疏附县| 新昌县| 马山县| 竹北市| 杨浦区| 定安县| 合阳县| 科技| 永吉县| 荆州市| 梓潼县| 海伦市| 龙口市| 松滋市| 唐河县| 汉寿县| 登封市| 丰顺县| 三台县| 平邑县| 株洲县| 永修县| 方城县| 利辛县| 屏南县| 九江市| 宣化县|