胥開芳,蔡志濤
(鹽城生物工程高等職業(yè)技術(shù)學(xué)校,江蘇鹽城 224051)
電子測(cè)量?jī)x器儀表是目前電子學(xué)較為成熟且不斷發(fā)展的研究領(lǐng)域,具有多年的研究積淀。但隨著電子技術(shù)的進(jìn)步,電子測(cè)量?jī)x器朝著智能化、多功能化、使用方便、節(jié)能環(huán)保的方向發(fā)展。這不但是電測(cè)和儀器本身的變革,而且使它們?cè)黾恿撕芏嘈碌脑鲩L(zhǎng)點(diǎn)[1]。正是基于以上原因,本文研究設(shè)計(jì)了一款低功耗的具有智能量程選擇功能和頻率可調(diào)波形可選的信號(hào)發(fā)生功能的低功耗多功能表。實(shí)踐證明,該研究具有廣泛的現(xiàn)實(shí)意義。
系統(tǒng)的總體架構(gòu)如圖1所示。
本設(shè)計(jì)采用MSP430F157為核心配以相應(yīng)的測(cè)量電路,完成測(cè)量和信號(hào)輸出的功能。MSP430F157是TI公司推出的一款超低功耗的16位單片機(jī)[2],其內(nèi)部集成了大量的實(shí)用外設(shè)。對(duì)于本系統(tǒng)來講,內(nèi)部8通道ADC大大簡(jiǎn)化了系統(tǒng)設(shè)計(jì)、看門狗定時(shí)器方便設(shè)計(jì)定時(shí)自動(dòng)休眠。另外,MSP430F157具有六組I/O口,引腳多,方便設(shè)計(jì),且P1、P2口支持外部中斷,所有按鍵均可通過中斷來實(shí)現(xiàn),既提高了系統(tǒng)的響應(yīng)速度和精度,又避免了對(duì)按鍵反復(fù)查詢,進(jìn)一步降低了功耗。無疑,MSP430F157對(duì)本系統(tǒng)來講是一個(gè)理想的選擇。
圖1 系統(tǒng)總體架構(gòu)
該系統(tǒng)除核心控制模塊(含電源部分)外,共分為以下幾個(gè)模塊:交/直流電壓測(cè)量模塊、電阻測(cè)量模塊、電容測(cè)量模塊、晶體管放大倍數(shù)測(cè)量模塊、頻率可調(diào)信號(hào)發(fā)生模塊、128×64 LCD液晶顯示模塊和功能選擇及頻率輸入模塊。
為了保證安全,系統(tǒng)開機(jī)硬件電路自動(dòng)切入交流電壓最高檔,液晶顯示歡迎界面,此時(shí)用戶可以使用鍵盤選擇當(dāng)前需要測(cè)量的量。以測(cè)量電阻為例,對(duì)應(yīng)的測(cè)量電路將要測(cè)量的電阻值轉(zhuǎn)化為一個(gè)與之相對(duì)應(yīng)的電壓(默認(rèn)以最大量程啟動(dòng)測(cè)量),通過MSP430F157內(nèi)部自帶的8通道12位ADC將其轉(zhuǎn)化為數(shù)字量,通過軟件層的處理自動(dòng)調(diào)節(jié)量程(若超出量程顯示ERROR,若小于當(dāng)前量程的三分之一則調(diào)整為更小量程),并根據(jù)當(dāng)前量程將實(shí)際數(shù)值顯示在LCD顯示屏上。
為了滿足某些特殊場(chǎng)合的測(cè)量要求,該設(shè)計(jì)將一個(gè)頻率可調(diào)波形可選(方波/正弦波)的信號(hào)發(fā)生器融入了該系統(tǒng)中,作為該多功能表的附加功能。
為了實(shí)現(xiàn)低功耗,該設(shè)計(jì)充分利用MSP430F157的多種低功耗模式,只要一分鐘內(nèi)無任何操作,系統(tǒng)將進(jìn)入休眠模式,等待用戶按鍵喚醒。除此之外,為了最大限度的降低功耗延長(zhǎng)電池的供電時(shí)間,在一個(gè)模塊處在測(cè)量狀態(tài)(或信號(hào)發(fā)生模塊工作時(shí))時(shí),系統(tǒng)將對(duì)其他的測(cè)量模塊斷電。
圖2所示為交/直流電壓測(cè)量模塊原理圖。
該電路分為三個(gè)部分:第一部分是量程選擇;第二部分是OP07運(yùn)算放大電路;第三部分是精密整流電路。
圖2 交/直流電壓測(cè)量模塊原理圖
對(duì)于交流電壓,由多路轉(zhuǎn)換開關(guān)控制選擇量程,被測(cè)交流電壓由精密電阻分壓得到與輸入被測(cè)電壓成比例的交流電壓,經(jīng)運(yùn)算放大器OP07信號(hào)放大10倍,后經(jīng)整流濾波得到與輸入電壓成正比的直流電壓[3]。將此直流電壓值采集到MSP430F157的ADC某一通道,進(jìn)而通過軟件處理可得到較精確的交流電壓數(shù)值。
對(duì)于直流電壓,則可以跳過第三部分的整流電路直接將經(jīng)過OP07放大了的信號(hào)交由MSP430F157來處理。
圖3所示為電阻測(cè)量模塊的原理圖。
該電路使用了一個(gè)壓控電流源,控制量為MSP430F157內(nèi)部的DAC輸出電壓。量程選定后,DAC輸出電壓不再變化,受控的電流源恒流,Rx上的電壓就和待測(cè)電阻的大小成線性關(guān)系,將這個(gè)電壓采集到MSP430F157的ADC某一通道,經(jīng)過相應(yīng)軟件處理可得待測(cè)電阻值。
圖3 電阻測(cè)量模塊原理圖
圖4 所示為電容測(cè)量模塊原理圖。
圖4 電容測(cè)量模塊原理圖
由于電容充電時(shí)滿足:
則電容在充電時(shí)間為時(shí)間常數(shù)τ時(shí),電容兩端電壓為電源電壓的(1-1/e)倍,即:
Uc=0.632Us,
由此得到時(shí)間常數(shù)τ,進(jìn)而有:
圖5 晶體管放大倍數(shù)測(cè)量模塊原理圖
就上述電路具體來講,當(dāng)需要測(cè)量電容Cx時(shí),由MSP430F157的某個(gè)引腳向該電路提供200 ms以上的高電平,三極管導(dǎo)通,保證待測(cè)電容完全放電。當(dāng)該引腳為低電平時(shí),電容開始充電,同時(shí)定時(shí)器開始計(jì)數(shù),并進(jìn)入捕獲模式。隨著電容充電的進(jìn)行,比較器反相輸入端的電壓逐漸升高,當(dāng)比較器反相輸入端電壓大于同相輸入端的電壓(即通過調(diào)節(jié)電阻設(shè)定的0.632 Us, 這 里 是 3.16 V)時(shí),比較器輸出電平發(fā)生跳變,MSP430內(nèi)部的Timer A停止計(jì)數(shù),軟件處理后可得這段時(shí)長(zhǎng),也就是時(shí)間常數(shù)τ。進(jìn)而可以根據(jù)不同量程的電阻值求得電容值。
圖5所示為晶體管放大倍數(shù)測(cè)量原理圖。
該部分電路設(shè)計(jì)簡(jiǎn)潔明了,將待測(cè)的晶體管構(gòu)成最簡(jiǎn)單的電路,然后將要測(cè)的放大倍數(shù)轉(zhuǎn)化為測(cè)試點(diǎn)的電壓值(即可以找到確定的對(duì)應(yīng)關(guān)系),這里兩種情況下,放大倍數(shù)都與測(cè)試點(diǎn)電壓有確定的表達(dá)式。推導(dǎo)出的關(guān)系式為:
PNP型放大倍數(shù):
NPN型放大倍數(shù):
將采集到的電壓值經(jīng)MSP430F157的ADC轉(zhuǎn)化為數(shù)字量,相應(yīng)數(shù)據(jù)經(jīng)軟件處理就可得到晶體管的放大倍數(shù)。
為了系統(tǒng)設(shè)計(jì)方便,該設(shè)計(jì)使用了DDS(直接數(shù)字式頻率合成器)模塊,并在DDS模塊的方波和正弦波的輸出端分別設(shè)計(jì)了濾波及放大電路以提高信號(hào)質(zhì)量。頻率的調(diào)節(jié)是由用戶通過一個(gè)矩陣鍵盤輸入需要的信號(hào)頻率,然后由MSP430F157單片機(jī)進(jìn)行處理,并控制DDS產(chǎn)生相應(yīng)頻率的信號(hào)。
任何一個(gè)低功耗系統(tǒng)的設(shè)計(jì)都離不開程序的支持,硬件的低功耗與程序的處理是密不可分的。程序設(shè)計(jì)的原則是在最短的時(shí)間內(nèi)處理完必須處理的任務(wù),以盡快進(jìn)入休眠狀態(tài)[4]。引腳P1.0~P1.7和P2.0~P2.7可用做中斷源[5],給系統(tǒng)設(shè)計(jì)帶來了很大的方便。
本設(shè)計(jì)中鍵盤對(duì)工作模式的選擇、頻率輸入等都使用了中斷的方式,盡可能的減少CPU查詢時(shí)間、提高響應(yīng)速度、降低系統(tǒng)功耗。另外,在處理某個(gè)功能模塊時(shí)應(yīng)該關(guān)閉其他無關(guān)模塊。軟件設(shè)計(jì)的主函數(shù)執(zhí)行流程如圖6所示。系統(tǒng)上電后,首先是進(jìn)行各種配置和初始化,使電路進(jìn)入交流電壓最高檔,然后進(jìn)入歡迎界面,等待選擇模式。用戶選擇一種工作模式,在用戶選擇另一種工作模式之前,系統(tǒng)會(huì)反復(fù)刷新顯示測(cè)量結(jié)果,隨時(shí)準(zhǔn)備響應(yīng)按鍵產(chǎn)生的外部中斷請(qǐng)求,以轉(zhuǎn)變工作模式或者調(diào)節(jié)量程。
在主程序運(yùn)行的過程中,有以下兩類中斷可能會(huì)發(fā)生打斷主函數(shù)運(yùn)行:更換工作模式或量程、定時(shí)休眠。每個(gè)中斷處理函數(shù)的程序處理流程如下。
(1)更換工作模式或量程的中斷服務(wù)程序
由于系統(tǒng)在上電后默認(rèn)當(dāng)前模式的最大量程,并且根據(jù)采到的數(shù)據(jù)智能判斷最佳量程的,因此量程的(手動(dòng))選擇在整個(gè)測(cè)量過程中不是必要操作。但在某些特殊情況下,用戶可能會(huì)有切換量程的需求。進(jìn)入中斷后,首先進(jìn)行按鍵去抖,確認(rèn)確有按鍵按下之后,對(duì)工作模式或量程進(jìn)行判斷,關(guān)閉非工作模塊以降低功耗,令相應(yīng)量程的多路轉(zhuǎn)換開關(guān)吸合并重新配置看門狗定時(shí)器。然后設(shè)置一個(gè)模式或量程標(biāo)志,方便主程序刷新顯示使用。對(duì)于模式的選擇,不同模式還應(yīng)該有不同的處理。比如對(duì)于電壓測(cè)量模塊,要選擇AD轉(zhuǎn)換通道,并使能轉(zhuǎn)換、使能ADC中斷、啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換得到的數(shù)據(jù)會(huì)在主函數(shù)中根據(jù)當(dāng)前所處的量程進(jìn)行處理。
圖6 主函數(shù)執(zhí)行流程
(2)定時(shí)休眠中斷服務(wù)程序
進(jìn)入中斷后,對(duì)中斷次數(shù)計(jì)數(shù)器進(jìn)行判斷(這是因?yàn)榭撮T狗定時(shí)器的最大定時(shí)時(shí)間仍然不足夠大,設(shè)置計(jì)數(shù)器以達(dá)到設(shè)計(jì)要求),如果達(dá)到定時(shí)時(shí)間,則進(jìn)入低功耗模式并清除計(jì)數(shù)器,否則計(jì)數(shù)器自加一。定時(shí)休眠是利用MSP430F157內(nèi)部的看門狗定時(shí)器,一旦有按鍵按下,看門狗重新配置計(jì)時(shí),如果定時(shí)時(shí)間到,無按鍵按下,則進(jìn)入低功耗模式。在此期間,如果系統(tǒng)檢測(cè)到按鍵按下,則退出低功耗模式完成喚醒。
本文給出了基于MSP430F157的低功耗數(shù)字多功能表的設(shè)計(jì)實(shí)現(xiàn)。經(jīng)實(shí)測(cè),該設(shè)計(jì)可以較好地實(shí)現(xiàn)各種測(cè)量功能,同時(shí)也可以對(duì)特殊場(chǎng)合下的信號(hào)源需求給予一定程度上的滿足,較好地實(shí)現(xiàn)了設(shè)計(jì)初衷,只是在硬件精確度等方面還有改進(jìn)的空間。
[1]孫續(xù),杜明.電子測(cè)量和儀器[J].電子科技導(dǎo)報(bào),1997(05):24-27.
[2] Texas Instruments Incorporated.MSP430x15x Mixed Signal Microcontroller Datasheet[Z].2004.
[3]趙鑫.智能交流電壓表的研究[D].天津:河北工業(yè)大學(xué),2003.
[4]宋彩亞.淺談基于MSP430低功耗RTU的設(shè)計(jì)[J].電子商務(wù),2010(11):60-61.
[5]胡大可.MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2000.