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

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

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

4 結論
本文著重分析了數字頻率計的設計方案、硬件組成,以及采用Modbus協議實現上位機與下位機通信的軟件設計。特點有:
①在頻率測量原理方面,由于采用了多周期測量原理,消除了對被測信號計數時產生的±1個計數誤差,其精度僅與閘門時間和標準頻率有關,克服了傳統的測頻法或測周法的不足,實現了寬量程、高精度的頻率測量。同時由于預置閘門時間的存在,保證了當被測頻率在各頻段之間來回切換時,系統反應靈敏,跟隨性能好。
②在系統的總體設計方面,充分利用了F2812 DSP的內部資源,即使用事件管理器中的定時器、捕獲單元完成頻率的測量;使用PWM的輸出實現自檢電路的設計;使用串口通信模塊完成上位機和下位機的通信。在測量結果的顯示方面利用RS232,通信協議采用Modbus協議,實現下位機和上位機的通信,將測量結果在上位機中顯示出來。
主站蜘蛛池模板:
历史|
贺兰县|
西城区|
太谷县|
垣曲县|
阳江市|
永济市|
平湖市|
监利县|
雅江县|
武安市|
溧水县|
邵阳市|
内乡县|
黑水县|
类乌齐县|
信丰县|
濉溪县|
克山县|
普陀区|
西城区|
隆安县|
木兰县|
新绛县|
苍溪县|
建德市|
原阳县|
天水市|
绥宁县|
赤峰市|
荆门市|
扎囊县|
乌拉特后旗|
靖宇县|
海丰县|
观塘区|
依兰县|
哈尔滨市|
安仁县|
巩义市|
达州市|
本文只探討了如何對單路信號進行頻率測量,而對于多路信號,可先使其經過一個與門,通過軟件判斷哪一路信號,然后再運用本設計方法進行測量。針對這種情況所產生的誤差問題還需作進一步的探討,本文只給出初步的探索。
評論