新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP2812設(shè)計(jì)的簡(jiǎn)易數(shù)字頻率計(jì)

基于DSP2812設(shè)計(jì)的簡(jiǎn)易數(shù)字頻率計(jì)

作者: 時(shí)間:2012-06-27 來源:網(wǎng)絡(luò) 收藏

基于DSP2812設(shè)計(jì)的簡(jiǎn)易數(shù)字頻率計(jì)

圖3 本等精度頻率測(cè)量原理

  通用定時(shí)器T1時(shí)鐘輸入選擇外部定時(shí)器時(shí)鐘,此處用調(diào)理后的被測(cè)信號(hào)作為定時(shí)器T1的時(shí)鐘輸入,定時(shí)器T2時(shí)鐘輸入選擇內(nèi)部CPU時(shí)鐘,用來產(chǎn)生高頻標(biāo)準(zhǔn)填充脈沖。F2812片上EVA中通用定時(shí)器T1在發(fā)生比較匹配事件時(shí),其比較輸出引腳T1CMP輸出信號(hào)會(huì)自動(dòng)改變電平狀態(tài),產(chǎn)生PWM波。捕獲單元CAP1設(shè)置為上升沿捕獲,T1PWM輸出的PWM波上升沿被CAP1捕獲到,讀取此時(shí)定時(shí)器T2的計(jì)數(shù)值,同理在下一次比較匹配時(shí)再次讀取定時(shí)器T2的計(jì)數(shù)值。通過兩次T2CNT值的相減,即可獲得該門閘時(shí)間內(nèi)標(biāo)準(zhǔn)填充脈沖的個(gè)數(shù),然后求出被測(cè)信號(hào)頻率。

  基于比較匹配時(shí)T1PWM引腳輸出電平的跳變作為門閘信號(hào)的開啟和關(guān)閉,由于比較匹配發(fā)生在被測(cè)信號(hào)的上升沿,從而實(shí)現(xiàn)了門閘時(shí)間與被測(cè)信號(hào)的同步。兩個(gè)相鄰的比較匹配產(chǎn)生的PWM波的上升沿分別作為門閘信號(hào)的開啟和關(guān)閉信號(hào),其中被測(cè)信號(hào)的個(gè)數(shù)為整數(shù),并且是由我們自己任意設(shè)定的。定時(shí)器T2時(shí)鐘輸入選擇內(nèi)部CPU時(shí)鐘,用來產(chǎn)生標(biāo)準(zhǔn)填充脈沖。設(shè)定捕獲單元CAP1為上升沿捕獲,當(dāng)其捕獲到上升沿時(shí)讀取堆棧CAPFIFO內(nèi)的值,在下一次捕獲到時(shí)再讀堆棧內(nèi)的值,計(jì)算出標(biāo)準(zhǔn)填充脈沖的個(gè)數(shù)Ny,保證Ny的個(gè)數(shù)不小于一定的值,即可保證門閘時(shí)間大于一定的值。假設(shè)現(xiàn)在希望一個(gè)門閘時(shí)間內(nèi)高頻填充脈沖的總數(shù)不小于n,當(dāng)Ny>n時(shí),就增大定時(shí)器T1的定時(shí)周期,即增大定時(shí)器T1周期寄存器TIPR的值。存在公式T1PR+1=n/Ny,由于n/Ny不一定為整數(shù),假an/Nya+1(a為整數(shù)),則取n/Ny=a+1,表現(xiàn)在被測(cè)信號(hào)上,則與傳統(tǒng)的用硬件控制一樣,用下一個(gè)被測(cè)信號(hào)的上升沿作為門閘信號(hào)的關(guān)閉信號(hào),只不過該上升沿發(fā)生在下一次的比較匹配時(shí)。然后,再在該門閘時(shí)間內(nèi)讀取高頻填充脈沖的個(gè)數(shù),有Ny≥n,從而得出高精度的被測(cè)信號(hào)頻率。在本設(shè)計(jì)中,定時(shí)器T1并不關(guān)閉,前一門閘時(shí)間的關(guān)閉信號(hào)同時(shí)作為下一門閘信號(hào)的開啟信號(hào)。

  周期測(cè)量與頻率測(cè)量的基本原理完全相同,測(cè)出信號(hào)頻率,根據(jù)公T=1/f即可得出被測(cè)信號(hào)的周期。

  誤差分析

  定時(shí)器T1計(jì)數(shù)的啟停時(shí)間都是由該信號(hào)的上升沿觸發(fā)的,在一次測(cè)量時(shí)間內(nèi)對(duì)被測(cè)信號(hào)的計(jì)數(shù)無誤差;在此時(shí)間內(nèi)標(biāo)準(zhǔn)頻率脈沖的計(jì)數(shù)個(gè)數(shù)Ny,最多相差一個(gè)脈沖,故理論誤差為:

  |d|≤1/Ny

  顯然,測(cè)量精度僅僅與Ny有關(guān),只要Ny值足夠大,就能保證精度。

  硬件設(shè)計(jì)

  如圖4所示,將被測(cè)信號(hào)經(jīng)過高速運(yùn)放OPA2690進(jìn)行放大,在經(jīng)過高速比較器TL3016進(jìn)行整形[3],由于比較器在對(duì)低頻正弦波信號(hào)進(jìn)行整形時(shí),輸出波形的邊沿有比較嚴(yán)重的抖動(dòng),影響測(cè)量。解決辦法是對(duì)比較器加入正反饋,加速信號(hào)邊沿,同時(shí)形成滯環(huán),可有效消除抖動(dòng)。整形后的信號(hào)經(jīng)過高速施密特觸發(fā)SN74LVC1G14進(jìn)行限幅和進(jìn)一步整形。測(cè)量部分主要使用2812芯片上定時(shí)器T1的時(shí)鐘輸入引腳TCLKINA、定時(shí)器T1的比較輸出引腳T1PWM和捕獲單元CAP1的輸入引腳CAP1,即可完成頻率測(cè)量。通訊部分選擇MAX3221作為RS-232電平轉(zhuǎn)換器件,通過9芯標(biāo)準(zhǔn)RS-232口與上位機(jī)進(jìn)行串行通信。主要使用了的串行通信發(fā)送引腳SCIRXD和串行通信接收引腳SCITXD。

基于DSP2812設(shè)計(jì)的簡(jiǎn)易數(shù)字頻率計(jì)

圖4 硬件電路連接圖

  軟件設(shè)計(jì)

  軟件設(shè)計(jì)部分主要包括以下四部分:

·初始化:對(duì)變量參數(shù)、系統(tǒng)時(shí)鐘、PIE、EV、Flash、GPIO等進(jìn)行配置。
·中斷模塊:SCI中斷和定時(shí)器T2、T3上溢中斷。
·數(shù)據(jù)處理模塊:分段+取算術(shù)平均值。
·輸出操作模塊:數(shù)據(jù)經(jīng)RS-232傳給上位機(jī)。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉