本發(fā)明涉及集成電路設(shè)計(jì)技術(shù)領(lǐng)域,具體涉及一種振蕩器的頻率校準(zhǔn)電路及其頻率校準(zhǔn)方法,基于鎖相環(huán)二分法確定最佳電容控制字。
背景技術(shù):
鎖相環(huán)是射頻通信系統(tǒng)中的一個(gè)關(guān)鍵模塊,被用來(lái)為收發(fā)機(jī)提供穩(wěn)定的頻率。鎖相環(huán)電路是一種反饋控制電路,利用外部晶振提供的輸入?yún)⒖紩r(shí)鐘,來(lái)控制環(huán)路內(nèi)部振蕩信號(hào)的頻率以及相位,從而得到需要的頻率信號(hào)。經(jīng)典的鎖相環(huán)電路由鑒頻鑒相器、電荷泵、環(huán)路濾波器、壓控振蕩器以及分頻器組成,若要實(shí)現(xiàn)小數(shù)分頻,還需要加入sigma-delta調(diào)制器。由于射頻鎖相環(huán)需要高的振蕩頻率,寬的調(diào)諧范圍,以及好的相位噪聲,所以通常采用電感電容壓控振蕩器(LCVCO)。在選定一個(gè)電感之后,LCVCO的振蕩頻率由電容決定。為了覆蓋寬的調(diào)諧范圍,以及工藝角變化,通常將振蕩器的頻率分為多個(gè)子帶來(lái)控制,上電后采用自動(dòng)頻率校準(zhǔn)技術(shù),在電路開環(huán)狀態(tài)下,篏位LCVCO控制電壓值,利用開關(guān)電容陣列提供粗調(diào),預(yù)先將LCVCO調(diào)諧到目標(biāo)頻率附近的子帶,再利用連續(xù)可變的電容提供細(xì)調(diào),從而將壓控振蕩器鎖定到目標(biāo)頻率。
子帶的選擇,通常采用純數(shù)字的自動(dòng)頻率校準(zhǔn)方法來(lái)實(shí)現(xiàn)。傳統(tǒng)的頻率校準(zhǔn)方法有遍歷法和二分法等。遍歷法,可以從高到低,或者從低到高,直到找到目標(biāo)值,缺點(diǎn)是在狀態(tài)很多時(shí),用時(shí)會(huì)比較長(zhǎng)。二分法是從中間值開始,先決定最高位的值,然后依次比較,最后定出最低位的值。二分法的優(yōu)點(diǎn)是快速高效,但是結(jié)果具有方向性。例如,目標(biāo)頻率處于子帶一和子帶二之間,且子帶一的頻率大于子帶二的頻率,則具有向上性的二分法,無(wú)論目標(biāo)頻率是距離子帶一近,還是距離子帶二近,校準(zhǔn)的結(jié)果都會(huì)選則子帶一。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種振蕩器的頻率校準(zhǔn)電路及其頻率校準(zhǔn)方法,在不增加開關(guān)電容陣列的前提下,有效提高頻率校準(zhǔn)精度。
為了達(dá)到上述目的,本發(fā)明通過(guò)以下技術(shù)方案實(shí)現(xiàn):一種振蕩器的振蕩頻率校準(zhǔn)電路,其特點(diǎn)是,包含:
狀態(tài)機(jī)模塊,用于接收校準(zhǔn)開始信號(hào)后,輸出計(jì)數(shù)開始信號(hào),以及控制狀態(tài)關(guān)系轉(zhuǎn)移;
參考時(shí)鐘計(jì)數(shù)器,用于接收計(jì)數(shù)開始信號(hào)后開始計(jì)數(shù),并向狀態(tài)機(jī)模塊反饋振蕩器延遲完成位信號(hào);
分頻時(shí)鐘計(jì)數(shù)器,用于接收計(jì)數(shù)開始信號(hào)后開始計(jì)數(shù);
電容字選擇模塊,用于存儲(chǔ)參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值及采用預(yù)設(shè)算法確定最佳電容控制字。
一種振蕩器的振蕩頻率校準(zhǔn)方法,應(yīng)用于上述的振蕩頻率校準(zhǔn)電路中,其特點(diǎn)是,用于4位電容控制字校準(zhǔn),該振蕩頻率校準(zhǔn)方法包含以下步驟:
步驟S102:狀態(tài)機(jī)模塊接收到校準(zhǔn)開始信號(hào)后,向電容字選擇模塊發(fā)送控制信號(hào),設(shè)置電容控制字的初始值、最佳電容控制字的初始值、最大計(jì)數(shù)值的初始值、當(dāng)前計(jì)數(shù)值的初始值,并分別向參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器發(fā)送計(jì)數(shù)開始信號(hào);
步驟S104:當(dāng)參考時(shí)鐘計(jì)數(shù)器與分頻時(shí)鐘計(jì)數(shù)器中的一個(gè),其計(jì)數(shù)值達(dá)到第一預(yù)設(shè)閾值時(shí),則電容字選擇模塊將未計(jì)數(shù)完成的計(jì)數(shù)器的計(jì)數(shù)值存儲(chǔ)為當(dāng)前計(jì)數(shù)值,并根據(jù)當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值之間的大小關(guān)系,對(duì)最佳電容控制字和最大計(jì)數(shù)值進(jìn)行賦值;
步驟S106:狀態(tài)機(jī)模塊再次向參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器發(fā)送計(jì)數(shù)開始信號(hào),參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器由零開始計(jì)數(shù),重復(fù)步驟S104,依次確定4位電容控制字的bit3、bit2、bit1、bit0的值;
步驟S108:當(dāng)參考時(shí)鐘計(jì)數(shù)器與分頻時(shí)鐘計(jì)數(shù)器中的一個(gè),其計(jì)數(shù)值達(dá)到第一預(yù)設(shè)閾值時(shí),電容字選擇模塊將未計(jì)數(shù)完成的計(jì)數(shù)器的計(jì)數(shù)值存儲(chǔ)為當(dāng)前計(jì)數(shù)值,將當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值進(jìn)行比較,若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值,并將當(dāng)前電容控制字賦值給最佳電容控制字;
步驟S110:振蕩頻率校準(zhǔn)完成,將完成標(biāo)志位置為高,電路開環(huán)標(biāo)志設(shè)為零,控制電容陣列的電容字選擇最佳電容控制字。
所述的電容控制字的初始值為1000;最佳電容控制字的初始值為1000;最大計(jì)數(shù)值的初始值為0當(dāng)前計(jì)數(shù)值的初始值為0。
所述的第一預(yù)設(shè)閾值為512。
所述的步驟S102之后、步驟S104之前還包含一步驟S112,所述的步驟S112包含:
步驟S112:當(dāng)參考時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值達(dá)到第二預(yù)設(shè)閾值時(shí),參考時(shí)鐘計(jì)數(shù)器向狀態(tài)機(jī)模塊反饋振蕩器延遲完成位信號(hào),所述的狀態(tài)機(jī)模塊再次向參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器發(fā)送計(jì)數(shù)開始信號(hào),參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器由零開始計(jì)數(shù)。
所述的第二預(yù)設(shè)閾值為16。
所述的步驟S104中包含:
若參考時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值首先達(dá)到第一預(yù)設(shè)閾值,則對(duì)電容控制字進(jìn)行重設(shè),減小電容控制字,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值;
比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;
若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;
若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變。
所述的步驟S104中包含:
若分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值首先達(dá)到第一預(yù)設(shè)閾值,則對(duì)電容控制字進(jìn)行重設(shè),增大電容控制字,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值;
比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;
若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;
若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變。
所述的步驟S110中還包含:
狀態(tài)機(jī)模塊等待接收新的校準(zhǔn)開始信號(hào);
若無(wú)新的校準(zhǔn)開始信號(hào),則將振蕩器鎖定;
若有新的校準(zhǔn)開始信號(hào),則初始化振蕩頻率校準(zhǔn)電路,繼續(xù)執(zhí)行步驟S102~步驟S110。
本發(fā)明一種振蕩器的頻率校準(zhǔn)電路及其頻率校準(zhǔn)方法與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn):在相同電容陣列的條件下,有效提高頻率校準(zhǔn)精度,從而使得振蕩器能夠在不同的工藝角,不同溫度變化下,都能夠鎖定。
附圖說(shuō)明
圖1為本發(fā)明一種振蕩器的頻率校準(zhǔn)電路的結(jié)構(gòu)框圖;
圖2為本發(fā)明一種振蕩器的頻率校準(zhǔn)方法的流程圖;
圖3為二分法頻率校準(zhǔn)狀態(tài)轉(zhuǎn)移圖;
圖4為最佳電容控制字的選擇流程圖。
具體實(shí)施方式
以下結(jié)合附圖,通過(guò)詳細(xì)說(shuō)明一個(gè)較佳的具體實(shí)施例,對(duì)本發(fā)明做進(jìn)一步闡述。
一種振蕩器的振蕩頻率校準(zhǔn)電路10,如圖1所示,包含:狀態(tài)機(jī)模塊101,用于接收校準(zhǔn)開始信號(hào)后,輸出計(jì)數(shù)開始信號(hào),以及控制狀態(tài)關(guān)系轉(zhuǎn)移;參考時(shí)鐘計(jì)數(shù)器102,用于接收計(jì)數(shù)開始信號(hào)后開始計(jì)數(shù),并向狀態(tài)機(jī)模塊101反饋振蕩器延遲完成位(stDelBit)信號(hào);分頻時(shí)鐘計(jì)數(shù)器103,用于接收計(jì)數(shù)開始信號(hào)后開始計(jì)數(shù);電容字選擇模塊104,用于存儲(chǔ)參考時(shí)鐘計(jì)數(shù)器102和分頻時(shí)鐘計(jì)數(shù)器103的計(jì)數(shù)值及采用預(yù)設(shè)算法確定最佳電容控制字。
本發(fā)明還公開了一種振蕩器的振蕩頻率校準(zhǔn)方法,應(yīng)用于振蕩頻率校準(zhǔn)電路中,用于4位電容控制字校準(zhǔn),如圖2所示,該振蕩頻率校準(zhǔn)方法包含以下步驟:
步驟S102:狀態(tài)機(jī)模塊接收到校準(zhǔn)開始信號(hào)后,向電容字選擇模塊發(fā)送控制信號(hào),設(shè)置電容控制字的初始值、最佳電容控制字的初始值、最大計(jì)數(shù)值的初始值、當(dāng)前計(jì)數(shù)值的初始值,并分別向參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器發(fā)送計(jì)數(shù)開始信號(hào)。
步驟S112:當(dāng)參考時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值達(dá)到第二預(yù)設(shè)閾值時(shí),參考時(shí)鐘計(jì)數(shù)器向狀態(tài)機(jī)模塊反饋振蕩器延遲完成位信號(hào),所述的狀態(tài)機(jī)模塊再次向參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器發(fā)送計(jì)數(shù)開始信號(hào),參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器由零開始計(jì)數(shù)。
步驟S104:當(dāng)參考時(shí)鐘計(jì)數(shù)器與分頻時(shí)鐘計(jì)數(shù)器中的一個(gè),其計(jì)數(shù)值達(dá)到第一預(yù)設(shè)閾值時(shí),則電容字選擇模塊將未計(jì)數(shù)完成的計(jì)數(shù)器的計(jì)數(shù)值存儲(chǔ)為當(dāng)前計(jì)數(shù)值,并根據(jù)當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值之間的大小關(guān)系,對(duì)最佳電容控制字和最大計(jì)數(shù)值進(jìn)行賦值。
若參考時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值首先達(dá)到第一預(yù)設(shè)閾值,則對(duì)電容控制字進(jìn)行重設(shè),減小電容控制字,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值;比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變。
若分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值首先達(dá)到第一預(yù)設(shè)閾值,則對(duì)電容控制字進(jìn)行重設(shè),增大電容控制字,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值;比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變。
步驟S106:狀態(tài)機(jī)模塊再次向參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器發(fā)送計(jì)數(shù)開始信號(hào),參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器由零開始計(jì)數(shù),重復(fù)步驟S104,依次確定4位電容控制字的bit3、bit2、bit1、bit0的值。
步驟S108:當(dāng)參考時(shí)鐘計(jì)數(shù)器與分頻時(shí)鐘計(jì)數(shù)器中的一個(gè),其計(jì)數(shù)值達(dá)到第一預(yù)設(shè)閾值時(shí),電容字選擇模塊將未計(jì)數(shù)完成的計(jì)數(shù)器的計(jì)數(shù)值存儲(chǔ)為當(dāng)前計(jì)數(shù)值,將當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值進(jìn)行比較,若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值,并將當(dāng)前電容控制字賦值給最佳電容控制字。
步驟S110:振蕩頻率校準(zhǔn)完成,將完成標(biāo)志位置為高,電路開環(huán)標(biāo)志設(shè)為零,控制電容陣列的電容字選擇最佳電容控制字。狀態(tài)機(jī)模塊等待接收新的校準(zhǔn)開始信號(hào);若無(wú)新的校準(zhǔn)開始信號(hào),則將振蕩器鎖定;若有新的校準(zhǔn)開始信號(hào),則初始化振蕩頻率校準(zhǔn)電路,繼續(xù)執(zhí)行步驟S102~步驟S110。
具體地,結(jié)合圖1、圖3和圖4通過(guò)具體實(shí)施例對(duì)本發(fā)明的振蕩器的振蕩頻率校準(zhǔn)方法作進(jìn)一步詳細(xì)說(shuō)明,將頻率校準(zhǔn)狀態(tài)從0~11,分為12個(gè)狀態(tài)。需要說(shuō)明的是,附圖均采用非常簡(jiǎn)化的形式、使用非精確的比例,且僅用以方便、明晰地達(dá)到輔助說(shuō)明本發(fā)明實(shí)施例的目的。
狀態(tài)0,又稱之為空閑狀態(tài):當(dāng)狀態(tài)機(jī)模塊接收到校準(zhǔn)開始信號(hào)calStartIn時(shí),狀態(tài)機(jī)模塊進(jìn)入狀態(tài)1,同時(shí)將電容控制字的初始值置為1000,產(chǎn)生計(jì)數(shù)開始信號(hào)CountStart,參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器同時(shí)開始計(jì)數(shù)。電容字選擇模塊將最大計(jì)數(shù)值和當(dāng)前計(jì)數(shù)值設(shè)為0,當(dāng)前電容字和最佳電容字設(shè)為1000。狀態(tài)0中的電容控制字輸出capArrayOut=1000。
狀態(tài)1,又稱之為電容控制字bit3的等待狀態(tài):當(dāng)參考時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值到16時(shí),產(chǎn)生stDelBit信號(hào),狀態(tài)機(jī)模塊進(jìn)入狀態(tài)2,同時(shí)產(chǎn)生計(jì)數(shù)開始信號(hào)CountStart,使得參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器同時(shí)開始從零計(jì)數(shù),此步驟是為了使得校準(zhǔn)結(jié)果比較準(zhǔn)確,在每次電容控制字發(fā)生改變后,都加入了16個(gè)參考時(shí)鐘長(zhǎng)度的等待時(shí)間,從而使得振蕩時(shí)鐘穩(wěn)定才開始計(jì)數(shù)。狀態(tài)1中的電容控制字輸出capArrayOut=1000。
狀態(tài)2,又稱之為電容控制字bit3的決定狀態(tài):當(dāng)任一個(gè)計(jì)數(shù)器的計(jì)數(shù)值達(dá)到512時(shí),狀態(tài)機(jī)模塊進(jìn)入狀態(tài)3,同時(shí)產(chǎn)生計(jì)數(shù)開始信號(hào)CountStart,使得參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器同時(shí)開始從零計(jì)數(shù),如果是參考時(shí)鐘計(jì)數(shù)器計(jì)數(shù)先完成,說(shuō)明分頻時(shí)鐘慢,需要減小電容字,則減小電容控制字,bit3的值設(shè)為0,bit2的值置為1,bit1的值及bit0的值保持不變,將電容控制字存入當(dāng)前電容控制字寄存器,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值,當(dāng)前計(jì)數(shù)值存入計(jì)數(shù)寄存器;比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,說(shuō)明當(dāng)前的電容控制字對(duì)應(yīng)的頻率子帶更接近目標(biāo)頻率,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變;如果是分頻時(shí)鐘計(jì)數(shù)器先完成計(jì)數(shù),說(shuō)明分頻時(shí)鐘快,需要加大電容字,則增大電容字,bit3保持1,bit2同時(shí)置為1,bit1的值及bit0的值保持不變,將電容控制字存入當(dāng)前電容控制字寄存器,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值;比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變。狀態(tài)2中的參考計(jì)數(shù)完成時(shí)的電容控制字輸出capArrayOut=(capArrayOut&4'b0111)|4'b0100;分頻計(jì)數(shù)完成時(shí)的電容控制字輸出capArrayOut=capArrayOut|4'b0100。
狀態(tài)3,又稱之為電容控制字bit2的等待狀態(tài):當(dāng)參考時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值到16時(shí),產(chǎn)生stDelBit信號(hào),狀態(tài)機(jī)模塊進(jìn)入狀態(tài)4,同時(shí)產(chǎn)生計(jì)數(shù)開始信號(hào)CountStart,使得參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器同時(shí)開始從零計(jì)數(shù)。
狀態(tài)4,又稱之為電容控制字bit2的決定狀態(tài):當(dāng)任一個(gè)計(jì)數(shù)器的計(jì)數(shù)值達(dá)到512時(shí),狀態(tài)機(jī)模塊進(jìn)入狀態(tài)3,同時(shí)產(chǎn)生計(jì)數(shù)開始信號(hào)CountStart,使得參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器同時(shí)開始從零計(jì)數(shù),如果是參考時(shí)鐘計(jì)數(shù)器計(jì)數(shù)先完成,則減小電容控制字,bit2的值設(shè)為0,bit1的值置為1,bit3的值及bit0的值保持不變,將電容控制字存入當(dāng)前電容控制字寄存器,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值,當(dāng)前計(jì)數(shù)值存入計(jì)數(shù)寄存器;比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變;如果是分頻時(shí)鐘計(jì)數(shù)器先完成計(jì)數(shù),則增大電容字,bit1的值置為1,bit3的值、bit2的值及bit0的值保持不變,將電容控制字存入當(dāng)前電容控制字寄存器,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值;比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變。狀態(tài)4中的參考計(jì)數(shù)完成時(shí)的電容控制字輸出capArrayOut=(capArrayOut&4'b1011)|4'b0010;分頻計(jì)數(shù)完成時(shí)的電容控制字輸出capArrayOut=capArrayOut|4'b0010。
狀態(tài)5,又稱之為電容控制字bit1的等待狀態(tài):當(dāng)參考時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值到16時(shí),產(chǎn)生stDelBit信號(hào),狀態(tài)機(jī)模塊進(jìn)入狀態(tài)6,同時(shí)產(chǎn)生計(jì)數(shù)開始信號(hào)CountStart,使得參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器同時(shí)開始從零計(jì)數(shù)。
狀態(tài)6,又稱之為電容控制字bit1的決定狀態(tài):當(dāng)任一個(gè)計(jì)數(shù)器的計(jì)數(shù)值達(dá)到512時(shí),狀態(tài)機(jī)模塊進(jìn)入狀態(tài)7,同時(shí)產(chǎn)生計(jì)數(shù)開始信號(hào)CountStart,使得參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器同時(shí)開始從零計(jì)數(shù),如果是參考時(shí)鐘計(jì)數(shù)器計(jì)數(shù)先完成,則減小電容控制字,bit1的值設(shè)為0,bit0的值置為1,bit3的值及bit2的值保持不變,將電容控制字存入當(dāng)前電容控制字寄存器,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值,當(dāng)前計(jì)數(shù)值存入計(jì)數(shù)寄存器;比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變;如果是分頻時(shí)鐘計(jì)數(shù)器先完成計(jì)數(shù),則增大電容字,bit0的值置為1,bit3的值、bit2的值及bit1的值保持不變,將電容控制字存入當(dāng)前電容控制字寄存器,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值;比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變。狀態(tài)6中的參考計(jì)數(shù)完成時(shí)的電容控制字輸出capArrayOut=(capArrayOut&4'b1101)|4'b0001;分頻計(jì)數(shù)完成時(shí)的電容控制字輸出capArrayOut=capArrayOut|4'b0001。
狀態(tài)7,又稱之為電容控制字bit0的等待狀態(tài):當(dāng)參考時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值到16時(shí),產(chǎn)生stDelBit信號(hào),狀態(tài)機(jī)模塊進(jìn)入狀態(tài)8,同時(shí)產(chǎn)生計(jì)數(shù)開始信號(hào)CountStart,使得參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器同時(shí)開始從零計(jì)數(shù)。
狀態(tài)8,又稱之為電容控制字bit0的決定狀態(tài):當(dāng)任一個(gè)計(jì)數(shù)器的計(jì)數(shù)值達(dá)到512時(shí),狀態(tài)機(jī)模塊進(jìn)入狀態(tài)9,同時(shí)產(chǎn)生計(jì)數(shù)開始信號(hào)CountStart,使得參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器同時(shí)開始從零計(jì)數(shù),如果是參考時(shí)鐘計(jì)數(shù)器計(jì)數(shù)先完成,則減小電容控制字,bit0的值設(shè)為0,bit3的值、bit2的值及bit1的值保持不變,將電容控制字存入當(dāng)前電容控制字寄存器,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值,當(dāng)前計(jì)數(shù)值存入計(jì)數(shù)寄存器;比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變;如果是分頻時(shí)鐘計(jì)數(shù)器先完成計(jì)數(shù),則bit3的值、bit2的值、bit1的值及bit0的值保持不變,將電容控制字存入當(dāng)前電容控制字寄存器,并將分頻時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值賦值給當(dāng)前計(jì)數(shù)值;比較當(dāng)前計(jì)數(shù)值與最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將重設(shè)前的電容控制字賦值給最佳電容控制字,將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值;若當(dāng)前計(jì)數(shù)值小于最大計(jì)數(shù)值,則最佳電容控制字和最佳電容控制字均保持不變。狀態(tài)8中的參考計(jì)數(shù)完成時(shí)的電容控制字輸出capArrayOut=(capArrayOut&4'b1110)|4'b0000;分頻計(jì)數(shù)完成時(shí)的電容控制字輸出capArrayOut=capArrayOut|4'b0000。
狀態(tài)9,又稱之為等待電容控制字的穩(wěn)定狀態(tài):當(dāng)參考時(shí)鐘計(jì)數(shù)器的計(jì)數(shù)值到16時(shí),產(chǎn)生stDelBit信號(hào),狀態(tài)機(jī)模塊進(jìn)入狀態(tài)10,同時(shí)產(chǎn)生計(jì)數(shù)開始信號(hào)CountStart,使得參考時(shí)鐘計(jì)數(shù)器和分頻時(shí)鐘計(jì)數(shù)器同時(shí)開始從零計(jì)數(shù)。
狀態(tài)10:當(dāng)任一個(gè)計(jì)數(shù)器的計(jì)數(shù)值達(dá)到512時(shí),狀態(tài)機(jī)模塊進(jìn)入狀態(tài)11。電容字選擇模塊將未計(jì)數(shù)完成的計(jì)數(shù)值存入當(dāng)前計(jì)數(shù)寄存器,電容控制字存入當(dāng)前電容控制字寄存器;然后比較當(dāng)前的計(jì)數(shù)值與最大計(jì)數(shù)值的大小,如過(guò)當(dāng)前計(jì)數(shù)值大于最大計(jì)數(shù)值,則將當(dāng)前計(jì)數(shù)值賦值給最大計(jì)數(shù)值,當(dāng)前的電容值為最佳電容控制字。
狀態(tài)11,又稱之為校準(zhǔn)完成狀態(tài):自此振蕩頻率校準(zhǔn)完成,將完成標(biāo)志位calComp置為高,電路開環(huán)標(biāo)志openLoopOut設(shè)為零,控制電容陣列的電容字選擇最佳電容字。當(dāng)有新的校準(zhǔn)開始信號(hào)calStartIn時(shí),將狀態(tài)機(jī)模塊相關(guān)參數(shù)初始化,狀態(tài)機(jī)模塊將進(jìn)入狀態(tài)1,重新開始校準(zhǔn);否則電路則處于鎖定狀態(tài)。
盡管本發(fā)明的內(nèi)容已經(jīng)通過(guò)上述優(yōu)選實(shí)施例作了詳細(xì)介紹,但應(yīng)當(dāng)認(rèn)識(shí)到上述的描述不應(yīng)被認(rèn)為是對(duì)本發(fā)明的限制。在本領(lǐng)域技術(shù)人員閱讀了上述內(nèi)容后,對(duì)于本發(fā)明的多種修改和替代都將是顯而易見的。因此,本發(fā)明的保護(hù)范圍應(yīng)由所附的權(quán)利要求來(lái)限定。