前记


师夷长技以自强

1.基本概念

DDS:Direct Digital Sythesizer数字合成器,与ROM配合,可以通过频率控制字和相位控制字来输出频率和相位不同的正弦波。DDS结构简单,易于编写,常用于信号发生器中。

DDS的结构框图:

其中的N取32位,M取12位,也就是说模型数据表ROM中保存了4093个正弦波数据。

2.模块设计

信号 说明
Clk 时钟
Rst_n 复位
Fword[31:0] 频率控制字
Pword[11:0] 相位控制字
Rom_Addr[11:0] ROM地址

3.编码

module DDS(
    Clk,
    Rst_n,
    Fword,
    Pword,
    Rom_Addr
);
    input Clk;
    input Rst_n;
    input [31:0]Fword;
    input [11:0]Pword;
    output [11:0]Rom_Addr;
    
    reg [31:0]Fword_r;
    always@(posedge Clk,negedge Rst_n)
    if(!Rst_n)
        Fword_r <= 32'd0;
    else
        Fword_r <= Fword;
        
    reg [31:0]Acc;
    always@(posedge Clk,negedge Rst_n)
    if(!Rst_n)
        Acc <= 32'd0;
    else
        Acc <= Acc + Fword_r;
        
    assign Rom_Addr = Acc[31:20] + Pword;
endmodule

module top(
    Clk,
    Rst_n,
    Fword,
    Pword,
    q
);
    input Clk;
    input Rst_n;
    input [31:0]Fword;
    input [11:0]Pword;
    output [11:0]q;
    
    wire [11:0]Rom_Addr;
    DDS DDS(
        .Clk(Clk),
        .Rst_n(Rst_n),
        .Fword(Fword),
        .Pword(Pword),
        .Rom_Addr(Rom_Addr)
    );
    rom rom(
        .address(Rom_Addr),
        .clock(Clk),
        .q(q)
    );
endmodule

编写仿真的文件

`timescale 1ns/1ns
module DDS_tb;
    reg Clk;
    reg Rst_n;
    reg [31:0]Fword;
    reg [11:0]Pword;
    wire [11:0]q;
    top top(
        .Clk(Clk),
        .Rst_n(Rst_n),
        .Fword(Fword),
        .Pword(Pword),
        .q(q)
    );
    
    initial Clk = 0;
    always #10 Clk = ~Clk;
    
    initial begin
        Rst_n = 0;
        #20;
        Rst_n = 1;
        Fword = 32'd2097152;
        Pword = 0;
        #100000;
        $stop;
    end
endmodule

4.仿真结果

1.

Fword = 32'd1048576;
Pword = 0;

2.

Fword = 32'd1048576;
        Pword = 12'd1048;

3.

Fword = 32'd2097152;
        Pword = 12'd1048;

8.EP4CE10F17的DDS相关推荐

  1. 物联网协议对比(HTTP、websocket、XMPP、COAP、MQTT和DDS协议)

    目录 1.HTTP和websocket 2.XMPP 3.COAP 4.MQTT协议 5.DDS 对于物联网,最重要的是在互联网中设备与设备的通讯,现在物联网在internet通信中比较常见的通讯协议 ...

  2. ps修改dds贴图_「干货」喜爱3D游戏动漫建模的你,必备的次世代游戏贴图技巧...

    一.使你的图片可重复贴图 这是什么意思呢?大部分的回答是:如果图片重复贴图时两个图片间没有接缝.听起来是对的.但可重复贴图同时也意味着你不需要在你的纹理中出现任何引人注意的污点.在早期的三维游戏中这不 ...

  3. 华为 mysql实例监控,华为云文档数据库服务DDS监控告警全新优化

    "哎哎,小刘,那个很多客服反馈这个业务挂了怎么回事,赶紧看看." 正在安安静静写代码的你突然心头一颤,出问题了?于是赶紧打开业务链接,一看,果真出问题了.这可怎么办?怎么查问题呢? ...

  4. FPGA 实验六 计数器、 ROM和DDS

    实验要求 • 拨动开关,观察不同频率的正弦波 – 电路的工作时钟是50MHz – 请回答,你能得到的正弦波频率和计数器增量值的对应关系是什么? – 请回答,你能得到的最低频率的正弦波是多少?设该频率为 ...

  5. AD9910高速集成DDS芯片(芯片阅读笔记-串行模式篇-22个寄存器SPI通信周期控制)

    文章目录 引言 串行编程 利用官方软件得到寄存器值 福利连接 引言 本文为AD9910的芯片阅读笔记,本文并不是对芯片手册的纯粹照搬,所以建议结合芯片手册阅读.通过对AD9910芯片手册的理解,然后再 ...

  6. 基础篇-verilog-FPGA实现频率相位调制DDS信号

    //此模块实现频率.相位可调的DDS信号输出 //Fword越大,越快的的让高位的address+1,Fword取0,那么则需要很长很长的时间address才会+1 //所以Fword相当于步进,步进 ...

  7. 【DDS】基于FPGA的DDS研究与设计

    1.软件版本 ISE14.7 2.本算法理论知识 DDS(Direct Digital frequency Synthesis)即直接数字频率合成器,是一种新型的频率合成技术,具有较高的频率分辨率,快 ...

  8. 【自动驾驶】8. MDC通信架构 + DDS + SOME/IP

    对于AP框架,感知融合模块中,由于PreFusion通信数据量大,所以采用带宽较大的DDS(Data Distribution Service)通信协议,其余节点传入数据量较小,采用SOME/IP(S ...

  9. 【自动驾驶】7. MDC常用术语、DDS、SOME/IP

    常用术语: MDC: Mobile Data Center:移动数据中心 AP: AUTOSAR Adaptive Platform; 自适应AUTOSAR平台 APP: Appliction; 提供 ...

最新文章

  1. 可逆加密算法 php,php可逆加密的方法及原理
  2. 不得自行对涉密计算机进行格式化,保密资格认证-涉密人员考试试题
  3. s5pv210 uboot-2012-10移植(七) 之支持SD卡
  4. 获取当前ip_教程丨WIN10系统下设置固定IP或动态IP
  5. 数据--第35课 - 创建二叉树
  6. 2018. 2.4 Java中集合嵌套集合的练习
  7. luogu1005矩阵取数游戏题解--区间DP
  8. opensuse leap 42.3安装网易云音乐
  9. 官方示例之地球模块五:ThingLayer
  10. pdf用什么软件打开编辑最简单
  11. Mac安装虚拟机详细步骤
  12. 计算机能安装几个硬盘,一台电脑最多能接多少个硬盘?
  13. Android-AQS
  14. pytorch的paramter
  15. 网络支付结算{网银、第三方支付、超级网银}
  16. 软件工程----第一遍机房文档之串思路
  17. 破壳问答 | 收集问题
  18. Allegro 灵巧手 -硅步机器人
  19. 22/02/17学习笔记
  20. 输出给定集合的所有真子集的三种方法之比较

热门文章

  1. 商业计划书暗藏“陷阱”快去烧了它吧
  2. 一个java程序员的非全日制软工硕士之路
  3. java学习笔记-HTML01
  4. 魔百盒UNT401A、UNT403A、UNT413A_S905L3A/B_开启ROOT_红外蓝牙语音_通刷线刷固件包
  5. 二叉树的顺序存储结构------(C语言实现)
  6. 立创EDA学习1-创建工程(初级)
  7. Alembic生成数据库迁移脚本
  8. php x7f,这个正则中的x7f-xff是什么意思
  9. 游戏特效有哪些制作的分类
  10. Linuxmint13 / Ubuntu12.04 x86-64位 系统使用 WINE/winetricks 安装32位 IE7 + CAJViewer7 阅读器