一種基于FPGA的正弦波信號發生器的設計
3.2 ROM查詢表的實現
本文設計的ROM查詢表尋址范圍為256,數據為8bit。ROM查詢表如圖7所示,輸出q[7…O]需與D/A轉換器的輸入相連。ROM查詢表的輸出為8位,因此與D/A轉換芯片的分辨率相匹配。本文引用地址:http://www.104case.com/article/191487.htm
ROM查詢表的設計有很多種方法。定制ROM查詢表需要在軟件Quartus中載入.mif或.hex文件,這兩種文件可由多種工具獲得,如Quart-us的Text File編輯器、Matlab、DSP Builder、vc++編譯器、Keil編譯器等工具。本文選用Matab得到正弦波數字幅度值的.mif文件。Matl-ab程序如下:
由于此時生成的.mif文件不符合Quartus中所需載入的.mif格式,還需要對其進行修改。修改格式如下:
最后通過載入此.mif文件,就可獲得如圖7所示的ROM查詢表。
4 系統測試
硬件調試完成后,我們對系統的整體功能進行了測試,并且與Matlab的仿真結果進行了比較。用示波器觀測試驗波形如圖8所示。系統的測試結果表明,輸出波形狀態良好,未出現明顯失真。
5 結束語
本文介紹的這種基于FPGA的DDS正弦波信號發生器,具有電路結構簡單、工作頻率穩定度高、頻率調整精度高等特點。并且,此方法同樣適用于三角波、方波等其他任意波形的實現。若要產生某特定波形,只需先用地Matlab對波形曲線采樣生成相應的.mif文件,然后載入ROM查詢表中,其他硬件不變即可產生所需信號。因此,該設計也可以直接拓展到其他測試領域的電路中。
評論