国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法

      文檔序號(hào):7546342閱讀:291來(lái)源:國(guó)知局
      一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法
      【專(zhuān)利摘要】本發(fā)明涉及一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法,該方法利用一個(gè)精準(zhǔn)的參考時(shí)鐘源,通過(guò)軟/硬件配合完成對(duì)片內(nèi)一個(gè)或者多個(gè)振蕩器的校準(zhǔn),同時(shí)還可以利用已經(jīng)完成校準(zhǔn)的振蕩器輸出的時(shí)鐘對(duì)芯片內(nèi)部其他振蕩器進(jìn)行校準(zhǔn)。本發(fā)明旨在使用嵌入式芯片內(nèi)部的處理器,配合較少的硬件資源,完成振蕩器的高精度校準(zhǔn),在大幅降低了校準(zhǔn)復(fù)雜度的同時(shí),提高了校準(zhǔn)的精度。
      【專(zhuān)利說(shuō)明】一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法

      【技術(shù)領(lǐng)域】
      :
      [0001]本發(fā)明涉及嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法,尤其是滿(mǎn)足該方法的軟硬件流程以及硬件實(shí)現(xiàn)架構(gòu)。

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


      【發(fā)明內(nèi)容】

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

      【專(zhuān)利附圖】

      【附圖說(shuō)明】
      [0011]圖1時(shí)鐘校準(zhǔn)實(shí)現(xiàn)框圖;
      [0012]圖2利用參考時(shí)鐘對(duì)內(nèi)部待校準(zhǔn)時(shí)鐘Calib_clock校準(zhǔn)軟件流程圖;
      [0013]圖3校準(zhǔn)硬件電路實(shí)現(xiàn)時(shí)序圖;
      [0014]圖4利用內(nèi)部已校準(zhǔn)時(shí)鐘Calib_clock對(duì)其它待校準(zhǔn)時(shí)鐘CalibN_clock校準(zhǔn)軟件流程圖;

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

      【權(quán)利要求】
      1.一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法,其特征在于,所述方法包括: 使用一個(gè)精準(zhǔn)的參考時(shí)鐘源,利用處理器,配合較少的硬件資源,快速的完成對(duì)時(shí)鐘振蕩器的精確校準(zhǔn),還可以利用同一套電路,使用校準(zhǔn)好的時(shí)鐘再對(duì)芯片內(nèi)部其他的時(shí)鐘進(jìn)行校準(zhǔn)。
      2.根據(jù)權(quán)利要求1所述的一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法,其特征在于,本發(fā)明所使用的精準(zhǔn)參考時(shí)鐘源,可以使用芯片內(nèi)部或者外部的精準(zhǔn)參考時(shí)鐘源。
      3.根據(jù)權(quán)利要求1所述的一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法,其特征在于,所述發(fā)明為通過(guò)軟件/硬件配合完成時(shí)鐘的校準(zhǔn),校準(zhǔn)精度高達(dá)幾個(gè)ppm甚至更低。
      4.根據(jù)權(quán)利要求1?3所述的一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法,其特征在于,所使用的硬件電路資源少,主體為兩個(gè)定時(shí)器(Timerl和Timer2),通過(guò)兩個(gè)定時(shí)器之間的特定時(shí)序關(guān)系,握手完成定時(shí),然后上報(bào)中斷,完成單次定時(shí)。
      5.根據(jù)權(quán)利要求1?3所述的一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法,其特征在于,軟件流程內(nèi)部使用迭代完成校準(zhǔn),迭代所選擇的算法為二分法,同時(shí)使用遞歸求最小排序法,使用了比較選擇過(guò)程,這種流程首先加快了校準(zhǔn)的速度,其次提高了校準(zhǔn)的精確度。
      6.根據(jù)權(quán)利要求1?5所述的一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法,其特征在于,可以通過(guò)同一套硬件電路,利用同樣的方法對(duì)一個(gè)或多個(gè)時(shí)鐘進(jìn)行校準(zhǔn)。
      7.根據(jù)權(quán)利要求1?5所述的一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法,其特征在于,可以通過(guò)同一套硬件電路,利用校準(zhǔn)好的時(shí)鐘作為參考時(shí)鐘源,對(duì)片內(nèi)其他的一個(gè)或多個(gè)時(shí)鐘進(jìn)行校準(zhǔn)。這種校準(zhǔn)方法可以使得所有待校準(zhǔn)的時(shí)鐘得到高精度的校準(zhǔn)。
      8.根據(jù)權(quán)利要求1?7所述的一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法,其特征在于,可以根據(jù)需求,任意設(shè)定參數(shù),選擇適合自己的校準(zhǔn)精度要求。
      9.根據(jù)權(quán)利要求1?8所述的一種嵌入式處理器片內(nèi)振蕩器的高精度校準(zhǔn)方法,其特征在于,本校準(zhǔn)流程可快速收斂,可快速完成校準(zhǔn)流程。若對(duì)校準(zhǔn)速度還有要求,可以通過(guò)設(shè)定定時(shí)器的參數(shù),加快校準(zhǔn)速度。
      【文檔編號(hào)】H03L7/099GK104133520SQ201410366240
      【公開(kāi)日】2014年11月5日 申請(qǐng)日期:2014年7月29日 優(yōu)先權(quán)日:2014年7月29日
      【發(fā)明者】王和國(guó), 陶建平, 劉勇, 張永攀, 孫振瑋 申請(qǐng)人:江蘇宏云技術(shù)有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1