一種高性價比等精度數(shù)字頻率計方案設(shè)計
以下是采用VerilogHDL硬件描述語言設(shè)計的CPLD內(nèi)部電路源碼:
3.3程序設(shè)計
整個測量過程由MCU控制完成,然后計算并把結(jié)果送LCD顯示。測量開始,MCU首先發(fā)出清零CLR信號,對外部CPLD電路復(fù)位和計數(shù)器清零,還要將定時器軟計數(shù)器清零,之后發(fā)出啟動信號GATE=1,測量開始。MCU通過查詢軟計數(shù)器(定時中斷加1),控制閘門時間大致在1 s左右,時間到,MCU立即發(fā)出停止信號GATE=0,隨后查詢引腳INT0,確認計數(shù)停止。之后,分別讀回外部計數(shù)和內(nèi)部計數(shù)器計數(shù)結(jié)果,MCU根據(jù)等精度原理算出信號頻率,將結(jié)果送LCD顯示。程序主流程和定時中斷流程如圖8所示。
4測試結(jié)果
筆者在實驗室使用RIGOL-DG1015DDS信號發(fā)生器校準。通過修正單片機時鐘偏差,22.118 4 MHz的12分頻為1.843 2 MHz,對1 843 200 Hz修正86.95 Hz后帶入程序計算,整數(shù)頻點測量結(jié)果可以達到和信號發(fā)生器完全一致,接近零誤差。特針對一些非整數(shù)頻點進行測量,結(jié)果如表1所列,誤差達到10-7數(shù)量級,與理論值一致。
由于系統(tǒng)采用的是單片機機器時鐘作為基準信號時鐘,基準信號頻率較低,使得測量精度不高;如果采用外部更高頻基準信號做時鐘信號,精度還可進一步提高。
結(jié)語
將等精度頻率測量原理巧妙地用MCU+CPLD實現(xiàn),設(shè)計了一種低成本、高性價比的頻率計方案。MCU選擇STC89C52RC,CPLD選擇Atmel公司的ATF1504AS,實現(xiàn)了寬范圍高精度的頻率測量。該方案具有結(jié)構(gòu)簡單,成本低等優(yōu)點,具有廣闊的市場前景。
評論