新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的信號發生器設計

        基于FPGA的信號發生器設計

        作者: 時間:2011-09-28 來源:網絡 收藏

        芯片為載體, 通過QuartusII 的LPM_ROM 模塊和VHDL 語言為核心一個多功能,根據輸入信號的選擇可以輸出遞增鋸齒波、遞減鋸齒波、三角波、階梯波和方波等5 種信號,通過QuartusII 軟件進行波形仿真、定時分析,仿真正確后,利用實驗板提供的資源,下載到芯片中實現預定功能。

        本文引用地址:http://www.104case.com/article/150153.htm

          又稱為波形發生器, 是一種常用的信號源,廣泛應用于電子電路、通信、控制和教學實驗等領域。它是科研及工程實踐中最重要的儀器之一, 以往多用硬件組成,系統結構比較復雜,可維護性和可操作性不佳。隨著計算機技術的發展,制作越來越多的是用計算機技術,種類繁多,價格、性能差異很大。用 或CPLD 來實現,它的優點是可以進行功能仿真,而且 和CPLD 的片內資源豐富,的流程簡單。用FPGA 所構成的系統來產生波形信號,這個系統既能和主機系統相連,用相應的上層軟件展示波形信號, 又方便程序的編寫, 而且還有A/D0809接口可以產生模擬信號的輸出和外面的示波器相連。

          1 正弦信號發生器的LPM 定制

          正弦信號發生器由計數器或地址發生器(6 位)、正弦信號數據ROM (6 位地址線,8 位數據線, 含有64 個8 位數據, 一個周期)、原理圖頂層設計和8 位D/A ( 實驗中用DAC0832 代替)。

          其框圖如圖1 所示。其中信號產生模塊將產生所需的各種信號,這些信號的產生可以有多種方式,如用計數器直接產生信號輸出,或者用計數器產生存儲器的地址,在存儲器中存放信號輸出的數據。信號發生器的控制模塊可以用數據選擇器實現, 用8 選1 數據選擇器實現對5 種信號的選擇。

        圖1 信號發生器結構框圖

          最后將波形數據送入D/A 轉換器,將數字信號轉換為模擬信號輸出。用示波器測試D/A 轉換器的輸出,可以觀測到5 種信號的輸出。

          1.1 定制初始化數據文件

          QuartusII 能接受的LPM_ROM 模塊中的初始化數據文件的格式有兩種:。mif 格式文件和。hex 格式文件。實際應用中只要使用其中一種格式的文件即可。下面采用。mif 格式文件,調出產生ROM 數據文件大小的選擇窗。根據64 點8 位正弦數據的情況,可選ROM 的數據數Number 為64,數據寬Word size 取8 位。單擊OK 按鈕,將出現圖2 所示的空的。mif數據表格,表格中的數據格式可通過鼠標右鍵單擊窗口邊緣的地址數據彈出的窗口選擇。

        圖2 .mif 數據表格

          將波形數據填入mif 文件表中也可以使用QuartusII 以外的編輯器設計MIF 文件,其格式如下:

          #include STdio.h>

          #include math.h

          main()

          {int i;float s;

          for (i=0;i1024; i++)

          { s = sin(atan(1)*8*i/1024);

          printf(%d : %d;n,i,(int)((s+1)*1023/2)); }}

          把上述程序編譯成程序后, 可在DOS 命令行下執行命令:

          romgen > sin_ rom. mif;


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 孟州市| 潢川县| 凤庆县| 大丰市| 岑巩县| 中山市| 辽宁省| 永宁县| 武宣县| 西乌| 平顶山市| 比如县| 乾安县| 微山县| 枣阳市| 辰溪县| 宁南县| 石渠县| 昌黎县| 广灵县| 西乌珠穆沁旗| 凉山| 永胜县| 九龙坡区| 错那县| 富源县| 隆昌县| 河南省| 左权县| 虎林市| 乌兰县| 南昌市| 怀柔区| 加查县| 东宁县| 将乐县| 金沙县| 故城县| 阿拉善左旗| 那曲县| 湖北省|