胥開芳,蔡志濤
(鹽城生物工程高等職業技術學校,江蘇鹽城 224051)
電子測量儀器儀表是目前電子學較為成熟且不斷發展的研究領域,具有多年的研究積淀。但隨著電子技術的進步,電子測量儀器朝著智能化、多功能化、使用方便、節能環保的方向發展。這不但是電測和儀器本身的變革,而且使它們增加了很多新的增長點[1]。正是基于以上原因,本文研究設計了一款低功耗的具有智能量程選擇功能和頻率可調波形可選的信號發生功能的低功耗多功能表。實踐證明,該研究具有廣泛的現實意義。
系統的總體架構如圖1所示。
本設計采用MSP430F157為核心配以相應的測量電路,完成測量和信號輸出的功能。MSP430F157是TI公司推出的一款超低功耗的16位單片機[2],其內部集成了大量的實用外設。對于本系統來講,內部8通道ADC大大簡化了系統設計、看門狗定時器方便設計定時自動休眠。另外,MSP430F157具有六組I/O口,引腳多,方便設計,且P1、P2口支持外部中斷,所有按鍵均可通過中斷來實現,既提高了系統的響應速度和精度,又避免了對按鍵反復查詢,進一步降低了功耗。無疑,MSP430F157對本系統來講是一個理想的選擇。

圖1 系統總體架構
該系統除核心控制模塊(含電源部分)外,共分為以下幾個模塊:交/直流電壓測量模塊、電阻測量模塊、電容測量模塊、晶體管放大倍數測量模塊、頻率可調信號發生模塊、128×64 LCD液晶顯示模塊和功能選擇及頻率輸入模塊。
為了保證安全,系統開機硬件電路自動切入交流電壓最高檔,液晶顯示歡迎界面,此時用戶可以使用鍵盤選擇當前需要測量的量。以測量電阻為例,對應的測量電路將要測量的電阻值轉化為一個與之相對應的電壓(默認以最大量程啟動測量),通過MSP430F157內部自帶的8通道12位ADC將其轉化為數字量,通過軟件層的處理自動調節量程(若超出量程顯示ERROR,若小于當前量程的三分之一則調整為更小量程),并根據當前量程將實際數值顯示在LCD顯示屏上。
為了滿足某些特殊場合的測量要求,該設計將一個頻率可調波形可選(方波/正弦波)的信號發生器融入了該系統中,作為該多功能表的附加功能。
為了實現低功耗,該設計充分利用MSP430F157的多種低功耗模式,只要一分鐘內無任何操作,系統將進入休眠模式,等待用戶按鍵喚醒。除此之外,為了最大限度的降低功耗延長電池的供電時間,在一個模塊處在測量狀態(或信號發生模塊工作時)時,系統將對其他的測量模塊斷電。
圖2所示為交/直流電壓測量模塊原理圖。
該電路分為三個部分:第一部分是量程選擇;第二部分是OP07運算放大電路;第三部分是精密整流電路。

圖2 交/直流電壓測量模塊原理圖
對于交流電壓,由多路轉換開關控制選擇量程,被測交流電壓由精密電阻分壓得到與輸入被測電壓成比例的交流電壓,經運算放大器OP07信號放大10倍,后經整流濾波得到與輸入電壓成正比的直流電壓[3]。將此直流電壓值采集到MSP430F157的ADC某一通道,進而通過軟件處理可得到較精確的交流電壓數值。
對于直流電壓,則可以跳過第三部分的整流電路直接將經過OP07放大了的信號交由MSP430F157來處理。
圖3所示為電阻測量模塊的原理圖。
該電路使用了一個壓控電流源,控制量為MSP430F157內部的DAC輸出電壓。量程選定后,DAC輸出電壓不再變化,受控的電流源恒流,Rx上的電壓就和待測電阻的大小成線性關系,將這個電壓采集到MSP430F157的ADC某一通道,經過相應軟件處理可得待測電阻值。

圖3 電阻測量模塊原理圖
圖4 所示為電容測量模塊原理圖。

圖4 電容測量模塊原理圖
由于電容充電時滿足:

則電容在充電時間為時間常數τ時,電容兩端電壓為電源電壓的(1-1/e)倍,即:
Uc=0.632Us,
由此得到時間常數τ,進而有:


圖5 晶體管放大倍數測量模塊原理圖
就上述電路具體來講,當需要測量電容Cx時,由MSP430F157的某個引腳向該電路提供200 ms以上的高電平,三極管導通,保證待測電容完全放電。當該引腳為低電平時,電容開始充電,同時定時器開始計數,并進入捕獲模式。隨著電容充電的進行,比較器反相輸入端的電壓逐漸升高,當比較器反相輸入端電壓大于同相輸入端的電壓(即通過調節電阻設定的0.632 Us, 這 里 是 3.16 V)時,比較器輸出電平發生跳變,MSP430內部的Timer A停止計數,軟件處理后可得這段時長,也就是時間常數τ。進而可以根據不同量程的電阻值求得電容值。
圖5所示為晶體管放大倍數測量原理圖。
該部分電路設計簡潔明了,將待測的晶體管構成最簡單的電路,然后將要測的放大倍數轉化為測試點的電壓值(即可以找到確定的對應關系),這里兩種情況下,放大倍數都與測試點電壓有確定的表達式。推導出的關系式為:
PNP型放大倍數:

NPN型放大倍數:

將采集到的電壓值經MSP430F157的ADC轉化為數字量,相應數據經軟件處理就可得到晶體管的放大倍數。
為了系統設計方便,該設計使用了DDS(直接數字式頻率合成器)模塊,并在DDS模塊的方波和正弦波的輸出端分別設計了濾波及放大電路以提高信號質量。頻率的調節是由用戶通過一個矩陣鍵盤輸入需要的信號頻率,然后由MSP430F157單片機進行處理,并控制DDS產生相應頻率的信號。
任何一個低功耗系統的設計都離不開程序的支持,硬件的低功耗與程序的處理是密不可分的。程序設計的原則是在最短的時間內處理完必須處理的任務,以盡快進入休眠狀態[4]。引腳P1.0~P1.7和P2.0~P2.7可用做中斷源[5],給系統設計帶來了很大的方便。
本設計中鍵盤對工作模式的選擇、頻率輸入等都使用了中斷的方式,盡可能的減少CPU查詢時間、提高響應速度、降低系統功耗。另外,在處理某個功能模塊時應該關閉其他無關模塊。軟件設計的主函數執行流程如圖6所示。系統上電后,首先是進行各種配置和初始化,使電路進入交流電壓最高檔,然后進入歡迎界面,等待選擇模式。用戶選擇一種工作模式,在用戶選擇另一種工作模式之前,系統會反復刷新顯示測量結果,隨時準備響應按鍵產生的外部中斷請求,以轉變工作模式或者調節量程。
在主程序運行的過程中,有以下兩類中斷可能會發生打斷主函數運行:更換工作模式或量程、定時休眠。每個中斷處理函數的程序處理流程如下。
(1)更換工作模式或量程的中斷服務程序
由于系統在上電后默認當前模式的最大量程,并且根據采到的數據智能判斷最佳量程的,因此量程的(手動)選擇在整個測量過程中不是必要操作。但在某些特殊情況下,用戶可能會有切換量程的需求。進入中斷后,首先進行按鍵去抖,確認確有按鍵按下之后,對工作模式或量程進行判斷,關閉非工作模塊以降低功耗,令相應量程的多路轉換開關吸合并重新配置看門狗定時器。然后設置一個模式或量程標志,方便主程序刷新顯示使用。對于模式的選擇,不同模式還應該有不同的處理。比如對于電壓測量模塊,要選擇AD轉換通道,并使能轉換、使能ADC中斷、啟動轉換。轉換得到的數據會在主函數中根據當前所處的量程進行處理。

圖6 主函數執行流程
(2)定時休眠中斷服務程序
進入中斷后,對中斷次數計數器進行判斷(這是因為看門狗定時器的最大定時時間仍然不足夠大,設置計數器以達到設計要求),如果達到定時時間,則進入低功耗模式并清除計數器,否則計數器自加一。定時休眠是利用MSP430F157內部的看門狗定時器,一旦有按鍵按下,看門狗重新配置計時,如果定時時間到,無按鍵按下,則進入低功耗模式。在此期間,如果系統檢測到按鍵按下,則退出低功耗模式完成喚醒。
本文給出了基于MSP430F157的低功耗數字多功能表的設計實現。經實測,該設計可以較好地實現各種測量功能,同時也可以對特殊場合下的信號源需求給予一定程度上的滿足,較好地實現了設計初衷,只是在硬件精確度等方面還有改進的空間。
[1]孫續,杜明.電子測量和儀器[J].電子科技導報,1997(05):24-27.
[2] Texas Instruments Incorporated.MSP430x15x Mixed Signal Microcontroller Datasheet[Z].2004.
[3]趙鑫.智能交流電壓表的研究[D].天津:河北工業大學,2003.
[4]宋彩亞.淺談基于MSP430低功耗RTU的設計[J].電子商務,2010(11):60-61.
[5]胡大可.MSP430系列超低功耗16位單片機原理與應用[M].北京:北京航空航天大學出版社,2000.