基于FPGA的多功能頻率計(jì)的設(shè)計(jì)
計(jì)數(shù)器控制模塊:門(mén)控信號(hào)啟動(dòng)(上升沿)后,在被測(cè)信號(hào)的上升沿啟動(dòng)計(jì)數(shù)允許模塊,允許計(jì)數(shù)器計(jì)數(shù);門(mén)控信號(hào)關(guān)閉(下降沿)后,在被測(cè)信號(hào)的下一個(gè)上升沿關(guān)閉計(jì)數(shù)允許模塊,停止計(jì)數(shù),從而保證了門(mén)控信號(hào)是被測(cè)信號(hào)的整數(shù)倍,達(dá)到了等精度的目的。
計(jì)數(shù)器模塊:在設(shè)計(jì)計(jì)數(shù)器的過(guò)程中需要注意計(jì)數(shù)器的寬度設(shè)置,系統(tǒng)中采用的最大門(mén)控時(shí)間為10 s,標(biāo)準(zhǔn)信號(hào)源的頻率為50 MHz,則在計(jì)數(shù)的允許時(shí)間內(nèi)計(jì)數(shù)的最大值為:10 50 000 000=500 000 000229=536 870 912,為了方便數(shù)據(jù)傳輸,系統(tǒng)中采用了32位位寬的計(jì)數(shù),如圖7所示,仿真波形如圖8所示。
鎖存器模塊:在門(mén)控信號(hào)關(guān)閉的同時(shí),停止計(jì)數(shù),同時(shí)啟動(dòng)鎖存模塊,把測(cè)量的數(shù)據(jù)鎖存起來(lái),以便傳輸。
中斷輸出:鎖存數(shù)據(jù)的同時(shí),給單片機(jī)一個(gè)低電平的中斷信號(hào),通知單片機(jī)讀取數(shù)據(jù)。該模塊用于鎖存計(jì)數(shù)器輸出計(jì)數(shù)值,供51IP軟核讀取,進(jìn)行處理顯示。計(jì)數(shù)器模塊在門(mén)控信號(hào)關(guān)閉(下降沿)的同時(shí),停止計(jì)數(shù),同時(shí)啟動(dòng)鎖存模塊,把測(cè)量的數(shù)據(jù)鎖存起來(lái),以便傳輸,鎖存電路如圖9所示。
數(shù)據(jù)選擇輸出:系統(tǒng)中采用了2個(gè)32位的計(jì)數(shù)器,由于單片機(jī)采用的是51系列單片機(jī),只有8位的數(shù)據(jù)總線,所以一次通信只能傳輸8位數(shù)據(jù),所以設(shè)計(jì)了一個(gè)數(shù)據(jù)輸出控制模塊。
頂層模塊:實(shí)例化所有的底層模塊。FPGA部分的整體結(jié)構(gòu)圖如圖10所示。
4 MC8051 IP Core軟件設(shè)計(jì)流程
系統(tǒng)軟件設(shè)計(jì)流程如圖11所示。
中斷服務(wù)子程序如圖12所示。
5 結(jié)論
文中采用Altera的cyclone II系列的EP2C8Q208C8這款FPGA芯片。設(shè)計(jì)中使用了Verilog語(yǔ)言對(duì)各個(gè)模塊的描述設(shè)計(jì)。文中提出的數(shù)字頻率計(jì)設(shè)計(jì)方案采用等精度的測(cè)量算法,以先進(jìn)的FPGA可編程邏輯器件作為核心控制及運(yùn)算電路單元可達(dá)到很高的測(cè)量精度要求,8051IPCore嵌入到FPGA芯片系統(tǒng),與測(cè)頻模塊共用同一個(gè)FPGA芯片,和傳統(tǒng)的頻率計(jì)相比大大減小了電路板的尺寸,同時(shí)增加了系統(tǒng)的可靠性、設(shè)計(jì)靈活性和可更改性。實(shí)現(xiàn)了數(shù)字系統(tǒng)的軟件化。加入LCD液晶顯示,使測(cè)量效果更加直觀。
評(píng)論