MSP430在頻率測(cè)量系統(tǒng)中的應(yīng)用
1 概述
本文引用地址:http://m.butianyuan.cn/article/193335.htm在通信系統(tǒng)中,頻率測(cè)量具有重要地位。近幾年來(lái)頻率測(cè)量技術(shù)所覆蓋的領(lǐng)域越來(lái)越廣泛,測(cè)量精度越來(lái)越高,與不同學(xué)科的聯(lián)系也越來(lái)越密切。與頻率測(cè)量技術(shù)緊密相連的領(lǐng)域有通信、導(dǎo)航、空間科學(xué)、儀器儀表、材料科學(xué)、計(jì)量技術(shù)、電子技術(shù)、天文學(xué)、物理學(xué)和生物化學(xué)等。
頻率測(cè)量一般都是由計(jì)數(shù)器和定時(shí)器完成,將兩個(gè)定時(shí)/計(jì)數(shù)器一個(gè)設(shè)置為定時(shí)器,另一個(gè)設(shè)置為計(jì)數(shù)器,定時(shí)時(shí)間到后產(chǎn)生中斷,在中斷服務(wù)程序中處理結(jié)果,求出頻率。這種方法雖然測(cè)量范圍較寬,但由于存在軟件延時(shí),盡管在高頻段能達(dá)到較高的精度,而低頻段的測(cè)量精度較低。所以利用單片機(jī)測(cè)頻時(shí),如果選擇不好的測(cè)量方法,可能會(huì)引起很大的誤差。測(cè)量頻率時(shí)如果不是真正依靠硬件控制計(jì)數(shù)或定時(shí),而是由軟件查詢或中斷響應(yīng)后再停止計(jì)數(shù),雖然理論上能達(dá)到很高的精度,但實(shí)際測(cè)量中由于單片機(jī)響應(yīng)有一定的時(shí)間延遲,難以做到精確測(cè)量。本系統(tǒng)設(shè)計(jì)以MSP4130單片機(jī)為核心,在軟件編程中采用C430語(yǔ)言,采用硬件邏輯和軟件指令相結(jié)合的方法,取代單純用軟件指令控制閘門(mén),使閘門(mén)的開(kāi)啟與計(jì)數(shù)同步。這種測(cè)量方法保證了測(cè)量誤差與被測(cè)頻率無(wú)關(guān),實(shí)現(xiàn)了高低頻段的等精度測(cè)量。
2 工作原理
頻率是微波儀器的重要參數(shù)。微波頻率測(cè)量是檢測(cè)儀器是否正常運(yùn)行的有效手段,而提高頻率測(cè)量精度是微波頻率測(cè)量可靠性的保證。
本頻率計(jì)主要是針對(duì)微波微擾法單腔測(cè)濕系統(tǒng)而設(shè)計(jì)的,頻率測(cè)量范圍由微擾測(cè)濕系統(tǒng)的混頻器輸出范圍確定。
整個(gè)測(cè)濕系統(tǒng)如圖1所示,在沒(méi)有濕蒸汽流過(guò)諧振腔時(shí),其諧振頻率為9.6 GHz,此頻率較高,一般不能直接測(cè)量,而是采用混頻的方法。輸入壓控振蕩器(VCO)的電壓范圍為0 V~10 V,其工作特點(diǎn)是電壓每變換1 V,將產(chǎn)生1 MHz的頻偏,調(diào)整VCO的中心頻率為9.6 GHz,則壓控振蕩器VCO的輸出頻率范圍為9 600 GHz~9 610 GHz。再設(shè)置本地振蕩器頻率為9.6 GHz,經(jīng)混頻后對(duì)0 MHz~10MHz的差頻信號(hào)進(jìn)行實(shí)時(shí)測(cè)量。因此,頻率計(jì)的頻率范圍為0 MHz~10 MHz。
2.1 頻率計(jì)原理
等精度頻率計(jì)的硬件邏輯原理圖如圖2所示,主要由MSP430單片機(jī)、標(biāo)準(zhǔn)晶振、1個(gè)D觸發(fā)器、2個(gè)與非門(mén)、復(fù)位電路、顯示電路等組成。其中MSP430單片機(jī)是由德州儀器公司推出的16位超低功耗高性能產(chǎn)品,它內(nèi)部具有豐富的定時(shí)資源,內(nèi)含看門(mén)狗定時(shí)器(WDT)和基本定時(shí)器,定時(shí)器A(Timer_A)和定時(shí)器B(Timer_B)結(jié)構(gòu)基本相同,都是16位定時(shí)器。本設(shè)計(jì)選用定時(shí)器A和定時(shí)器B分別對(duì)待測(cè)頻率FX和標(biāo)準(zhǔn)頻率F0計(jì)數(shù),在預(yù)定的閘門(mén)時(shí)間內(nèi),如果計(jì)數(shù)器A的計(jì)數(shù)值為N1,計(jì)數(shù)器B的計(jì)數(shù)值為N0,則待測(cè)頻率為:
為了減少誤差,應(yīng)確保閘門(mén)的開(kāi)啟和關(guān)閉與待測(cè)信號(hào)同步。單片機(jī)的標(biāo)準(zhǔn)頻率為8 MHz,其計(jì)數(shù)最高可達(dá)到8 MHz,(一個(gè)時(shí)鐘周期可以執(zhí)行一條指令,傳統(tǒng)的MCS51單片機(jī)需要12個(gè)時(shí)鐘周期才可執(zhí)行一條指令),而測(cè)量范圍是0 MHz~10 MHz,故計(jì)數(shù)時(shí)需要先對(duì)計(jì)數(shù)器分頻,MSP430系列單片機(jī)內(nèi)部定時(shí)器Timer_ A和Timer_ B自帶分頻器,可以對(duì)所測(cè)頻率進(jìn)行1、2、4、8分頻,使設(shè)計(jì)電路簡(jiǎn)單,并且能達(dá)到測(cè)量要求。
2.2 系統(tǒng)工作原理
為了實(shí)現(xiàn)高精度、等精度的雙計(jì)數(shù)頻率測(cè)量,計(jì)數(shù)相關(guān)器是關(guān)鍵,所謂計(jì)數(shù)相關(guān)器就是使門(mén)信號(hào)和待測(cè)信號(hào)同步。當(dāng)按下S1、S2、S3三個(gè)按鍵中的任一按鍵時(shí),與門(mén)U1(圖2中未給出)輸出0信號(hào)使D觸發(fā)器清零,Q端輸出0信號(hào)使與非門(mén)U2和U3封鎖。與此同時(shí),軟件指令設(shè)置TACTL和TBCTL使定時(shí)器A和定時(shí)器B清零,做好計(jì)數(shù)準(zhǔn)備。單片機(jī)的P5.1口和D觸發(fā)器的D端相連.在計(jì)數(shù)前P5.1口輸出始終為零,這樣計(jì)數(shù)信號(hào)不能通過(guò)與非門(mén)到達(dá)計(jì)數(shù)器,然后用軟件指令向P5.1口寫(xiě)入信號(hào)1,當(dāng)被測(cè)信號(hào)Fx的第一個(gè)上升沿到達(dá)時(shí),與非門(mén)U2和U3開(kāi)啟,標(biāo)準(zhǔn)信號(hào)和待測(cè)信號(hào)同時(shí)計(jì)數(shù)。當(dāng)計(jì)數(shù)滿時(shí),TBIFG1置位,產(chǎn)生中斷,在中斷服務(wù)程序中對(duì)P5.1口寫(xiě)入“0”信號(hào),做好關(guān)閉閘門(mén)的準(zhǔn)備,但這時(shí)閘門(mén)并沒(méi)有真正關(guān)閉,等待被測(cè)信號(hào)的上升沿到來(lái),閘門(mén)關(guān)閉,停止計(jì)數(shù)。由此可知,在整個(gè)計(jì)數(shù)過(guò)程中,從閘門(mén)開(kāi)啟到閘門(mén)關(guān)閉,實(shí)際閘門(mén)開(kāi)啟時(shí)間是被測(cè)信號(hào)計(jì)數(shù)周期的整數(shù)倍,避免了由于非整數(shù)周期造成的誤差,實(shí)現(xiàn)了閘門(mén)開(kāi)啟和關(guān)閉與待測(cè)信號(hào)的同步。由于計(jì)數(shù)器Timer_B至少產(chǎn)生一次中斷才能關(guān)閉閘門(mén),理論上在此期間基準(zhǔn)脈沖數(shù)為NB=8×65 536(8為計(jì)數(shù)器Timer_B的分頻系數(shù))。圖3是等精度實(shí)現(xiàn)原理圖。
2.3 寄存器設(shè)置
定時(shí)器基本操作的控制包含在定時(shí)器控制寄存器TACTL和TBCTL中,因此在利用定時(shí)器Timer_A和Timer_B計(jì)數(shù)之前,必須根據(jù)需要設(shè)置TACTL和TBCTL,其中SSEL1和SSEL0選擇定時(shí)器輸入分頻器的時(shí)鐘源,ID1和IDO選擇輸入的分頻系數(shù),MC1和MC0位選擇計(jì)數(shù)模式。TACTL和TBCTL的設(shè)置如表1所列。
3 等精度測(cè)量的實(shí)現(xiàn)
N1和N0分別為計(jì)數(shù)器Timer_A和Timer_B記得的數(shù)值,F(xiàn)0為標(biāo)準(zhǔn)晶體的頻率,F(xiàn)x為待測(cè)信號(hào)的頻率,T閘門(mén)時(shí)間,則:
由于計(jì)數(shù)器A的計(jì)數(shù)脈沖與閘門(mén)同步,因而不存在±1的誤差。對(duì)于標(biāo)頻計(jì)數(shù)器B,由于門(mén)控啟閉的隨機(jī)性以及T/TC(TC為標(biāo)頻信號(hào)的周期)之比為非整數(shù),時(shí)間零頭無(wú)法計(jì)入,故存在±1的誤差。對(duì)(3)式求導(dǎo),則
故精度為:
由(6)式可知,測(cè)得的精度與被測(cè)信號(hào)無(wú)關(guān),僅與標(biāo)準(zhǔn)信號(hào)和閘門(mén)時(shí)間有關(guān),故可實(shí)現(xiàn)測(cè)量范圍內(nèi)的等精度測(cè)量。而且閘門(mén)時(shí)間越長(zhǎng),標(biāo)準(zhǔn)頻率越高,精度也就越高。標(biāo)準(zhǔn)頻率可由穩(wěn)定度好,精度高的高頻率晶體振蕩器產(chǎn)生,在保證測(cè)量精度不變的前提下,提高標(biāo)準(zhǔn)信號(hào)頻率,可使閘門(mén)寬度縮短,即可提高測(cè)試速度。
誤差來(lái)源:
(1) 實(shí)際閘門(mén)對(duì)標(biāo)準(zhǔn)頻率的隨機(jī)性導(dǎo)致計(jì)數(shù)值NB的±1誤差是主要誤差。
(2) 時(shí)鐘脈沖產(chǎn)生的標(biāo)準(zhǔn)頻率F0的穩(wěn)定度產(chǎn)生的測(cè)量誤差。時(shí)鐘脈沖由晶體振蕩器產(chǎn)生。由于目前晶體振蕩器主要分為溫補(bǔ)晶體振蕩器和恒溫
晶體振蕩器兩大類(lèi),其中,溫補(bǔ)晶體振蕩器體積小,開(kāi)機(jī)時(shí)間短,穩(wěn)定度一般在10-7數(shù)量級(jí)以上。而恒溫晶體振蕩器的穩(wěn)定度更高,因而相對(duì)于量化誤差,標(biāo)準(zhǔn)頻率誤差可以忽略。公式(6)就是在忽略標(biāo)準(zhǔn)頻率誤差的情況下得到的。由于分頻系數(shù)為8,則測(cè)頻精度為1/(8×65 536)=1.907e-6。若要進(jìn)一步提高頻率測(cè)量的精度則可以增加分頻系數(shù)。
4 CPLD設(shè)計(jì)
本系統(tǒng)設(shè)計(jì)采用Altera公司生產(chǎn)的CPLD器件EPM7128實(shí)現(xiàn)其中的邏輯部分。用MAXPLUS+11軟件工具開(kāi)發(fā),采用Verilog語(yǔ)言編程。設(shè)計(jì)輸人完成后,進(jìn)行整體的編譯和邏輯仿真,然后進(jìn)行轉(zhuǎn)換、布局、延時(shí)仿真生成配置文件和下載文件,最后下載至EPM7128器件,實(shí)現(xiàn)其硬件功能。仿真波形如圖4所示,其參數(shù)為:beice=8 MHz,biaozhun=50 MHz。結(jié)果表明各信號(hào)的邏輯功能和時(shí)序配合都達(dá)到了期望指標(biāo)。不同被測(cè)頻率的仿真值如表2所列。
5 結(jié)束語(yǔ)
本頻率計(jì)的設(shè)計(jì)將MSP430單片機(jī)的計(jì)數(shù)器Timer_A和Timer_B均設(shè)置為計(jì)數(shù)方式,比以往一個(gè)定時(shí)/計(jì)數(shù)器作定時(shí)器,另一個(gè)定時(shí)/計(jì)數(shù)器作計(jì)數(shù)器的方式計(jì)數(shù)精度要高,并且測(cè)量精度與被測(cè)信號(hào)無(wú)關(guān),實(shí)現(xiàn)了0 MHz~10 MHz頻率范圍內(nèi)的等精度測(cè)量,智能閘門(mén)控制方式使測(cè)量方便、靈活。本頻率測(cè)量系統(tǒng)還能實(shí)現(xiàn)更高頻率測(cè)量范圍的等精度測(cè)量,這時(shí)要根據(jù)不同測(cè)量系統(tǒng)的要求選擇24位、32位計(jì)數(shù)器。
評(píng)論