一種基于MSP430單片機(jī)的交流頻率檢測(cè)系統(tǒng)
關(guān)鍵字:過(guò)零檢測(cè),脈沖捕獲,MSP430,單片機(jī),16位定時(shí)器A
1 引言
由于頻率信號(hào)具有抗干擾性強(qiáng)、易于傳輸、測(cè)量準(zhǔn)確度較高等優(yōu)點(diǎn),因此許多非頻率量的傳感信號(hào)都轉(zhuǎn)換為頻率量來(lái)進(jìn)行測(cè)量和處理。因此頻率測(cè)量方法愈來(lái)愈引起關(guān)注和研究。
頻率測(cè)量是測(cè)量和控制系統(tǒng)領(lǐng)域的最基本測(cè)量之一。當(dāng)今用的最多的測(cè)量信號(hào)頻率的儀器是頻率計(jì),由于頻率計(jì)在測(cè)量過(guò)程中需要一個(gè)時(shí)基信號(hào)作為測(cè)量信號(hào)頻率的時(shí)基。時(shí)基信號(hào)一般是由本機(jī)振蕩電路發(fā)生的,盡管現(xiàn)在多用石英晶體振蕩器,但是仍然不能保證時(shí)基信號(hào)的精度,因此頻率計(jì)的測(cè)量精度也就成了問(wèn)題。傳統(tǒng)的頻率測(cè)量方法有兩種[1]:一種是測(cè)頻法,在一定時(shí)間間隔T內(nèi)測(cè)出待測(cè)信號(hào)重復(fù)變化次數(shù)N,頻率即為 ;另一種方法是測(cè)周法,在被測(cè)信號(hào)的一個(gè)周期內(nèi)測(cè)出標(biāo)準(zhǔn)高頻信號(hào)f的個(gè)數(shù)N,則被測(cè)頻率 。
本文介紹了一種測(cè)寬法[2],借助光電耦合原理,將交流信號(hào)轉(zhuǎn)變成周期脈沖信號(hào),通過(guò)捕獲脈沖信號(hào)的下降沿,由定時(shí)器計(jì)數(shù),通過(guò)二次計(jì)數(shù)的差值便能得到脈沖信號(hào)的周期,進(jìn)而可以計(jì)算出所測(cè)交流信號(hào)的頻率。
2 硬件電路設(shè)計(jì)
硬件電路完成的任務(wù)是:
(1)模擬電路部分的設(shè)計(jì),其功能是進(jìn)行信號(hào)的轉(zhuǎn)化。交流信號(hào)通過(guò)整流橋、光電耦合器等模擬器件便能得到周期脈沖信號(hào)。
(2)數(shù)字電路部分的設(shè)計(jì),其功能是進(jìn)行信號(hào)的檢測(cè)。MSP430單片機(jī)內(nèi)部的16位定時(shí)器A具有脈沖捕獲功能,能將脈沖信號(hào)的占空比檢測(cè)出來(lái)。
圖1為它的基本結(jié)構(gòu)圖。
圖1 系統(tǒng)的基本結(jié)構(gòu)
2.1 模擬電路部分的設(shè)計(jì)
圖2為模擬部分原理。下面主要闡述該電路的工作原理:
圖2 模擬部分原理圖
考慮到交流信號(hào)中可能含有一定的直流信號(hào),而直流信號(hào)會(huì)引起交流波形的上移或下移,這可能會(huì)導(dǎo)致原有交流信號(hào)沒(méi)有零點(diǎn),這就談不上過(guò)零檢測(cè)、周期脈沖了,因此要根據(jù)交流信號(hào)的實(shí)際情況,在交流信號(hào)的出口處用設(shè)個(gè)適當(dāng)?shù)碾娙荩鸬礁糁钡淖饔谩?/P>
R1和R2是限流電阻,保護(hù)后面的穩(wěn)壓管、二極管、光電耦合器在額定功耗范圍內(nèi)。由于這里的交流信號(hào)源選取的是220V市電正弦信號(hào),所以R1和R2的阻值要比較大而且功率要比較大,該系統(tǒng)使用的是 、1W的電阻。
D1和D2是齊納穩(wěn)壓管,主要作用是限壓,保護(hù)整流橋的整流二極管使其反向電壓在范圍之內(nèi)。該系統(tǒng)選用的穩(wěn)壓管型號(hào)是1N4736其穩(wěn)壓范圍是 ,遠(yuǎn)遠(yuǎn)小于整流二極管的反向耐壓。圖3為穩(wěn)壓管的端電壓(即圖1中的Vi1-Vi2)波形。
圖3 穩(wěn)壓管的端電壓波形
D3是整流橋,將交流電進(jìn)行全波整流,使電流方向恒定。圖4為整流橋兩端的電壓(即圖中的V1-V3)波形。
圖4 整流橋的端電壓波形
U2是光電耦合器,其作用有二:信號(hào)轉(zhuǎn)變功能,將整流后的交流信號(hào)轉(zhuǎn)變?yōu)槊}沖信號(hào);強(qiáng)弱電隔離功能,使強(qiáng)電部分和弱電部分在電氣上處于隔離狀態(tài),在強(qiáng)電部分發(fā)生故障時(shí)不會(huì)損壞后面的弱電電路包括單片機(jī)系統(tǒng)。該系統(tǒng)使用的型號(hào)是4N25,有良好的開(kāi)關(guān)特性,而且它的開(kāi)關(guān)時(shí)間可以通過(guò)基級(jí)電阻進(jìn)行調(diào)節(jié),圖5為其基級(jí)電阻在給定環(huán)境下的開(kāi)關(guān)特性[3]。由圖5可以看出基級(jí)電阻Rbe取 左右時(shí)其綜合時(shí)間指標(biāo)最好,即開(kāi)關(guān)特性較優(yōu),所以本系統(tǒng)中基級(jí)電阻(R5)取 。
圖5 光電耦合器(4N25)基級(jí)電阻的開(kāi)關(guān)特性
其集電極―發(fā)射級(jí)的電壓(V5)波形,見(jiàn)圖6。
圖6 光電耦合器(4N25)的集電極―發(fā)射級(jí)的電壓波形
Q1為三級(jí)管,作用是將V5的脈沖信號(hào)轉(zhuǎn)化為單片機(jī)所能識(shí)別的高低電平(0-3.3V)。因此Q1必須工作開(kāi)關(guān)狀態(tài),即工作在飽和狀態(tài)和截至狀態(tài)不斷切換的過(guò)程中。系統(tǒng)中的電阻R6和R7阻值的選取主要使三級(jí)管工作在開(kāi)關(guān)狀態(tài)。圖7為Q1工作在開(kāi)關(guān)狀態(tài)的幾個(gè)指標(biāo)R6上的電流r6[i]=Ib,R7上的電流r7[i]=Ic,V5=Vbe,V6=Vce。
圖7 三級(jí)管的開(kāi)關(guān)特性
由圖7可以看出三級(jí)管工作在飽和狀態(tài)下 ,而工作在截至狀態(tài)下 ,起到了良好的開(kāi)關(guān)特性。
TA0就直接進(jìn)入單片機(jī),R8是限流電阻防止進(jìn)入單片機(jī)的電流過(guò)大。
2.2 數(shù)字電路部分的設(shè)計(jì)
系統(tǒng)使用的主芯片采用德州儀器公司的低功耗單片機(jī)MSP430F449。MSP430F449是MSP430系列中一個(gè)功能很強(qiáng)的單片機(jī),內(nèi)部采用馮.諾依曼體系,RISC指令結(jié)構(gòu),運(yùn)算器寬度16位。片內(nèi)集成了60KB的FLASH程序存儲(chǔ)器,2KB的SRAM數(shù)據(jù)存儲(chǔ)器,多個(gè)16位定時(shí)/捕獲/比較器,2個(gè)串行口,12位模數(shù)轉(zhuǎn)換器,JTAG程序下載、在線調(diào)試接口,看門狗定時(shí)器等。48個(gè)I/O多功能端口,其中P1口和P2口具有位中斷功能。因此該款單片機(jī)具有指令執(zhí)行速度快、功能強(qiáng)大、外部電路簡(jiǎn)單、功耗低、節(jié)電管理方式完善、定位于嵌入式系統(tǒng)應(yīng)用等特點(diǎn)[4] [5]。
在該系統(tǒng)中,使用到的單片機(jī)的主要功能模塊是16位定時(shí)器A(Timer A)。其內(nèi)部的脈沖捕獲器具有以下幾個(gè)特點(diǎn)[6]:
(1)16位計(jì)數(shù)器,4種工作模式;
(2)多種可選的計(jì)數(shù)器時(shí)鐘源,可是是慢時(shí)鐘、快時(shí)鐘以及外部時(shí)鐘;
(3)具有多個(gè)可配置輸入端的捕獲/比較寄存器,并且8種輸出模式的多個(gè)可配置的輸出單元;
(4)不僅能捕獲外部時(shí)間發(fā)生的時(shí)間,還可鎖定外部時(shí)間發(fā)生時(shí)的高低電平,給我們的設(shè)計(jì)帶來(lái)很大的方便;
(5)可以以硬件方式支持串行通信。
3 軟件設(shè)計(jì)[7] [8] [9]
軟件設(shè)計(jì)的任務(wù)主要是Timer A的初始化的設(shè)定,其軟件采用C語(yǔ)言編程。Timer A工作在捕獲方式時(shí),當(dāng)滿足捕獲條件(觸發(fā)方式)時(shí),硬件自動(dòng)將計(jì)數(shù)器TAR中的數(shù)據(jù)寫入捕獲/比較寄存器CCR0。圖8是系統(tǒng)軟件流程圖。
圖8 系統(tǒng)軟件流程圖
在本系統(tǒng)中,定時(shí)器采用連續(xù)計(jì)數(shù)模式,捕獲方式采用下降沿捕獲。系統(tǒng)初始化包括系統(tǒng)頻率fs的選擇(1MHz)、Timer A的控制寄存器的設(shè)置,需要設(shè)置的寄存器為控制寄存器TACTL和捕獲/比較控制寄存器CCTL0。Timer A中斷函數(shù)在發(fā)生捕獲時(shí)被觸發(fā),首先計(jì)算CCR0中的值與變量LastCCR0的差值,LastCCR0是上次捕獲時(shí)記錄的寄存器CCR0的值, CCR0的初始值為0。循環(huán)五次即被觸發(fā)五次,五次的差值被保存在數(shù)組Timervalue[]中??紤]到計(jì)數(shù)器剛開(kāi)始計(jì)數(shù)時(shí)信號(hào)不一定從零點(diǎn)開(kāi)始,所以真正的計(jì)算應(yīng)該從第二次觸發(fā)開(kāi)始,這樣就能計(jì)算出四個(gè)脈沖周期,接著計(jì)算出平均脈沖周期,該平均周期便是所測(cè)交流信號(hào)的半周期,進(jìn)而可以得出其頻率。用公式表示為:
( 為系統(tǒng)頻率)
4 結(jié)論
文中提出了一種過(guò)零檢測(cè)電路,并按實(shí)際需要選取了相應(yīng)參數(shù)的電子元件,同時(shí)利用MSP430單片機(jī)的脈沖捕獲功能實(shí)現(xiàn)了交流信號(hào)頻率的檢測(cè)。該系統(tǒng)對(duì)低頻交流信號(hào)頻率的檢測(cè)精度高、實(shí)時(shí)性強(qiáng),具有一定的實(shí)際應(yīng)用價(jià)值。同時(shí)本文介紹的過(guò)零檢測(cè)電路其應(yīng)用更加廣泛,再利用MSP430單片機(jī)Timer A內(nèi)部的捕獲/比較器的多路PWM輸出單元,便能實(shí)現(xiàn)一定的控制功能。
本文創(chuàng)新點(diǎn):文中提出了一種測(cè)寬法的交流頻率檢測(cè)系統(tǒng)。該系統(tǒng)利用過(guò)零檢測(cè)、MSP430單片機(jī)的脈沖捕獲功能,較以往的頻率檢測(cè)系統(tǒng)直觀、精度高、實(shí)時(shí)性強(qiáng)。
參考文獻(xiàn):
[1]馬獻(xiàn)果,頻率測(cè)量方法的改進(jìn),儀器儀表學(xué)報(bào),2004.8,25(4)增刊:120-122
[2]趙戰(zhàn)克,單片機(jī)在移頻信號(hào)頻率檢測(cè)中的應(yīng)用,微計(jì)算機(jī)信息,2004,20(2):76-77
[3] Toshiba Corporation, Semiconductor Technical Data (4N25)
[4]胡大可,MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用,北京航空航天大學(xué)出社,2000.6
[5]魏小龍,MSP430系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計(jì)實(shí)例,北京航空航天大學(xué)出社,2002.11
[6] 梁源,MSP430單片機(jī)TIMER_A在產(chǎn)品設(shè)計(jì)中的應(yīng)用,2001嵌入式系統(tǒng)及單片機(jī)國(guó)際學(xué)術(shù)交流會(huì)論文集
[7]張,MSP430系列單片機(jī)實(shí)用C語(yǔ)言程序設(shè)計(jì),人民郵電出版社,2005.9
[8] 劉立群,基于MSP430單片機(jī)的超低功耗數(shù)據(jù)采集器設(shè)計(jì),自動(dòng)化儀表,2005.4,26(4):30-31
[9] 劉玉宏,MSP430單片機(jī)C語(yǔ)言和匯編語(yǔ)言混合編程,微計(jì)算機(jī)信息,2003,19(10):56-57
模擬信號(hào)相關(guān)文章:什么是模擬信號(hào)
穩(wěn)壓二極管相關(guān)文章:穩(wěn)壓二極管的作用
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
合成孔徑雷達(dá)相關(guān)文章:合成孔徑雷達(dá)原理 脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理
評(píng)論