一種高性?xún)r(jià)比等精度數字頻率計方案設計
以下是采用VerilogHDL硬件描述語(yǔ)言設計的CPLD內部電路源碼:


3.3程序設計
整個(gè)測量過(guò)程由MCU控制完成,然后計算并把結果送LCD顯示。測量開(kāi)始,MCU首先發(fā)出清零CLR信號,對外部CPLD電路復位和計數器清零,還要將定時(shí)器軟計數器清零,之后發(fā)出啟動(dòng)信號GATE=1,測量開(kāi)始。MCU通過(guò)查詢(xún)軟計數器(定時(shí)中斷加1),控制閘門(mén)時(shí)間大致在1 s左右,時(shí)間到,MCU立即發(fā)出停止信號GATE=0,隨后查詢(xún)引腳INT0,確認計數停止。之后,分別讀回外部計數和內部計數器計數結果,MCU根據等精度原理算出信號頻率,將結果送LCD顯示。程序主流程和定時(shí)中斷流程如圖8所示。

4測試結果
筆者在實(shí)驗室使用RIGOL-DG1015DDS信號發(fā)生器校準。通過(guò)修正單片機時(shí)鐘偏差,22.118 4 MHz的12分頻為1.843 2 MHz,對1 843 200 Hz修正86.95 Hz后帶入程序計算,整數頻點(diǎn)測量結果可以達到和信號發(fā)生器完全一致,接近零誤差。特針對一些非整數頻點(diǎn)進(jìn)行測量,結果如表1所列,誤差達到10-7數量級,與理論值一致。

由于系統采用的是單片機機器時(shí)鐘作為基準信號時(shí)鐘,基準信號頻率較低,使得測量精度不高;如果采用外部更高頻基準信號做時(shí)鐘信號,精度還可進(jìn)一步提高。
結語(yǔ)
將等精度頻率測量原理巧妙地用MCU+CPLD實(shí)現,設計了一種低成本、高性?xún)r(jià)比的頻率計方案。MCU選擇STC89C52RC,CPLD選擇Atmel公司的ATF1504AS,實(shí)現了寬范圍高精度的頻率測量。該方案具有結構簡(jiǎn)單,成本低等優(yōu)點(diǎn),具有廣闊的市場(chǎng)前景。
評論