• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > DDS直接數字合成1 - 簡介

    DDS直接數字合成1 - 簡介

    作者: 時間:2024-01-16 來源:EEPW編譯 收藏

    讓我們看看 DSS實現是多么容易。

    本文引用地址:http://www.czjhyjcfj.com/article/202401/454847.htm

    好的,您的新板具有快速DAC(數模轉換器)模擬輸出。 下面是一個運行頻率為10MHz的100位DAC的電路板設置。

    在100MHz頻率下,每10ns向DAC提供一個新的10位值。
    DAC輸出模擬信號,對于周期性信號,奈奎斯特限值表示可以達到高達50MHz的速度。

    一個簡單的

    通常用于生成周期性信號。 現在,讓我們嘗試一些簡單的東西并生成一個方波。

    module Simple(DAC_clk, DAC_data);
    input DAC_clk;
    output [9:0] DAC_data;

    // let's create a 16 bits free-running binary counter
    reg [15:0] cnt;
    always @(posedge DAC_clk) cnt <= cnt + 16'h1;

    // and use it to generate the DAC signal output
    wire cnt_tap = cnt[7];     // we take one bit out of the counter (here bit 7 = the 8th bit)
    assign DAC_data = {10{cnt_tap}};   // and we duplicate it 10 times to create the 10-bits DAC value
                                        // with the maximum possible amplitude
    endmodule

    我們使用計數器的第 8 位來生成輸出。 當計數器時鐘頻率為100MHz時,第8位以100MHz/2^8=390KHz的頻率切換。 所以DAC輸出是一個390KHz的方波信號。

    現在,如果我們想要一個鋸齒波,讓我們用這行代碼替換代碼的最后兩行:

    assign DAC_data = cnt[9:0];

    三角形信號也不難。

    assign DAC_data = cnt[10] ? ~cnt[9:0] : cnt[9:0];

    我們創建了一個 DSS,好吧。 但是,真實世界的 DDS 將允許我們:

    • 創建任何形狀的信號。

    • 創建任何頻率信號。

    上一篇:DDS直接數字合成 (eepw.com.cn)

    下一篇:DDS直接數字合成2 - 任意信號



    關鍵詞: FPGA DDS DAC接口

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 宁南县| 福泉市| 分宜县| 罗田县| 塔城市| 云浮市| 包头市| 天峻县| 利辛县| 五台县| 华阴市| 大庆市| 江孜县| 鄢陵县| 章丘市| 乌审旗| 富蕴县| 获嘉县| 吉安市| 盐城市| 开封县| 望城县| 水富县| 三原县| 黄山市| 峨眉山市| 长宁县| 罗田县| 清丰县| 拉萨市| 河源市| 启东市| 拜城县| 公主岭市| 秦安县| 通州市| 徐州市| 射洪县| 吉安县| 寿阳县| 会东县|