基于51單片機和CPLD的數字頻率計的設計
等精度測頻原理
本系統(tǒng)采用等精度測頻的原理來測量頻率,其原理如圖2所示。
圖2 等精度測頻原理圖
圖2中的門控信號是可預置的寬度為Tpr的一個脈沖。CNT1和CNT2是兩個可控計數器。標準頻率信號從CNT1的時鐘輸入端FS輸入,其頻率為Fs;被測信號經整形后從CNT2的時鐘輸入端FIN輸入,設其實際頻率為Fxe,測量頻率為Fx。
當門控信號為高電平時,被測信號的上沿通過D觸發(fā)器的Q端同時啟動計數器CNT1和CNT2。對被測信號Fx和標準頻率信號Fs同時計數。當門控信號為 低電平時,隨后而至的被測信號的上沿將使這兩個計數器同時關閉。設在一次門控時間Tpr中對被測信號計數值為Nx,對標準頻率信號的計數值為Ns,則:
Fx/Nx=Fs/Ns(標準頻率和被測頻率的門寬時間Tpr完全相同)就可以得到被測信號的頻率值為:
Fx=(Fs/Ns)×Nx
系統(tǒng)硬件電路設計
1 系統(tǒng)總體設計
本系統(tǒng)的硬件電路包括鍵盤控制模塊、顯示模塊、輸入信號整形模塊以及單片機主控和CPLD模塊。鍵盤控制模塊設置5個功能鍵和3個時間選擇鍵,鍵值的讀入采用一片74LS165來完成,顯示模塊用8只74LS164完成LED的串行顯示。
系統(tǒng)由一片CPLD完成各種測試功能,對標準頻率和被測信號進行計數。單片機對整個測試系統(tǒng)進行控制,包括對鍵盤信號的讀入與處理;對CPLD測量過程 的控制、測量結果數據的處理;最后將測量結果送LED顯示輸出。被測信號整形電路主要對被測信號進行限幅、放大、再經施密特觸發(fā)器整形后送入CPLD。用 50MHz的有源晶振作為CPLD的測試標準頻率。單片機由外接12MHz標準晶振提供時鐘電路。系統(tǒng)組成原理如圖3所示。
圖3 系統(tǒng)原理框圖
2 CPLD邏輯模塊設計
根據等精度測頻原理,利用VHDL實現的測頻頂層電路模塊邏輯結構如圖4所示。
圖4 系統(tǒng)頂層模塊圖
該模塊由4個子模塊構成。其中CONTROL1為測頻或測周期控制模塊;CONTROL2為測脈寬和占空比控制模塊;CHOICE為自校與測量選擇模塊;COUNT為基準頻率和被測頻率計數器模塊。
評論