本文利用前置分頻器SAB6456A和高速數(shù)字分頻器74HC390的分頻功能,,結(jié)合新型的MSP430F449單片機(jī),,給出了一種新穎的、全自動(dòng)的數(shù)顯測(cè)量射頻頻率的設(shè)計(jì)方案,。
圖1 信號(hào)的前端處理及分頻電路
主要器件介紹
MSP430F449單片機(jī)
MSP430F449 采用16位RISC結(jié)構(gòu),,具有豐富的片內(nèi)外設(shè)和大容量的片內(nèi)工作寄存器和存儲(chǔ)器,性能價(jià)格比很高,。它的特點(diǎn)包括:
· 超低的功耗:能夠在1.8V~ 3.6V的電壓下工作,;具有工
· 較強(qiáng)的運(yùn)算能力:16位的RISC結(jié)構(gòu),,豐富的尋址方式;具有16個(gè)中斷源,,可以任意嵌套,;在8MHz時(shí)鐘驅(qū)動(dòng)下指令周期可達(dá)125ns,; 內(nèi)部包含硬件乘法器和大量寄存器,以及多達(dá)64KB的Flash程序空間和2KB的RAM,,為存儲(chǔ)數(shù)據(jù)和運(yùn)算提供了保證,。
· 豐富的片上外設(shè):包括看門狗定時(shí)器,基本定時(shí)器,,比較器,,16位定時(shí)器(TA、TB),,串口0,、1,液晶顯示驅(qū)動(dòng)器,,6個(gè)8位的I/O端口,,12位ADC (最高采樣率200kHz)等。豐富的片上外設(shè)可以很方便地構(gòu)建一個(gè)較為完整的系統(tǒng),。另外,,充分利用計(jì)數(shù)器的多路任意波形產(chǎn)生功能和中斷控制功能,保證了一些復(fù)雜的時(shí)序控制任務(wù)的完成,。
·方便高效的開發(fā)環(huán)境:MSP430F449是Flash型器件,,片內(nèi)有調(diào)試接口和電可擦寫的Flash存儲(chǔ)器,可以先下載程序到Flash內(nèi),,再在器件內(nèi)通過軟件控制程序的運(yùn)行,,由JTAG接口讀取片內(nèi)信息供設(shè)計(jì)師調(diào)試。這種方式不需要仿真器和編程器,,調(diào)試十分方便,。
前置分頻器SAB6456A
SAB6456A是專為UHF/VHF設(shè)計(jì)的前置分頻器。內(nèi)部的MCpin為分頻控制端,,可對(duì)頻率范圍為70MHz-1GHz的信號(hào)進(jìn)行64/256分頻,,當(dāng)MC pin開路時(shí)為64分頻;當(dāng)MC pin接地時(shí)為256分頻,。有較高的靈敏度和較強(qiáng)的諧波抑制能力,。
圖2 單片機(jī)外圍電路
工作原理
該設(shè)計(jì)主要分兩部分:分頻和計(jì)數(shù)。首先,,輸入信號(hào)限幅后經(jīng)SAB6456A分頻,,256分頻后的信號(hào)再經(jīng)兩片74HC390高速分頻器進(jìn)行1000分頻,此時(shí)模擬信號(hào)變?yōu)榈皖l數(shù)字信號(hào),,頻率在10kHz以下,;其次,分頻后的信號(hào)直接接入MSP430F449單片機(jī),,利用內(nèi)部的16位定時(shí)器A來定時(shí)和計(jì)數(shù),。該定時(shí)器可分為幾個(gè)部分:計(jì)數(shù)器部分,,捕獲/比較寄存器及輸出單元。其中,,計(jì)數(shù)器有4種工作模式,,3個(gè)捕獲/比較寄存器。利用計(jì)數(shù)器的連續(xù)計(jì)數(shù)模式和上升沿捕獲模式,,在定時(shí)器中斷中計(jì)數(shù)N個(gè)脈沖信號(hào)時(shí)間,,再除N得到頻率。
硬件設(shè)計(jì)
圖1為信號(hào)的前端處理及分頻設(shè)計(jì),。輸出后的信號(hào)再經(jīng)兩片SN74HC390分頻,,SN74HC390是高速分頻器件,最高分頻頻率為50MHz,。每片SN74HC390可實(shí)現(xiàn)100分頻,,采用兩片串聯(lián),可實(shí)現(xiàn)對(duì)信號(hào)的1000分頻,,經(jīng)分頻后的數(shù)字信號(hào)頻率較低,,約4kHz以下,可由單片機(jī)直接計(jì)數(shù),。
圖2為單片機(jī)外圍電路,,包括復(fù)位電路,電源電路和單片機(jī)工作必須的晶振,。晶振有8MHz和32.768kHz兩種,,8MHz 作為定時(shí)器A的計(jì)數(shù)器輸入時(shí)鐘源;32.768kHz 作為數(shù)碼管的顯示頻率,。74LS373為D型鎖存器,,5V單電源供電,因輸出電流足夠大,,也可以直接驅(qū)動(dòng)共陰極LG3631AH型數(shù)碼管,。
軟件設(shè)計(jì)
將分頻的輸出端OUT接至單片機(jī)的頻率輸入端,程序開始先延時(shí)一段時(shí)間,,待信號(hào)穩(wěn)定,。開捕獲中斷和定時(shí)器A,在定時(shí)器A 中斷中計(jì)數(shù)N個(gè)脈沖,,測(cè)量結(jié)束后得到N個(gè)脈沖的時(shí)間,,然后除N得到脈沖的頻率,乘以分頻系數(shù)得到實(shí)際頻率并顯示,,經(jīng)過短暫延時(shí)后重新測(cè)量,,如此循環(huán)測(cè)量并顯示。
在測(cè)量頻率時(shí),為保證精度要關(guān)掉LED顯示,,所以,,對(duì)于頻率較低的信號(hào)會(huì)發(fā)生LED閃爍的情況,解決辦法是測(cè)量較少個(gè)脈沖以減少平均測(cè)量時(shí)間或減少延時(shí),。
采用動(dòng)態(tài)掃描顯示,動(dòng)態(tài)掃描顯示的原理是:由P4向各個(gè)位輪流輸出掃描信號(hào),,使每一位瞬間只有一個(gè)數(shù)碼管被選通,,然后由P3向該位輸入顯示的字型碼,驅(qū)動(dòng)該位字形段顯示字形,。這樣,,在P3送出的碼段和P4送出的位段的配合下,使各個(gè)數(shù)碼管輪流顯示各自的字形,,每位的顯示時(shí)間要超過1ms,,這樣人眼就感覺不到閃爍了。
測(cè)量主程序如下:
void frequency_measure(void)
{float tmp,tmp1;
key_flag=0;//按鍵標(biāo)志清0
P1OUT|=BIT0;
Delay(1000); //延時(shí)一段時(shí)間等待信號(hào)穩(wěn)定
while(1)
{ IE2&=~0X80; //關(guān)BT,,關(guān)LE
D
firstflag=1;//開始測(cè)量第一個(gè)脈沖
TACTL|=TAIE; //開捕獲
CCTL1|=CCIE;//開timer a
while (f_ok_flag==0);//等待測(cè)量結(jié)束
f_ok_flag=0;
if (aa1>aa2)
overflow=overflow-1;
tmp=aa2-aa1;
tmp1=40.0/(overflow*0.008191875+(tmp/8000000.0));
result=tmp1*0.256;
IE2|=0X80;//開BT,開LED
yanshi(2,2);//可以修改這里的參數(shù),,越大表示延時(shí)越長,太小的話LED就會(huì)變暗
CCTL1&=~CCIE;//關(guān)捕獲
TACTL&=~TAIE;//關(guān)timer a
return;
}
}
流程圖如圖3所示,。
圖3 主程序流程
結(jié)語
本文給出的硬件和軟件均經(jīng)過實(shí)踐檢驗(yàn),,使用該測(cè)量儀器所測(cè)結(jié)果精度較高。該測(cè)量儀器價(jià)格較低,,結(jié)構(gòu)簡單,,是一種經(jīng)濟(jì)型的頻率測(cè)試儀。