基于TMS320F2812的數(shù)字頻率計(jì)的設(shè)計(jì)
單片機(jī)與嵌入式系統(tǒng)應(yīng)用 合肥工業(yè)大學(xué) 張巧云 陶維青
摘要: 為了適應(yīng)現(xiàn)代技術(shù)發(fā)展的要求,新型的頻率計(jì)中都使用了單片機(jī)進(jìn)行數(shù)據(jù)處理,這樣,由軟件代替了復(fù)雜的硬件電路,使儀器的結(jié)構(gòu)簡(jiǎn)化,功能增強(qiáng)。本文給出一種基于TMS320F2812(簡(jiǎn)稱F2812)DSP的一種簡(jiǎn)易測(cè)頻方法。該方法有效利用F2812的片內(nèi)外設(shè)事件管理器的捕獲功能,在被測(cè)信號(hào)的有效電平跳變沿捕獲計(jì)數(shù),電路實(shí)現(xiàn)多靠軟件設(shè)置,運(yùn)算簡(jiǎn)單,實(shí)時(shí)性好,測(cè)量精度高。
Abstract:
Key words :
頻率是指某周期現(xiàn)象在單位時(shí)間內(nèi)所重復(fù)的次數(shù),它與時(shí)間在數(shù)學(xué)上互為倒數(shù)。時(shí)間頻率的精確測(cè)量促進(jìn)了科學(xué)的發(fā)展,而科學(xué)的發(fā)展又反過來把時(shí)間頻率的測(cè)量提高到新的高度。特別在最近的幾十年里,頻率和時(shí)間的測(cè)量精度已達(dá)到非常高的水平,即已遠(yuǎn)遠(yuǎn)超過其他所有物理量的測(cè)量精度。它主要的應(yīng)用領(lǐng)域有導(dǎo)航和通信兩大類,以及空間技術(shù)、工業(yè)生產(chǎn)、交通、科學(xué)研究及天文學(xué)與計(jì)量學(xué)方面。
為了適應(yīng)現(xiàn)代技術(shù)發(fā)展的要求,新型的頻率計(jì)中都使用了單片機(jī)進(jìn)行數(shù)據(jù)處理,這樣,由軟件代替了復(fù)雜的硬件電路,使儀器的結(jié)構(gòu)簡(jiǎn)化,功能增強(qiáng)。本文給出一種基于TMS320F2812(簡(jiǎn)稱F2812)DSP的一種簡(jiǎn)易測(cè)頻方法。該方法有效利用F2812的片內(nèi)外設(shè)事件管理器的捕獲功能,在被測(cè)信號(hào)的有效電平跳變沿捕獲計(jì)數(shù),電路實(shí)現(xiàn)多靠軟件設(shè)置,運(yùn)算簡(jiǎn)單,實(shí)時(shí)性好,測(cè)量精度高。
1 測(cè)量方法
常用的測(cè)頻方法主要有直接測(cè)頻法、直接測(cè)周法以及多周期測(cè)量法。直接測(cè)頻法雖在高頻段的精度較高,但在低頻段的精度較低,直接測(cè)周法則恰恰相反。多周期測(cè)量法是將被測(cè)信號(hào)和標(biāo)準(zhǔn)信號(hào)分別輸入到兩個(gè)計(jì)數(shù)器,其實(shí)際閘門時(shí)間不是固定值,而是被測(cè)信號(hào)周期的整數(shù)倍,因此消除了對(duì)被測(cè)信號(hào)計(jì)數(shù)時(shí)產(chǎn)生的±1 Hz的計(jì)數(shù)誤差,其精度僅與閘門時(shí)間和標(biāo)準(zhǔn)頻率有關(guān)。因此本設(shè)計(jì)采用多周期測(cè)量法作為具體的實(shí)施方案。
2 系統(tǒng)的設(shè)計(jì)
2.1 系統(tǒng)的硬件設(shè)計(jì)
硬件系統(tǒng)總體框圖如圖1所示。被測(cè)信號(hào)首先經(jīng)過限幅放大、直流偏置、整形電路,變換為0~3.3 V的方波信號(hào),然后再進(jìn)入DSP,利用其定時(shí)器和捕獲單元實(shí)現(xiàn)頻率的測(cè)量。測(cè)量完成后,一方面可由鍵盤設(shè)置相關(guān)參數(shù)通過LCD顯示測(cè)量結(jié)果,另一方面可通過RS一232傳送給PC機(jī)顯示測(cè)量結(jié)果。另外,為了提高系統(tǒng)的可靠性,增加了一個(gè)自我校準(zhǔn)電路,即在測(cè)量之前,可通過軟件設(shè)置產(chǎn)生1 MHz的標(biāo)準(zhǔn)脈沖信號(hào),送到信號(hào)調(diào)理模塊的輸入端,檢測(cè)測(cè)量結(jié)果是否正確,從而達(dá)到自我校準(zhǔn)的目的。
本設(shè)計(jì)選用美國(guó)德州儀器公司(TI)的TMS320F2812 DSP作為核心處理單元。F2812是TI公司近幾年推出的高速、高精度的工業(yè)控制DSP芯片。它運(yùn)算速度快,工作時(shí)鐘頻率達(dá)150 MHz,指令周期可以達(dá)到6.67 ns以內(nèi),低功耗(核心電壓1.8 V,I/O口電壓3.3 V)。它采用哈佛總線結(jié)構(gòu),具有強(qiáng)大的操作能力;外圍設(shè)備包括3個(gè)32位的CPU定時(shí)器,16通道的12位A/D轉(zhuǎn)換器,串行外圍接口(SPI),2個(gè)串行通信接口(SCI)等。其片內(nèi)外設(shè)時(shí)間管理器含有2個(gè)模塊(EVA和EVB),每個(gè)模塊都包括2個(gè)通用定時(shí)器,3個(gè)全比較/PWM單元,3個(gè)捕獲單元和 1個(gè)正交編碼脈沖電路。本設(shè)計(jì)主要利用EVA中的2個(gè)通用定時(shí)器(T1和T2),2個(gè)捕獲單元(CAPl和CAP3),EVB中的1個(gè)通用定時(shí)器 (T3)。具體測(cè)量原理如圖2所示。
首先設(shè)定T3比較值(預(yù)置閘門時(shí)間為0.012 8 s),設(shè)定T1的比較值為1,使能CAPl。然后使能T1,當(dāng)其接收到一個(gè)整周期的被測(cè)信號(hào)時(shí)即可產(chǎn)生比較輸出,同時(shí)產(chǎn)生比較中斷,讀取CAPl的棧值 (即T2的初值t2_1),清T1、T2上溢次數(shù),使能CAP3和T3。最后當(dāng)T3定時(shí)結(jié)束,借助于D觸發(fā)器在被測(cè)信號(hào)的下一個(gè)上升沿到來時(shí),切斷T1的比較輸出,同時(shí)PDPINTA將被置位,然后記錄T1和T2的上溢次數(shù)tlofcount、t2ofcount,讀取CAPl的棧值(即T2的末值 t2_2)和CAP3的棧值(即T1的末值tl_2)。由所得數(shù)據(jù)計(jì)算頻率,禁止T1、T2、CAPl和CAP3。頻率計(jì)算公式為:
注意:CAPl的捕獲時(shí)基為T2,CAP3的捕獲時(shí)基為T1,標(biāo)準(zhǔn)頻率信號(hào)為150 MHz時(shí)鐘頻率的8分頻。
2.2 系統(tǒng)的軟件設(shè)計(jì)
主監(jiān)控程序是整個(gè)軟件系統(tǒng)的總調(diào)度程序,它控制著程序的有序運(yùn)行。系統(tǒng)在上電或復(fù)位后,主程序先調(diào)用各模塊的初始化子程序,主要包括GPIO初始化、PIE初始化、EV初始化和SCI初始化。系統(tǒng)初始化完成之后,主程序啟動(dòng)CPU_Timer0,使能 T1、T2的上溢中斷,啟動(dòng)CAPl,設(shè)置T1的比較值為1,等待T1CINT置位,開始測(cè)量頻率。為減小測(cè)量過程中產(chǎn)生的隨機(jī)誤差,所測(cè)結(jié)果均取平均值。利用CPU_Timer0產(chǎn)生一定的時(shí)間段(O.6s)。該時(shí)段結(jié)束后(CPU_TimerO中斷標(biāo)志位置位),即對(duì)該段時(shí)間段內(nèi)記錄的測(cè)量結(jié)果求均值。此時(shí),如果查詢到上位機(jī)發(fā)出接收請(qǐng)求,則傳送相應(yīng)數(shù)據(jù)至PC顯示。然,后,重新初始化定時(shí)器和捕獲單元,進(jìn)入下一輪測(cè)量。主監(jiān)控程序流程如圖3所示。
測(cè)頻的部分源代碼如下:
3 誤差分析及測(cè)試結(jié)果
3.1 量化誤差
設(shè)被測(cè)信號(hào)的頻率為Fx,其真實(shí)值為Fxe,標(biāo)準(zhǔn)頻率為Fs,在一次測(cè)量中,預(yù)置閘門時(shí)間為T′,Tpr為實(shí)際閘門時(shí)間,被測(cè)信號(hào)計(jì)數(shù)值為Nx,標(biāo)準(zhǔn)頻率信號(hào)計(jì)數(shù)值為Ns。
Fx計(jì)數(shù)的起停時(shí)間是由該信號(hào)的上升沿觸發(fā)的,在T′時(shí)間內(nèi)對(duì)Fx的計(jì)數(shù)Nx無誤差,對(duì)Fs的計(jì)數(shù)Ns假設(shè)相差N個(gè)脈沖,即|△et|≤n。
由于Fx/Nx=Fs/Ns,F(xiàn)xe/Nx=Fs/(Ns+△et),根據(jù)相對(duì)誤差公式有:
因此可以得到以下結(jié)論:
?、傧鄬?duì)測(cè)量誤差與被測(cè)信號(hào)的頻率無關(guān)。
?、谠龃骉′或者提高Fs,可以增大Ns,減少測(cè)量誤差,提高測(cè)量精度。本設(shè)計(jì)方案中,預(yù)置閘門時(shí)間限定了最低的測(cè)量精度。
?、壅`差分析中的n,主要由硬件切斷T1PWM所需要的時(shí)間決定,為一個(gè)小整型常數(shù)。若預(yù)置閘門時(shí)間Tpr=O.012 8 s,則
即使n取不為l的小整型常數(shù),仍可以使得精度維持在十萬分之一以內(nèi),并且可以隨著預(yù)置閘門時(shí)間的適當(dāng)延長(zhǎng),得到進(jìn)一步的提高。
3.2 測(cè)量的原理誤差和標(biāo)準(zhǔn)頻率誤差
本測(cè)量原理類似多周期同步測(cè)量原理,主要的原理誤差來自測(cè)量即將結(jié)束時(shí),由D觸發(fā)器產(chǎn)生低電平跳變來切斷T1PWM,從而使其產(chǎn)生由CAPl和CAP3同時(shí)捕獲上升沿的跳變。這段時(shí)間主要是由D觸發(fā)器的反應(yīng)時(shí)間決定。在測(cè)量過程中,針對(duì)這部分誤差,可以通過適當(dāng)增加預(yù)置閘門的時(shí)間來克服,同時(shí)考慮到DSP 內(nèi)部高速的時(shí)鐘頻率,這并不會(huì)明顯地增加測(cè)量耗時(shí),但卻達(dá)到了弱化此誤差的影響、增加測(cè)量精度的目的。
標(biāo)準(zhǔn)頻率誤差為△Fs/Fs。因?yàn)榫w的穩(wěn)定度很高,標(biāo)準(zhǔn)頻率誤差可以進(jìn)行校準(zhǔn),并且已將DSP內(nèi)部的高速時(shí)鐘頻率進(jìn)行了適當(dāng)?shù)姆诸l,所以相對(duì)于量化誤差,校準(zhǔn)后的標(biāo)準(zhǔn)頻率誤差可以忽略不計(jì)。
3.3 測(cè)試結(jié)果
用函數(shù)信號(hào)發(fā)生器(型號(hào)為Tektronix AFG3010;精度為O.000 1%)產(chǎn)生方波信號(hào),用設(shè)計(jì)的頻率計(jì)測(cè)出頻率,求出誤差。本測(cè)頻系統(tǒng)的測(cè)量精度可達(dá)到O.01%。根據(jù)誤差分析可知,系統(tǒng)的最大誤差發(fā)生在預(yù)置閘門時(shí)間正好填充了整數(shù)個(gè)被測(cè)信號(hào)時(shí),即頻率為78.125 Hz或者其整數(shù)倍時(shí),所以選擇這些點(diǎn)進(jìn)行測(cè)試。實(shí)際的測(cè)試數(shù)據(jù)如表1所列。
4 結(jié)論
本文著重分析了數(shù)字頻率計(jì)的設(shè)計(jì)方案、硬件組成,以及采用Modbus協(xié)議實(shí)現(xiàn)上位機(jī)與下位機(jī)通信的軟件設(shè)計(jì)。特點(diǎn)有:
①在頻率測(cè)量原理方面,由于采用了多周期測(cè)量原理,消除了對(duì)被測(cè)信號(hào)計(jì)數(shù)時(shí)產(chǎn)生的±1個(gè)計(jì)數(shù)誤差,其精度僅與閘門時(shí)間和標(biāo)準(zhǔn)頻率有關(guān),克服了傳統(tǒng)的測(cè)頻法或測(cè)周法的不足,實(shí)現(xiàn)了寬量程、高精度的頻率測(cè)量。同時(shí)由于預(yù)置閘門時(shí)間的存在,保證了當(dāng)被測(cè)頻率在各頻段之間來回切換時(shí),系統(tǒng)反應(yīng)靈敏,跟隨性能好。
?、谠谙到y(tǒng)的總體設(shè)計(jì)方面,充分利用了F2812 DSP的內(nèi)部資源,即使用事件管理器中的定時(shí)器、捕獲單元完成頻率的測(cè)量;使用PWM的輸出實(shí)現(xiàn)自檢電路的設(shè)計(jì);使用串口通信模塊完成上位機(jī)和下位機(jī)的通信。在測(cè)量結(jié)果的顯示方面利用RS232,通信協(xié)議采用Modbus協(xié)議,實(shí)現(xiàn)下位機(jī)和上位機(jī)的通信,將測(cè)量結(jié)果在上位機(jī)中顯示出來。
本文只探討了如何對(duì)單路信號(hào)進(jìn)行頻率測(cè)量,而對(duì)于多路信號(hào),可先使其經(jīng)過一個(gè)與門,通過軟件判斷哪一路信號(hào),然后再運(yùn)用本設(shè)計(jì)方法進(jìn)行測(cè)量。針對(duì)這種情況所產(chǎn)生的誤差問題還需作進(jìn)一步的探討,本文只給出初步的探索。
參考文獻(xiàn)
1. 周文水 相位寬帶測(cè)頻原理的研究與實(shí)現(xiàn) [學(xué)位論文]
2. 徐科軍.李國(guó)麗 電氣測(cè)試基礎(chǔ) 2002
3. 張志文.田英峰 基于 DSP的高精度頻率測(cè)量系統(tǒng)的研究 [期刊論文] -西安工業(yè)大學(xué)學(xué)報(bào)2007(2)
4. Texas Instruments Incorporated TMS320F28x DSP Family User's Guide
5. 梁文海 用單片機(jī)實(shí)現(xiàn)雙計(jì)數(shù)器多周期同步法頻率測(cè)量 [期刊論文] -現(xiàn)代電子技術(shù)2007(7)
6. 鄭杰.陶維青 基于 TMS320F2812事件管理器的一種測(cè)頻方法 [期刊論文] -微計(jì)算機(jī)信息2006(5)
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。