利用看門(mén)狗和端口中斷實(shí)現(xiàn)電子計(jì)數(shù)法測(cè)頻
頻率是單位時(shí)間內(nèi)周期性過(guò)程重復(fù)、循環(huán)或震動(dòng)的次數(shù),記為f。因此,某一信號(hào)在T秒內(nèi)變化了N次,可知該信號(hào)的頻率為:f=N/T。下圖是電子計(jì)數(shù)式頻率計(jì)的原理框圖,它主要由四部分組成。
計(jì)數(shù)脈沖形成電路:該部分的作用是將被測(cè)的周期信號(hào)經(jīng)過(guò)放大、整形后轉(zhuǎn)換成可計(jì)數(shù)的脈沖。
時(shí)間基準(zhǔn)T產(chǎn)生電路:這部分的作用是提供準(zhǔn)確的計(jì)數(shù)時(shí)間T,又稱(chēng)為閘門(mén)(時(shí)間)脈沖。
計(jì)數(shù)電路:這部分的作用是計(jì)數(shù)被測(cè)周期信號(hào)的重復(fù)次數(shù)。時(shí)間基準(zhǔn)產(chǎn)生電路產(chǎn)生閘門(mén)脈沖,只有在閘門(mén)脈沖持續(xù)的時(shí)間T內(nèi),才允許被測(cè)信號(hào)輸入到計(jì)數(shù)電路進(jìn)行計(jì)數(shù)。
波形圖
顯示電路:該部分的作用是將測(cè)量的結(jié)果直觀的顯示出來(lái)。
由于單片機(jī)的廣泛應(yīng)用,而且單片機(jī)的功能也越來(lái)越強(qiáng)大,因此電子計(jì)數(shù)式頻率計(jì)的開(kāi)發(fā)也轉(zhuǎn)移到以單片機(jī)為核心的基礎(chǔ)上?,F(xiàn)在的單片機(jī)基本上都帶有一個(gè)以上的定時(shí)/計(jì)數(shù)器功能模塊,因而單片機(jī)內(nèi)的定時(shí)/計(jì)數(shù)器功能模塊就成了實(shí)現(xiàn)時(shí)間基準(zhǔn)產(chǎn)生電路和計(jì)數(shù)電路功能的酋選,以代替?zhèn)鹘y(tǒng)的以分立元件構(gòu)成的電路功能模塊。其中,單片機(jī)的定時(shí)/計(jì)數(shù)器功能模塊的計(jì)數(shù)器功能,幾乎是開(kāi)發(fā)人員做為計(jì)數(shù)電路的獨(dú)一無(wú)二的選擇i時(shí)間基準(zhǔn)T產(chǎn)生電路的實(shí)現(xiàn)也往往是依賴(lài)單片機(jī)的定時(shí)/計(jì)數(shù)器功能模塊的定時(shí)器功能,本文將介紹一種基于MSP430系列單片機(jī)來(lái)產(chǎn)生時(shí)間基準(zhǔn)和計(jì)數(shù)電路功能的新方法。
MSP430系列單片機(jī)是美國(guó)德州儀器(TI)公司的一類(lèi)超低功耗的16位單片機(jī)。它采用RISC內(nèi)核結(jié)構(gòu),將大量外圍模塊如看門(mén)狗、A/D轉(zhuǎn)換器等集成到片內(nèi)。
利用看門(mén)狗實(shí)現(xiàn)時(shí)間基準(zhǔn)產(chǎn)生電路功能
看門(mén)狗定時(shí)器(WDT)是MSP430系列單片機(jī)中用于系統(tǒng)監(jiān)測(cè)和內(nèi)部定時(shí)使用的一種模塊,是一個(gè)16位的計(jì)數(shù)器,有看門(mén)狗和定時(shí)器兩種模式,有8種可選的定時(shí)時(shí)間。在本文中是將看門(mén)狗定時(shí)器( WDT)當(dāng)做內(nèi)部定時(shí)器,然后根據(jù)測(cè)量的實(shí)際需要將看門(mén)狗定時(shí)器(WDT)設(shè)定在8種可選的定時(shí)時(shí)間之一(本文中為1000ms),作為時(shí)間基準(zhǔn)T,即閘門(mén)脈沖持續(xù)的時(shí)間。
當(dāng)MSP430系列單片機(jī)的某一端[檢測(cè)到被測(cè)脈沖電平的跳變沿(上升沿利下降沿都可以),就開(kāi)啟看門(mén)狗的定時(shí)功能,同時(shí)開(kāi)始對(duì)被測(cè)信號(hào)進(jìn)行計(jì)數(shù)。當(dāng)看門(mén)狗的定時(shí)時(shí)間到,即閘門(mén)脈沖的持續(xù)時(shí)聞T(時(shí)間基準(zhǔn)T),就進(jìn)入看門(mén)狗的中斷服務(wù)程序并停止對(duì)被測(cè)信號(hào)的計(jì)數(shù),由霍門(mén)狗的中斷服務(wù)程序調(diào)用顯示程序子程序顯示被測(cè)信號(hào)頻率。
這里有一個(gè)值得探討的問(wèn)題就是時(shí)間基準(zhǔn)T的精確度,筆者認(rèn)為單片機(jī)的看門(mén)狗電路的時(shí)間精度應(yīng)該比較高,否則看門(mén)狗電路很難應(yīng)用于系統(tǒng)監(jiān)測(cè)和內(nèi)部定時(shí)。
利用端口中斷實(shí)現(xiàn)計(jì)數(shù)電路功能
MSP430系列單片機(jī)有豐富的端口資源,其中PO、Pl和P2具有輸入/輸出功能和中斷功能,每個(gè)信號(hào)都可作為一個(gè)中斷源和外部模塊功能(除PO外)。
MSP430系列單片機(jī)的端口中斷觸發(fā)沿寄存器檢測(cè)到被測(cè)脈沖電平的跳變沿將使中斷標(biāo)志位置位,并可用軟件的方法使中斷標(biāo)志位復(fù)位。將單片機(jī)檢測(cè)被測(cè)脈沖的輸入端口進(jìn)行設(shè)置,使其可以響應(yīng)被測(cè)脈沖電平的跳變沿并使中斷標(biāo)志位置位,但不進(jìn)入端口中斷服務(wù)程序。這樣每來(lái)一個(gè)被測(cè)脈沖電平的跳變沿就對(duì)中斷標(biāo)志進(jìn)行一次計(jì)數(shù)、復(fù)位、再計(jì)數(shù)的方法完成對(duì)被測(cè)脈沖頻率的測(cè)量。
此外,通過(guò)外接高速晶體振蕩器并在程序中進(jìn)行相應(yīng)的設(shè)置可使MSP430系列單片機(jī)測(cè)量更高的頻率:也可以通過(guò)分頻器來(lái)提高M(jìn)SP430系列單片機(jī)測(cè)量頻率的范圍。將測(cè)量的頻率進(jìn)行簡(jiǎn)單地轉(zhuǎn)換可以表示成測(cè)周期。
這種對(duì)單片機(jī)中斷功能“另類(lèi)”的用法,應(yīng)該可以為我們以后對(duì)單片機(jī)功能的進(jìn)一步深入地探索與開(kāi)發(fā)帶來(lái)一些啟示。 本文中所用單片機(jī)為MSP430F2274,在實(shí)際的實(shí)驗(yàn)驗(yàn)證中用的是利爾達(dá)科技有限公司的430F22×的學(xué)習(xí)套件。本文重在討論時(shí)間基準(zhǔn)產(chǎn)生電路和計(jì)數(shù)電路功能的實(shí)現(xiàn)方法,故對(duì)其它部分的電路和各電路間的連接略去。
程序流程圖如下圖所示。