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