基于TMS320F2812的數(shù)字頻率計的設(shè)計
單片機與嵌入式系統(tǒng)應(yīng)用 合肥工業(yè)大學 張巧云 陶維青
摘要: 為了適應(yīng)現(xiàn)代技術(shù)發(fā)展的要求,,新型的頻率計中都使用了單片機進行數(shù)據(jù)處理,這樣,,由軟件代替了復雜的硬件電路,,使儀器的結(jié)構(gòu)簡化,,功能增強。本文給出一種基于TMS320F2812(簡稱F2812)DSP的一種簡易測頻方法,。該方法有效利用F2812的片內(nèi)外設(shè)事件管理器的捕獲功能,,在被測信號的有效電平跳變沿捕獲計數(shù),電路實現(xiàn)多靠軟件設(shè)置,,運算簡單,,實時性好,測量精度高,。
Abstract:
Key words :
頻率是指某周期現(xiàn)象在單位時間內(nèi)所重復的次數(shù),,它與時間在數(shù)學上互為倒數(shù)。時間頻率的精確測量促進了科學的發(fā)展,,而科學的發(fā)展又反過來把時間頻率的測量提高到新的高度,。特別在最近的幾十年里,頻率和時間的測量精度已達到非常高的水平,,即已遠遠超過其他所有物理量的測量精度,。它主要的應(yīng)用領(lǐng)域有導航和通信兩大類,以及空間技術(shù),、工業(yè)生產(chǎn),、交通、科學研究及天文學與計量學方面。
為了適應(yīng)現(xiàn)代技術(shù)發(fā)展的要求,,新型的頻率計中都使用了單片機進行數(shù)據(jù)處理,,這樣,由軟件代替了復雜的硬件電路,,使儀器的結(jié)構(gòu)簡化,,功能增強。本文給出一種基于TMS320F2812(簡稱F2812)DSP的一種簡易測頻方法,。該方法有效利用F2812的片內(nèi)外設(shè)事件管理器的捕獲功能,,在被測信號的有效電平跳變沿捕獲計數(shù),電路實現(xiàn)多靠軟件設(shè)置,,運算簡單,,實時性好,測量精度高,。
1 測量方法
常用的測頻方法主要有直接測頻法,、直接測周法以及多周期測量法。直接測頻法雖在高頻段的精度較高,,但在低頻段的精度較低,,直接測周法則恰恰相反。多周期測量法是將被測信號和標準信號分別輸入到兩個計數(shù)器,,其實際閘門時間不是固定值,,而是被測信號周期的整數(shù)倍,因此消除了對被測信號計數(shù)時產(chǎn)生的±1 Hz的計數(shù)誤差,,其精度僅與閘門時間和標準頻率有關(guān),。因此本設(shè)計采用多周期測量法作為具體的實施方案。
2 系統(tǒng)的設(shè)計
2.1 系統(tǒng)的硬件設(shè)計
硬件系統(tǒng)總體框圖如圖1所示,。被測信號首先經(jīng)過限幅放大,、直流偏置、整形電路,,變換為0~3.3 V的方波信號,,然后再進入DSP,利用其定時器和捕獲單元實現(xiàn)頻率的測量,。測量完成后,,一方面可由鍵盤設(shè)置相關(guān)參數(shù)通過LCD顯示測量結(jié)果,另一方面可通過RS一232傳送給PC機顯示測量結(jié)果,。另外,,為了提高系統(tǒng)的可靠性,增加了一個自我校準電路,,即在測量之前,,可通過軟件設(shè)置產(chǎn)生1 MHz的標準脈沖信號,,送到信號調(diào)理模塊的輸入端,檢測測量結(jié)果是否正確,,從而達到自我校準的目的,。

本設(shè)計選用美國德州儀器公司(TI)的TMS320F2812 DSP作為核心處理單元。F2812是TI公司近幾年推出的高速,、高精度的工業(yè)控制DSP芯片,。它運算速度快,工作時鐘頻率達150 MHz,,指令周期可以達到6.67 ns以內(nèi),,低功耗(核心電壓1.8 V,I/O口電壓3.3 V),。它采用哈佛總線結(jié)構(gòu),,具有強大的操作能力;外圍設(shè)備包括3個32位的CPU定時器,,16通道的12位A/D轉(zhuǎn)換器,,串行外圍接口(SPI),2個串行通信接口(SCI)等,。其片內(nèi)外設(shè)時間管理器含有2個模塊(EVA和EVB),,每個模塊都包括2個通用定時器,3個全比較/PWM單元,,3個捕獲單元和 1個正交編碼脈沖電路,。本設(shè)計主要利用EVA中的2個通用定時器(T1和T2),,2個捕獲單元(CAPl和CAP3),,EVB中的1個通用定時器 (T3)。具體測量原理如圖2所示,。

首先設(shè)定T3比較值(預(yù)置閘門時間為0.012 8 s),,設(shè)定T1的比較值為1,使能CAPl,。然后使能T1,,當其接收到一個整周期的被測信號時即可產(chǎn)生比較輸出,同時產(chǎn)生比較中斷,,讀取CAPl的棧值 (即T2的初值t2_1),,清T1、T2上溢次數(shù),,使能CAP3和T3,。最后當T3定時結(jié)束,借助于D觸發(fā)器在被測信號的下一個上升沿到來時,,切斷T1的比較輸出,,同時PDPINTA將被置位,,然后記錄T1和T2的上溢次數(shù)tlofcount、t2ofcount,,讀取CAPl的棧值(即T2的末值 t2_2)和CAP3的棧值(即T1的末值tl_2),。由所得數(shù)據(jù)計算頻率,禁止T1,、T2,、CAPl和CAP3。頻率計算公式為:

注意:CAPl的捕獲時基為T2,,CAP3的捕獲時基為T1,,標準頻率信號為150 MHz時鐘頻率的8分頻。
2.2 系統(tǒng)的軟件設(shè)計
主監(jiān)控程序是整個軟件系統(tǒng)的總調(diào)度程序,,它控制著程序的有序運行,。系統(tǒng)在上電或復位后,主程序先調(diào)用各模塊的初始化子程序,,主要包括GPIO初始化,、PIE初始化、EV初始化和SCI初始化,。系統(tǒng)初始化完成之后,,主程序啟動CPU_Timer0,使能 T1,、T2的上溢中斷,,啟動CAPl,設(shè)置T1的比較值為1,,等待T1CINT置位,,開始測量頻率。為減小測量過程中產(chǎn)生的隨機誤差,,所測結(jié)果均取平均值,。利用CPU_Timer0產(chǎn)生一定的時間段(O.6s)。該時段結(jié)束后(CPU_TimerO中斷標志位置位),,即對該段時間段內(nèi)記錄的測量結(jié)果求均值,。此時,如果查詢到上位機發(fā)出接收請求,,則傳送相應(yīng)數(shù)據(jù)至PC顯示,。然,后,,重新初始化定時器和捕獲單元,,進入下一輪測量。主監(jiān)控程序流程如圖3所示,。

測頻的部分源代碼如下:

3 誤差分析及測試結(jié)果
3.1 量化誤差
設(shè)被測信號的頻率為Fx,,其真實值為Fxe,,標準頻率為Fs,在一次測量中,,預(yù)置閘門時間為T′,,Tpr為實際閘門時間,被測信號計數(shù)值為Nx,,標準頻率信號計數(shù)值為Ns,。
Fx計數(shù)的起停時間是由該信號的上升沿觸發(fā)的,在T′時間內(nèi)對Fx的計數(shù)Nx無誤差,,對Fs的計數(shù)Ns假設(shè)相差N個脈沖,,即|△et|≤n。
由于Fx/Nx=Fs/Ns,,F(xiàn)xe/Nx=Fs/(Ns+△et),,根據(jù)相對誤差公式有:

因此可以得到以下結(jié)論:
①相對測量誤差與被測信號的頻率無關(guān),。
?、谠龃骉′或者提高Fs,可以增大Ns,,減少測量誤差,,提高測量精度。本設(shè)計方案中,,預(yù)置閘門時間限定了最低的測量精度,。
③誤差分析中的n,,主要由硬件切斷T1PWM所需要的時間決定,,為一個小整型常數(shù)。若預(yù)置閘門時間Tpr=O.012 8 s,,則

即使n取不為l的小整型常數(shù),,仍可以使得精度維持在十萬分之一以內(nèi),,并且可以隨著預(yù)置閘門時間的適當延長,,得到進一步的提高。
3.2 測量的原理誤差和標準頻率誤差
本測量原理類似多周期同步測量原理,,主要的原理誤差來自測量即將結(jié)束時,,由D觸發(fā)器產(chǎn)生低電平跳變來切斷T1PWM,從而使其產(chǎn)生由CAPl和CAP3同時捕獲上升沿的跳變,。這段時間主要是由D觸發(fā)器的反應(yīng)時間決定,。在測量過程中,針對這部分誤差,,可以通過適當增加預(yù)置閘門的時間來克服,,同時考慮到DSP 內(nèi)部高速的時鐘頻率,,這并不會明顯地增加測量耗時,但卻達到了弱化此誤差的影響,、增加測量精度的目的,。
標準頻率誤差為△Fs/Fs。因為晶體的穩(wěn)定度很高,,標準頻率誤差可以進行校準,,并且已將DSP內(nèi)部的高速時鐘頻率進行了適當?shù)姆诸l,所以相對于量化誤差,,校準后的標準頻率誤差可以忽略不計,。
3.3 測試結(jié)果
用函數(shù)信號發(fā)生器(型號為Tektronix AFG3010;精度為O.000 1%)產(chǎn)生方波信號,,用設(shè)計的頻率計測出頻率,,求出誤差。本測頻系統(tǒng)的測量精度可達到O.01%,。根據(jù)誤差分析可知,,系統(tǒng)的最大誤差發(fā)生在預(yù)置閘門時間正好填充了整數(shù)個被測信號時,即頻率為78.125 Hz或者其整數(shù)倍時,,所以選擇這些點進行測試,。實際的測試數(shù)據(jù)如表1所列。

4 結(jié)論
本文著重分析了數(shù)字頻率計的設(shè)計方案,、硬件組成,,以及采用Modbus協(xié)議實現(xiàn)上位機與下位機通信的軟件設(shè)計。特點有:
?、僭陬l率測量原理方面,,由于采用了多周期測量原理,消除了對被測信號計數(shù)時產(chǎn)生的±1個計數(shù)誤差,,其精度僅與閘門時間和標準頻率有關(guān),,克服了傳統(tǒng)的測頻法或測周法的不足,實現(xiàn)了寬量程,、高精度的頻率測量,。同時由于預(yù)置閘門時間的存在,保證了當被測頻率在各頻段之間來回切換時,,系統(tǒng)反應(yīng)靈敏,,跟隨性能好。
?、谠谙到y(tǒng)的總體設(shè)計方面,,充分利用了F2812 DSP的內(nèi)部資源,即使用事件管理器中的定時器,、捕獲單元完成頻率的測量,;使用PWM的輸出實現(xiàn)自檢電路的設(shè)計,;使用串口通信模塊完成上位機和下位機的通信。在測量結(jié)果的顯示方面利用RS232,,通信協(xié)議采用Modbus協(xié)議,,實現(xiàn)下位機和上位機的通信,將測量結(jié)果在上位機中顯示出來,。
本文只探討了如何對單路信號進行頻率測量,,而對于多路信號,可先使其經(jīng)過一個與門,,通過軟件判斷哪一路信號,,然后再運用本設(shè)計方法進行測量。針對這種情況所產(chǎn)生的誤差問題還需作進一步的探討,,本文只給出初步的探索,。
參考文獻
1. 周文水 相位寬帶測頻原理的研究與實現(xiàn) [學位論文]
2. 徐科軍.李國麗 電氣測試基礎(chǔ) 2002
3. 張志文.田英峰 基于 DSP的高精度頻率測量系統(tǒng)的研究 [期刊論文] -西安工業(yè)大學學報2007(2)
4. Texas Instruments Incorporated TMS320F28x DSP Family User's Guide
5. 梁文海 用單片機實現(xiàn)雙計數(shù)器多周期同步法頻率測量 [期刊論文] -現(xiàn)代電子技術(shù)2007(7)
6. 鄭杰.陶維青 基于 TMS320F2812事件管理器的一種測頻方法 [期刊論文] -微計算機信息2006(5)
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。