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