一種單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償方法
【專利摘要】本發(fā)明公開了一種單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償方法,解決單片機(jī)內(nèi)部振蕩器因外界因素改變導(dǎo)致頻率漂移的問題,使內(nèi)部振蕩頻率精度達(dá)到千分之一。本方法通過環(huán)境可調(diào)設(shè)備、可調(diào)壓直流電源、傳感器、A/D轉(zhuǎn)換模塊以及頻率實(shí)時(shí)補(bǔ)償模塊來實(shí)現(xiàn)。通過調(diào)整內(nèi)部振蕩器精度校準(zhǔn)寄存器的值補(bǔ)償振蕩器的頻率變化,從而提高了單片機(jī)內(nèi)部振蕩器的定時(shí)精度。本方法可以用于強(qiáng)震動(dòng)、高沖擊、高離心力等惡劣環(huán)境,這種環(huán)境單片機(jī)不能采用外部振蕩器。通過采用本方法大大提高了單片機(jī)的應(yīng)用范圍,同時(shí)可以節(jié)約外部振蕩器的成本。
【專利說明】一種單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償方法【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種內(nèi)部振蕩器頻率補(bǔ)償方法,特別是一種單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償方法。
【背景技術(shù)】
[0002]國(guó)內(nèi)南京理工大學(xué)譚菊琴在其碩士論文中分析了用于引信的電子時(shí)控器性能,認(rèn)為內(nèi)部振蕩器的振蕩頻率隨環(huán)境條件和輸入物理量等外界因素的變化而改變。由于影響因素太多,補(bǔ)償模型過于復(fù)雜,很難采用軟件進(jìn)行頻率補(bǔ)償。電子科技大學(xué)的魏婧發(fā)明了一種
2.4MHz晶體振蕩器的微機(jī)溫度補(bǔ)償方法,這種補(bǔ)償方法只對(duì)因溫度引起振蕩頻率漂移的情況進(jìn)行了軟件補(bǔ)償,忽略了外部輸入物理量對(duì)振蕩頻率的影響。這種補(bǔ)償方法不夠全面,且補(bǔ)償后的振蕩頻率精度提升不高。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償方法,解決環(huán)境條件和輸入物理量等外界因素導(dǎo)致單片機(jī)內(nèi)部振蕩器振蕩精度降低的問題。[0004]一種單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償方法的具體步驟如下:
第一步構(gòu)建單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償系統(tǒng)
單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償系統(tǒng),包括:環(huán)境可調(diào)設(shè)備、可調(diào)壓直流電源、傳感器、A/D轉(zhuǎn)換模塊以及頻率實(shí)時(shí)補(bǔ)償模塊。
[0005]A/D轉(zhuǎn)換模塊用于將傳感器測(cè)量的環(huán)境參數(shù)和電壓參數(shù)的模擬量轉(zhuǎn)成數(shù)字量; 頻率實(shí)時(shí)補(bǔ)償模塊用于實(shí)時(shí)接收A/D轉(zhuǎn)換模塊傳來的數(shù)據(jù),并進(jìn)行處理,得出內(nèi)部振
蕩頻率的補(bǔ)償量。最后通過改變內(nèi)部振蕩器精度校準(zhǔn)寄存器值實(shí)現(xiàn)補(bǔ)償。
[0006]可調(diào)壓直流電源分別與單片機(jī)的VCC和GND端口連接,傳感器與A/D轉(zhuǎn)換模塊相連接,A/D轉(zhuǎn)換模塊與單片機(jī)IO 口連接,可調(diào)壓直流電源、傳感器、A/D轉(zhuǎn)換模塊和單片機(jī)均置于環(huán)境可調(diào)設(shè)備內(nèi),頻率實(shí)時(shí)補(bǔ)償模塊置于單片機(jī)內(nèi)部。
[0007]單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償系統(tǒng)首先確定需要進(jìn)行補(bǔ)償?shù)摩莻€(gè)參數(shù),其中參數(shù)1、參數(shù)2、...、參數(shù)η-1為環(huán)境參數(shù),包括:溫度、濕度和振動(dòng);參數(shù)η為電壓參數(shù)。
[0008]第二步環(huán)境可調(diào)設(shè)備連續(xù)改變環(huán)境參數(shù)
環(huán)境可調(diào)設(shè)備固定參數(shù)2、參數(shù)3、..?、參數(shù)η的值,通過連續(xù)改變參數(shù)I的值,得到參數(shù)I與振蕩頻率一一對(duì)應(yīng)的數(shù)據(jù)。根據(jù)相應(yīng)的曲線選擇與曲線相對(duì)應(yīng)的數(shù)值擬合方式擬合出參數(shù)I與振蕩頻率之間的函數(shù)關(guān)系。
[0009]在參數(shù)I與振蕩頻率的函數(shù)特性基礎(chǔ)上分析參數(shù)2與振蕩頻率之間的關(guān)系,同樣固定參數(shù)1、參數(shù)3、..?、參數(shù)η的值,通過連續(xù)改變參數(shù)2得到參數(shù)1、參數(shù)2與振蕩頻率之間的函數(shù)關(guān)系。以此類推得出參數(shù)1、參數(shù)2、..?、參數(shù)η-1與振蕩頻率之間的函數(shù)關(guān)系。
[0010]第三步可調(diào)壓直流電源連續(xù)改變輸出電壓值可調(diào)壓直流電源在單片機(jī)允許的輸入電壓范圍內(nèi)連續(xù)改變電壓值,得到在環(huán)境參數(shù)不變的情況下,電壓參數(shù)η與振蕩頻率之間的函數(shù)關(guān)系。結(jié)合環(huán)境參數(shù)與振蕩頻率之間的函數(shù)關(guān)系,得出所有影響單片機(jī)內(nèi)部振蕩頻率的參數(shù),即參數(shù)1、參數(shù)2、..?、參數(shù)η與振蕩頻率之間的函數(shù)關(guān)系H。
[0011]第四步傳感器測(cè)量出單片機(jī)實(shí)際環(huán)境下參數(shù)I至參數(shù)η的值
采用相應(yīng)的傳感器測(cè)量出單片機(jī)實(shí)際環(huán)境下參數(shù)I至參數(shù)η的值,經(jīng)過A/D轉(zhuǎn)換模塊進(jìn)行數(shù)模轉(zhuǎn)換,并將數(shù)據(jù)傳給單片機(jī)。
[0012]第五步頻率實(shí)時(shí)補(bǔ)償模塊實(shí)時(shí)對(duì)單片機(jī)內(nèi)部振蕩頻率進(jìn)行補(bǔ)償
頻率實(shí)時(shí)補(bǔ)償模塊采用實(shí)時(shí)調(diào)整內(nèi)部振蕩器精度校準(zhǔn)寄存器值的方式對(duì)內(nèi)部振蕩器頻率進(jìn)行頻率補(bǔ)償。通過參數(shù)1、參數(shù)2、..?、參數(shù)η與振蕩頻率之間的函數(shù)關(guān)系4得出標(biāo)準(zhǔn)周期與實(shí)際周期之差A(yù)=Iz^-1/ f10其中&為單片機(jī)基準(zhǔn)頻率。
[0013]計(jì)算出內(nèi)部振蕩器精度校準(zhǔn)寄存器的改變值N=A/τ,并取整。τ為單位內(nèi)部振蕩器精度校準(zhǔn)寄存器值所對(duì)應(yīng)的周期值。利用頻率實(shí)時(shí)補(bǔ)償模塊給內(nèi)部振蕩器精度校準(zhǔn)寄存器賦值,一個(gè)補(bǔ)償周期結(jié)束。
[0014]補(bǔ)償原理是改變內(nèi)部振蕩器精度校準(zhǔn)寄存器值會(huì)調(diào)整振蕩器電路的電容值。內(nèi)部振蕩器精度校準(zhǔn)寄存器的值加1,振蕩周期就會(huì)減少τ。通過調(diào)整內(nèi)部振蕩器精度校準(zhǔn)寄存器的值可以補(bǔ)償振蕩器的頻率變化,從而提高了單片機(jī)內(nèi)部振蕩器的定時(shí)精度。
[0015]至此實(shí)現(xiàn)單片 機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償。
[0016]本方法能夠解決單片機(jī)內(nèi)部振蕩器因外界因素改變導(dǎo)致頻率漂移的問題,使內(nèi)部振蕩頻率精度達(dá)到千分之一。本方法可以用于強(qiáng)震動(dòng)、高沖擊、高離心力等惡劣環(huán)境,這種環(huán)境單片機(jī)不能采用外部振蕩器。采用本方法大大提高了單片機(jī)的應(yīng)用范圍,同時(shí)可以節(jié)約外部振蕩器的成本。
【具體實(shí)施方式】
[0017]一種單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償方法的【具體實(shí)施方式】,選擇單片機(jī)的型號(hào)為C8051F310。
[0018]第一步構(gòu)建單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償系統(tǒng)
單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償系統(tǒng),包括:環(huán)境可調(diào)設(shè)備、可調(diào)壓直流電源、傳感器、A/D轉(zhuǎn)換模塊以及頻率實(shí)時(shí)補(bǔ)償模塊。
[0019]A/D轉(zhuǎn)換模塊用于將傳感器測(cè)量的環(huán)境參數(shù)和電壓參數(shù)的模擬量轉(zhuǎn)成數(shù)字量; 頻率實(shí)時(shí)補(bǔ)償模塊用于實(shí)時(shí)接收A/D轉(zhuǎn)換模塊傳來的數(shù)據(jù),并進(jìn)行處理,得出內(nèi)部振
蕩頻率的補(bǔ)償量。最后通過改變內(nèi)部振蕩器精度校準(zhǔn)寄存器值實(shí)現(xiàn)補(bǔ)償。
[0020]可調(diào)壓直流電源分別與單片機(jī)的VCC和GND端口連接,傳感器與A/D轉(zhuǎn)換模塊相連接,A/D轉(zhuǎn)換模塊與單片機(jī)IO 口連接。可調(diào)壓直流電源、傳感器、A/D轉(zhuǎn)換模塊和單片機(jī)均置于環(huán)境可調(diào)設(shè)備內(nèi),頻率實(shí)時(shí)補(bǔ)償模塊置于單片機(jī)內(nèi)部。
[0021]環(huán)境可調(diào)設(shè)備采用的是高低溫試驗(yàn)箱,可調(diào)壓直流電源選擇的是直流穩(wěn)壓穩(wěn)流電源WYK-303B2,傳感器采用溫度傳感器和電壓傳感器兩種,A/D轉(zhuǎn)換模塊為雙通道、12位精度。由于溫度和電壓對(duì)內(nèi)部振蕩頻率影響最為顯著,確定對(duì)溫度參數(shù)I和電壓參數(shù)2兩個(gè)參數(shù)進(jìn)行補(bǔ)償。[0022]第二步環(huán)境可調(diào)設(shè)備連續(xù)改變環(huán)境參數(shù)
在固定電壓參數(shù)2為3.3V的基礎(chǔ)上,通過高低溫試驗(yàn)箱連續(xù)改變溫度參數(shù)1,得到溫度參數(shù)I與振蕩頻率一一對(duì)應(yīng)的數(shù)據(jù)。根據(jù)曲線選擇最小二乘法擬合出溫度參數(shù)I與振蕩頻率之間的函數(shù)關(guān)系。
[0023]第三步可調(diào)壓直流電源連續(xù)改變輸出電壓值
直流穩(wěn)壓穩(wěn)流電源在2-5V范圍內(nèi)連續(xù)改變電壓參數(shù)2,在溫度參數(shù)I與振蕩頻率的函數(shù)特性基礎(chǔ)上分析電壓參數(shù)2與振蕩頻率之間的關(guān)系,同樣根據(jù)最小二乘法擬合得到溫度參數(shù)1、電壓參數(shù)2與振蕩頻率之間的函數(shù)關(guān)系f\。
[0024]第四步傳感器測(cè)量出單片機(jī)實(shí)際環(huán)境下參數(shù)1、參數(shù)2的值
通過溫度和電壓傳感器測(cè)量出實(shí)時(shí)的溫度參數(shù)I和電壓參數(shù)2的值,經(jīng)過AD轉(zhuǎn)換后將數(shù)據(jù)傳給單片機(jī)。
[0025]第五步頻率實(shí)時(shí)補(bǔ)償模塊實(shí)時(shí)對(duì)單片機(jī)內(nèi)部振蕩頻率進(jìn)行補(bǔ)償
頻率實(shí)時(shí)補(bǔ)償模塊實(shí)時(shí)調(diào)整內(nèi)部振蕩器精度校準(zhǔn)寄存器值對(duì)內(nèi)部振蕩器頻率進(jìn)行頻率補(bǔ)償。計(jì)算得出標(biāo)準(zhǔn)周期與實(shí)際周期之差A(yù)=IZ^-1/ f10計(jì)算出內(nèi)部振蕩器精度校準(zhǔn)寄存器的改變值N=A/τ ( T=31ps),并取整。利用程序給內(nèi)部振蕩器精度校準(zhǔn)寄存器賦值,一個(gè)補(bǔ)償周期結(jié)束。
[0026]至此實(shí)現(xiàn)單片機(jī)內(nèi)部 振蕩器頻率實(shí)時(shí)補(bǔ)償。
【權(quán)利要求】
1.一種單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償方法,其特征在于本方法的具體步驟為: 第一步構(gòu)建單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償系統(tǒng) 單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償系統(tǒng),包括:環(huán)境可調(diào)設(shè)備、可調(diào)壓直流電源、傳感器、A/D轉(zhuǎn)換模塊以及頻率實(shí)時(shí)補(bǔ)償模塊; A/D轉(zhuǎn)換模塊用于將傳感器測(cè)量的環(huán)境參數(shù)和電壓參數(shù)的模擬量轉(zhuǎn)成數(shù)字量; 頻率實(shí)時(shí)補(bǔ)償模塊用于實(shí)時(shí)接收A/D轉(zhuǎn)換模塊傳來的數(shù)據(jù),并進(jìn)行處理,得出內(nèi)部振蕩頻率的補(bǔ)償量;最后通過改變內(nèi)部振蕩器精度校準(zhǔn)寄存器值實(shí)現(xiàn)補(bǔ)償; 可調(diào)壓直流電源分別與單片機(jī)的VCC和GND端口連接,傳感器與A/D轉(zhuǎn)換模塊相連接,A/D轉(zhuǎn)換模塊與單片機(jī)IO 口連接;可調(diào)壓直流電源、傳感器、A/D轉(zhuǎn)換模塊和單片機(jī)均置于環(huán)境可調(diào)設(shè)備內(nèi);頻率實(shí)時(shí)補(bǔ)償模塊置于單片機(jī)內(nèi)部; 單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償系統(tǒng)首先確定需要進(jìn)行補(bǔ)償?shù)摩莻€(gè)參數(shù),其中參數(shù)1、參數(shù)2、...、參數(shù)η-1為環(huán)境參數(shù),包括:溫度、濕度和振動(dòng);參數(shù)η為電壓參數(shù); 第二步環(huán)境可調(diào)設(shè)備連續(xù)改變環(huán)境參數(shù) 環(huán)境可調(diào)設(shè)備固定參數(shù)2、參數(shù)3、..?、參數(shù)η的值,通過連續(xù)改變參數(shù)I的值,得到參數(shù)I與振蕩頻率一一對(duì)應(yīng)的數(shù)據(jù);根據(jù)相應(yīng)的曲線選擇與曲線相對(duì)應(yīng)的數(shù)值擬合方式擬合出參數(shù)I與振蕩頻率之間的函數(shù)關(guān)系; 在參數(shù)I與振蕩頻率的函數(shù)特性基礎(chǔ)上分析參數(shù)2與振蕩頻率之間的關(guān)系,同樣固定參數(shù)1、參數(shù)3、...、參數(shù)η 的值,通過連續(xù)改變參數(shù)2得到參數(shù)1、參數(shù)2與振蕩頻率之間的函數(shù)關(guān)系;以此類推得出參數(shù)1、參數(shù)2、...、參數(shù)η-1與振蕩頻率之間的函數(shù)關(guān)系;第三步可調(diào)壓直流電源連續(xù)改變輸出電壓值 可調(diào)壓直流電源在單片機(jī)允許的輸入電壓范圍內(nèi)連續(xù)改變電壓值,得到在環(huán)境參數(shù)不變的情況下,電壓參數(shù)η與振蕩頻率之間的函數(shù)關(guān)系;結(jié)合環(huán)境參數(shù)與振蕩頻率之間的函數(shù)關(guān)系,得出所有影響單片機(jī)內(nèi)部振蕩頻率的參數(shù),即參數(shù)1、參數(shù)2、..?、參數(shù)η與振蕩頻率之間的函數(shù)關(guān)系fl ; 第四步傳感器測(cè)量出單片機(jī)實(shí)際環(huán)境下參數(shù)I至參數(shù)η的值采用相應(yīng)的傳感器測(cè)量出單片機(jī)實(shí)際環(huán)境下參數(shù)I至參數(shù)η的值,經(jīng)過A/D轉(zhuǎn)換模塊進(jìn)行數(shù)模轉(zhuǎn)換,并將數(shù)據(jù)傳給單片機(jī); 第五步頻率實(shí)時(shí)補(bǔ)償模塊實(shí)時(shí)對(duì)單片機(jī)內(nèi)部振蕩頻率進(jìn)行補(bǔ)償頻率實(shí)時(shí)補(bǔ)償模塊采用實(shí)時(shí)調(diào)整內(nèi)部振蕩器精度校準(zhǔn)寄存器值的方式對(duì)內(nèi)部振蕩器頻率進(jìn)行頻率補(bǔ)償;通過參數(shù)1、參數(shù)2、..?、參數(shù)η與振蕩頻率之間的函數(shù)關(guān)系得出標(biāo)準(zhǔn)周期與實(shí)際周期之差A(yù)=IzX-1/ ;其中&為單片機(jī)基準(zhǔn)頻率; 計(jì)算出內(nèi)部振蕩器精度校準(zhǔn)寄存器的改變值N=A/ τ,并取整;τ為單位內(nèi)部振蕩器精度校準(zhǔn)寄存器值所對(duì)應(yīng)的周期值;利用頻率實(shí)時(shí)補(bǔ)償模塊給內(nèi)部振蕩器精度校準(zhǔn)寄存器賦值,一個(gè)補(bǔ)償周期結(jié)束; 至此實(shí)現(xiàn)單片機(jī)內(nèi)部振蕩器頻率實(shí)時(shí)補(bǔ)償。
【文檔編號(hào)】H03B5/04GK103746655SQ201310748042
【公開日】2014年4月23日 申請(qǐng)日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】顧林, 李建冬, 陳治國(guó), 聶光瑋 申請(qǐng)人:北京機(jī)械設(shè)備研究所