中南大學(xué)物理與電子學(xué)院 李聯(lián)炳 馬曉婷
基于MSP430單片機(jī)的高精度數(shù)字頻率計(jì)設(shè)計(jì)
中南大學(xué)物理與電子學(xué)院 李聯(lián)炳 馬曉婷
在電路設(shè)計(jì)中,頻率是一個(gè)常被使用的量,目前很多示波器也增加了測(cè)頻功能,但市場(chǎng)上鮮有體積小、精度高的數(shù)字頻率計(jì)。基于MSP430F425單片機(jī),設(shè)計(jì)出了一款體積小且精度高的多功能數(shù)字頻率計(jì),可完成對(duì)信號(hào)頻率、周期、脈寬、占空比的測(cè)量。整個(gè)系統(tǒng)主要由放大整形、數(shù)據(jù)處理、LCD顯示三部分組成。在低頻段,系統(tǒng)采用“周期法”測(cè)頻,在高頻段則采用“閘門法”,測(cè)頻相對(duì)誤差低至0.006%。同時(shí),為適應(yīng)不同的應(yīng)用場(chǎng)合,提出了一種測(cè)頻精度可調(diào)的系統(tǒng)。
MSP430F425;高精度;測(cè)頻
MSP430系列單片機(jī)是TI公司推出的一系列優(yōu)秀的混合型微處理器產(chǎn)品,全系列的MSP430單片機(jī)都帶有一個(gè)16位的定時(shí)器,可用于精確定時(shí)、計(jì)數(shù)。相比STC51系列單片機(jī),MSP430系列單片機(jī)的定時(shí)器還具有多個(gè)捕獲/比較模塊,在無需CPU干預(yù)的情況下,能自動(dòng)根據(jù)觸發(fā)條件捕獲定時(shí)器的計(jì)數(shù)值,或自動(dòng)產(chǎn)生各種波形。
在電路設(shè)計(jì)中,頻率是一個(gè)常被使用的量,目前很多示波器也增加了測(cè)頻功能,但市場(chǎng)上鮮有體積小、精度高的數(shù)字頻率計(jì)。利用MSP430F425單片機(jī)內(nèi)部的定時(shí)器,本文系統(tǒng)地闡述了基于MSP430系列單片機(jī)的測(cè)頻原理,并設(shè)計(jì)出了一個(gè)精度可調(diào)的大范圍頻率測(cè)量系統(tǒng)。
在被測(cè)信號(hào)頻率較高(MHz級(jí)別)時(shí),MSP430單片機(jī)用Timer_ A定時(shí)器或BasicTimer定時(shí)器進(jìn)行1s的精確定時(shí),并在此期間對(duì)被測(cè)方波信號(hào)的脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),所得的結(jié)果即為被測(cè)信號(hào)的頻率。此外,還可以通過增加“閘門”的開放時(shí)間來提高測(cè)頻精度。但在被測(cè)信號(hào)頻率較低時(shí),特別是在1KHz以下,該方法便不可行。例如,要測(cè)量50Hz的方波信號(hào)時(shí),要實(shí)現(xiàn)0.01Hz的測(cè)頻精度,需要產(chǎn)生100s的“閘門”信號(hào),這樣長(zhǎng)的測(cè)量時(shí)間在實(shí)際應(yīng)用中是不可行的。
針對(duì)這一問題,在被測(cè)信號(hào)頻率較低(幾十赫茲至幾千赫茲)時(shí),我們利用MSP430單片機(jī)的捕獲/比較模塊進(jìn)行測(cè)頻。具體方案為:Timer_A的主計(jì)數(shù)器工作在連續(xù)計(jì)數(shù)模式,捕獲模塊設(shè)置為上升沿或下降沿觸發(fā),在捕獲中斷服務(wù)程序中讀取計(jì)數(shù)器的值并保存,相鄰兩次捕獲中斷發(fā)生時(shí),捕獲值之差即反映了被測(cè)信號(hào)的周期信息。對(duì)于捕獲期間計(jì)數(shù)器溢出的情況,只需記錄溢出次數(shù)即可解決。
數(shù)字頻率計(jì)系統(tǒng)的原理框圖如圖1所示。可見,整個(gè)系統(tǒng)由放大整形模塊、單片機(jī)最小系統(tǒng)、按鍵輸入模塊以及液晶顯示模塊組成。其中,放大整形電路用于將微弱信號(hào)放大并將正弦波整形為方波,以供給單片機(jī)進(jìn)行邊沿檢測(cè)。MSP430單片機(jī)對(duì)送入的方波信號(hào)進(jìn)行測(cè)頻,并進(jìn)一步計(jì)算出輸入信號(hào)的周期、脈寬、占空比,這些信息通過鍵盤進(jìn)行人機(jī)交互控制由單片機(jī)送去給LCD1602顯示。為了減少對(duì)I/O口資源的占用,采用矩陣鍵盤,分別實(shí)現(xiàn)對(duì)頻率、周期、脈寬、占空比的切換顯示以及“閘門”信號(hào)的時(shí)長(zhǎng)設(shè)置。
圖1 數(shù)字頻率計(jì)系統(tǒng)組成
圖2 波形變換電路原理圖
2.1硬件設(shè)計(jì)
1)放大整形模塊
放大電路是將微弱信號(hào)放大,可用VCA810等增益可調(diào)放大器實(shí)現(xiàn)。而整形電路是將正弦信號(hào)整成單片機(jī)所要求的脈沖信號(hào)的電路,該部分可用高速比較器LM311設(shè)計(jì)成滯回比較器,后接兩個(gè)反相器,最后連接一個(gè)3.3V的穩(wěn)壓管即可將高電平為3.3V的方波信號(hào)送給單片機(jī)檢測(cè),電路原理圖如圖2所示。LM311是能工作在5V-30V的高速比較器。其輸出兼容RTL、DTL、TTL以及MOS電路。此外,他們還可以驅(qū)動(dòng)繼電器,開關(guān)電壓高達(dá)50V,電流高達(dá)50mA。
2)單片機(jī)最小系統(tǒng)
本設(shè)計(jì)直接在MSP430開發(fā)板上進(jìn)行,由于該系統(tǒng)僅采用一個(gè)MCU進(jìn)行數(shù)據(jù)處理和系統(tǒng)控制,因此單片機(jī)外圍電路非常簡(jiǎn)單。采用“閘門法”測(cè)頻時(shí),讓經(jīng)過整形后的被測(cè)信號(hào)從TACLK管腳輸入,采用“周期法”測(cè)頻時(shí),讓信號(hào)從TAx管腳輸入。由于MSP430單片機(jī)有較多的I/O口,如MSP430F46xx系列單片機(jī)有80多個(gè)I/O口,x13x、x14x系列也有48個(gè)I/O口,所以可以選任意一組I/O口接矩陣鍵盤和LCD1602,只要不占用上述的兩種管腳即可。
3)鍵盤輸入模塊
獨(dú)立鍵盤與單片機(jī)連接時(shí),每一個(gè)按鍵占用一個(gè)I/O口,而單片機(jī)的I/O口資源是有限的,為節(jié)省I/O口端線,設(shè)計(jì)采用矩陣鍵盤。其軟件設(shè)計(jì)可分為三個(gè)步驟:①檢測(cè)當(dāng)前是否有按鍵閉合;②去按鍵抖動(dòng);③若有鍵閉合,檢測(cè)出是哪一個(gè)按鍵閉合。本設(shè)計(jì)的鍵盤掃描查詢方式為行掃描法,鍵盤的電路原理圖如圖3所示。
圖3 矩陣鍵盤電路原理圖
圖4 LCD1602電路原理圖
4)顯示模塊
本設(shè)計(jì)的顯示模塊由16引腳LCD1602液晶屏構(gòu)成,為便于對(duì)比度的調(diào)節(jié),在第三個(gè)引腳(Vo端)與電源VCC之間接了一個(gè)電位器,8個(gè)數(shù)據(jù)口與三個(gè)控制端口直接與MSP430單片機(jī)的I/O口相連,該模塊的電路原理圖如圖4所示。
需要注意的是,目前市場(chǎng)上的LCD1602液晶屏多為5V電壓驅(qū)動(dòng)的,而MSP430單片機(jī)的I/O口標(biāo)準(zhǔn)電壓為3.3V,直接相連也有可能顯示,但這樣的顯示系統(tǒng)是不穩(wěn)定的,所以二者相連接時(shí)要考慮電平兼容的問題,要么直接購(gòu)買3.3V驅(qū)動(dòng)的LCD1602,要么通過74LVx4245等邏輯電平轉(zhuǎn)換芯片間接相連。
2.2軟件設(shè)計(jì)
頻率、脈寬的測(cè)量以及周期、占空比等的計(jì)算都由單片機(jī)完成,因此軟件設(shè)計(jì)是數(shù)字頻率計(jì)的核心。
1)“閘門法”測(cè)頻
被測(cè)信號(hào)頻率較高時(shí),采用“閘門法”測(cè)頻,其程序流程圖如圖5所示。測(cè)頻開始后,BasicTimer產(chǎn)生1s的精確定時(shí),同時(shí)主計(jì)數(shù)器開始計(jì)數(shù),CPU處在休眠狀態(tài)等待基礎(chǔ)定時(shí)器喚醒,當(dāng)主計(jì)數(shù)器產(chǎn)生溢出中斷時(shí),記錄溢出次數(shù)的變量自增一次,當(dāng)BasicTimer的定時(shí)中斷發(fā)生時(shí),讀取主計(jì)數(shù)器的值以及溢出次數(shù)即可計(jì)算出被測(cè)信號(hào)的頻率,隨后溢出次數(shù)清零,主計(jì)數(shù)器重新開始計(jì)數(shù),單片機(jī)將頻率、周期信息送去給LCD1602液晶屏顯示。
2)“周期法”測(cè)頻
被測(cè)信號(hào)頻率較低時(shí),采用“周期法”測(cè)頻,其程序流程圖如圖6所示。捕獲/比較模塊設(shè)置為上升沿或下降沿捕獲。當(dāng)主計(jì)數(shù)器發(fā)生溢出中斷時(shí),記錄溢出次數(shù)的變量自增一次,當(dāng)捕獲中斷發(fā)生時(shí),讀取當(dāng)前計(jì)數(shù)器的值、溢出次數(shù)以及保存的前一次捕獲值。由這三個(gè)量和時(shí)鐘源頻率即可確定被測(cè)信號(hào)的頻率。如果將程序設(shè)置為上升沿下降沿均捕獲(CM_3),則相鄰兩次捕獲值之差即反映了輸入方波信號(hào)的脈寬。
圖5 “閘門法”測(cè)頻的程序流程圖
3)“閘門”時(shí)長(zhǎng)可控的大范圍測(cè)頻
以上兩種方法是分開使用的,然而實(shí)際應(yīng)用中往往要求頻率計(jì)有較大的測(cè)頻范圍。因此,可以讓FPGA與MSP430單片機(jī)聯(lián)合測(cè)頻,二者的I/O口高電平均為3.3V,所以共地后可以直接相連。在此方案中,F(xiàn)PGA負(fù)責(zé)脈沖次數(shù)的統(tǒng)計(jì)及存儲(chǔ),而MS430單片機(jī)負(fù)責(zé)“閘門”信號(hào)時(shí)長(zhǎng)的控制和顯示控制,用戶根據(jù)被測(cè)信號(hào)的頻率可直接通過鍵盤增大或減小“閘門”的開放時(shí)間,以實(shí)現(xiàn)大范圍、高精度、高效率的頻率測(cè)量。其系統(tǒng)框圖如圖7所示,實(shí)物圖如圖8所示。
圖6 “周期法”測(cè)頻程序流程圖
圖7 “閘門”時(shí)長(zhǎng)可調(diào)的大范圍測(cè)頻系統(tǒng)框圖
圖8 “閘門”可調(diào)的數(shù)字頻率計(jì)
“閘門”可調(diào)的數(shù)字頻率計(jì),其測(cè)頻結(jié)果如表1所示;從表中數(shù)據(jù)可知,當(dāng)“閘門”信號(hào)的時(shí)長(zhǎng)一定,被測(cè)信號(hào)為1MHz時(shí),測(cè)頻的相對(duì)誤差在為0.02%左右,而在數(shù)十兆赫茲時(shí),相對(duì)誤差在0.006%左右,可見“閘門法”適用于測(cè)量較高頻率的信號(hào)。
表1 “閘門法”測(cè)頻結(jié)果
本文提出了一個(gè)基于MSP430單片機(jī)的高精度頻率計(jì)系統(tǒng)。單片機(jī)的定時(shí)器與比較/捕獲模塊的配合使用可實(shí)現(xiàn)對(duì)輸入信號(hào)頻率的快速高精度測(cè)量,且整個(gè)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn)。但此測(cè)量方法也存在一定的局限性,如選用MSP430F42x系列單片機(jī)時(shí),通過TAx管腳輸入信號(hào)的頻率不能超過10MHz,這限制了頻率計(jì)的使用。如果要實(shí)現(xiàn)對(duì)頻率信號(hào)地精確測(cè)量,可以將MSP430單片機(jī)與FPGA配合使用,F(xiàn)PGA實(shí)現(xiàn)對(duì)信號(hào)的頻率、脈寬、相位差的測(cè)量,而單片機(jī)實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理和人機(jī)交互,這將大大提高頻率計(jì)的適用范圍,其功能也更加豐富。
[1]高吉祥.電子儀器儀表設(shè)計(jì)[M].北京:高等教育出版社,2013.
[2]謝楷,趙建.MSP430系列單片機(jī)系統(tǒng)工程設(shè)計(jì)與實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2009.
[3]施保華,趙娟,田裕康.MSP430單片機(jī)入門與提高[M].武漢:華中科技大學(xué)出版社,2013.
[4]王鑫,劉鑫屏,田亮.基于MSP430的高精度頻率測(cè)量方法[J].中國(guó)儀器儀表,2015年第3期:59-63.
[5]張瑾,劉海燕,李澤光.基于單片機(jī)和CPLD的等精度測(cè)頻系統(tǒng)[J].電子測(cè)量技術(shù),2009年8月第32卷第8期:88-91.
[6]沈亞鈞.基于單片機(jī)的數(shù)字頻率計(jì)設(shè)計(jì)[J].山西電子技術(shù),2012年第5期:14-15.
[7]劉夫江.基于單片機(jī)和CPLD的等精度數(shù)字頻率計(jì)設(shè)計(jì)[D].山東大學(xué),2007.
[8]沈建華,楊淑琴.超低功耗單片機(jī)原理與應(yīng)用(第二版)[M].北京:清華大學(xué)出版社,2013.
High-precision digital frequency meter design based on MSP430 micro controller
LI Lian-bing MA Xiao-ting
(School of Physics and Electronics, Central South University, Changsha 410083, China)
In circuit design, frequency is a commonly used quantity, so far in the market,there are many oscilloscopes with the frequency measurement function, but we can seldom see digital frequency meter in the market. Based on MSP430F425 micro controller, the design is devised with small volume, high precision and multi-function digital frequency meter, and it can be used in the measurement of signal frequency, period,pulse width,and duty cycle. The whole system mainly consists of voltage amplify and waveform shaping, data processing, and LCD display . At low frequency band, the system uses the "period method" frequency measurement,while at high frequency band,it uses the"gate method" , with which the relative frequency measurement error can be controlled below 0.006%. In order to adapt to different applications, we also proposed an adjustable frequency measurement accuracy system.
MSP430F425;High-precision;Frequency measurement
李聯(lián)炳(1995-),男,云南麗江人,中南大學(xué)物理與電子學(xué)院電子信息科學(xué)與技術(shù)系本科生。
馬曉婷(1995-),女,浙江嘉興人,中南大學(xué)物理與電子學(xué)院電子信息科學(xué)與技術(shù)系本科生。