基于51單片機和CPLD的數(shù)字頻率計的設(shè)計
被測信號脈沖經(jīng)CHOICE選擇后,從控制模塊CONTROL1的FX1端輸入,基準頻率信號從FS端輸入,CLR是初始化信號。在進行頻率或周期測量時,完成如下步驟:
(1)在CLR端加正脈沖信號完成測試電路狀態(tài)的初始化。
(2)由預置門控信號將STROBE置高電平,預置門開始定時,此時由被測信號的上沿打開計數(shù)器COUNT,同時對基準頻率信號和被測信號進行計數(shù)。
(3)頂置門定時結(jié)束信號把STROBE置為低電平(由單片機來完成),在被測信號的下一個脈沖的上沿到來時,COUNT停止計數(shù)。
(4)計數(shù)結(jié)束后,ED1端輸出低電平來指示測量計數(shù)結(jié)束,單片機得到此信號后,即可利用SS0,SS1進行選擇,四次分別讀回COUNT中基準頻率信號和被測信號計數(shù)值,并根據(jù)上述測量公式進行運算,計算出被測信號的頻率或周期值。
系統(tǒng)軟件設(shè)計
本系統(tǒng)的單片機主控及其外圍電路模塊用Keil C語言編寫,軟件模塊對應于硬件電路的每一個部分,還包括部分數(shù)據(jù)計算和轉(zhuǎn)換模塊。CPLD模塊用VHDL語言編寫,并在Max+PlusⅡ平臺上,完成 CPLD的軟件設(shè)計、編譯、調(diào)試、仿真和下載。系統(tǒng)初始化后,主程序不斷掃描鍵盤子程序,當其鍵按下時,程序跳轉(zhuǎn)到相應的子程序執(zhí)行其功能,然后返回繼續(xù) 執(zhí)行鍵盤掃描主程序。其主程序流程圖如圖5所示。
圖5 系統(tǒng)主程序流程
試驗測試的結(jié)果如表1所示。
結(jié)論
本文將智能控制靈活、邏輯運算能力強的單片機和集成度高、運算速度快的CPLD相結(jié)合,突破了傳統(tǒng)電子系統(tǒng)設(shè)計的瓶頸,使設(shè)計的系統(tǒng)具有結(jié)構(gòu)緊湊、體積小,可靠性高,測頻范圍寬、精度高等優(yōu)點。它可作為獨立的儀表使用,也可用做其他儀器儀表的組成部分。
評論