一種基于單片機的交流頻率檢測系統(tǒng)
由圖7可以看出三級管工作在飽和狀態(tài)下 ,而工作在截至狀態(tài)下 ,起到了良好的開關特性。
TA0就直接進入單片機,R8是限流電阻防止進入單片機的電流過大。
2.2 數(shù)字電路部分的設計
系統(tǒng)使用的主芯片采用德州儀器公司的低功耗單片機MSP430F449。MSP430F449是MSP430系列中一個功能很強的單片機,內(nèi)部采用馮.諾依曼體系,RISC指令結(jié)構,運算器寬度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)應用等特點[4] [5]。
在該系統(tǒng)中,使用到的單片機的主要功能模塊是16位定時器A(Timer A)。其內(nèi)部的脈沖捕獲器具有以下幾個特點[6]:
(1)16位計數(shù)器,4種工作模式;
(2)多種可選的計數(shù)器時鐘源,可是是慢時鐘、快時鐘以及外部時鐘;
(3)具有多個可配置輸入端的捕獲/比較寄存器,并且8種輸出模式的多個可配置的輸出單元;
(4)不僅能捕獲外部時間發(fā)生的時間,還可鎖定外部時間發(fā)生時的高低電平,給我們的設計帶來很大的方便;
(5)可以以硬件方式支持串行通信。
3 軟件設計[7] [8] [9]
軟件設計的任務主要是Timer A的初始化的設定,其軟件采用C語言編程。Timer A工作在捕獲方式時,當滿足捕獲條件(觸發(fā)方式)時,硬件自動將計數(shù)器TAR中的數(shù)據(jù)寫入捕獲/比較寄存器CCR0。圖8是系統(tǒng)軟件流程圖。
圖8 系統(tǒng)軟件流程圖
在本系統(tǒng)中,定時器采用連續(xù)計數(shù)模式,捕獲方式采用下降沿捕獲。系統(tǒng)初始化包括系統(tǒng)頻率fs的選擇(1MHz)、Timer A的控制寄存器的設置,需要設置的寄存器為控制寄存器TACTL和捕獲/比較控制寄存器CCTL0。Timer A中斷函數(shù)在發(fā)生捕獲時被觸發(fā),首先計算CCR0中的值與變量LastCCR0的差值,LastCCR0是上次捕獲時記錄的寄存器CCR0的值, CCR0的初始值為0。循環(huán)五次即被觸發(fā)五次,五次的差值被保存在數(shù)組Timervalue[]中。考慮到計數(shù)器剛開始計數(shù)時信號不一定從零點開始,所以真正的計算應該從第二次觸發(fā)開始,這樣就能計算出四個脈沖周期,接著計算出平均脈沖周期,該平均周期便是所測交流信號的半周期,進而可以得出其頻率。
4 結(jié)論
文中提出了一種過零檢測電路,并按實際需要選取了相應參數(shù)的電子元件,同時利用MSP430單片機的脈沖捕獲功能實現(xiàn)了交流信號頻率的檢測。該系統(tǒng)對低頻交流信號頻率的檢測精度高、實時性強,具有一定的實際應用價值。同時本文介紹的過零檢測電路其應用更加廣泛,再利用MSP430單片機Timer A內(nèi)部的捕獲/比較器的多路PWM輸出單元,便能實現(xiàn)一定的控制功能。
本文創(chuàng)新點:文中提出了一種測寬法的交流頻率檢測系統(tǒng)。該系統(tǒng)利用過零檢測、MSP430單片機的脈沖捕獲功能,較以往的頻率檢測系統(tǒng)直觀、精度高、實時性強。
參考文獻:
[1]馬獻果,頻率測量方法的改進,儀器儀表學報,2004.8,25(4)增刊:120-122
[2]趙戰(zhàn)克,單片機在移頻信號頻率檢測中的應用,微計算機信息,2004,20(2):76-77
[3] Toshiba Corporation, Semiconductor Technical Data (4N25)
[4]胡大可,MSP430系列超低功耗16位單片機原理與應用,北京航空航天大學出社,2000.6
[5]魏小龍,MSP430系列單片機接口技術及系統(tǒng)設計實例,北京航空航天大學出社,2002.11
[6] 梁源,MSP430單片機TIMER_A在產(chǎn)品設計中的應用,2001嵌入式系統(tǒng)及單片機國際學術交流會論文集
[7]張晞,MSP430系列單片機實用C語言程序設計,人民郵電出版社,2005.9
[8] 劉立群,基于MSP430單片機的超低功耗數(shù)據(jù)采集器設計,自動化儀表,2005.4,26(4):30-31
[9] 劉玉宏,MSP430單片機C語言和匯編語言混合編程,微計算機信息,2003,19(10):56-57
評論