0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于Xilinx中DDS IP的运用与讲解

Hx 来源:CSDN技术社区 作者:朽月 2021-04-27 16:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

项目简述

本次项目我们主要是为了讲解DDS,所以我们使用了混频这个小项目来讲解。DDS自己手写是比较简单且灵活,但是Xilinx给我们提供了相应的IP核,那么这次我们将直接讲解使用IP来产生不同频率的正弦波。这篇博客我们也首次引入了Xilinx中block design的设计方法,由于AXI4总线的出现,我们使用block design的设计概念特别简单。本次的项目主要是:利用两个DDS产生两个不同频率的正弦波,然后进行***相乘***混频,利用Modelsim进行仿真验证我们实验的正确性。本次实验所用到的软硬件环境为:

1、VIVADO 2019.1软件环境

2、Modelsim仿真环境

DDS IP的定制及讲解

100062876-125606-1.png

1、我们选择波形与相位同时存在的情况。

2、选择DDS IP输入的系统时钟频率,这里我们选择100MHz。

3、DDS通道的数目,我们这里选择一个。

4、整个IP配置的模式,我们这里选择标准模式即可。

5、参数选择的模式,我们这里选择系统参数,这个选择主要影响IP的定制界面所涉及到的参数。

6、频率的动态范围,主要和DDS内部RAM的数据位宽有关,计算方法是20log2n,其中n为RAM的位宽。

7、选择DDS的最小的频率分辨率。

100062876-125607-2.png

1、相位增量我们选择固定

2、相位偏执我们也选择成固定,这两个参数可以动态控制输出的频率。

3、我们这里产生正弦波

4、因为我们只考虑正弦波的频率,座椅这里不再输出相位信息

100062876-125608-3.png

1、输入我们需要DDS输出的频率,这里我们输入5MHz。

其余选项,我们选择默认即可。这样,我们便定制了一个完整的DDS IP核,接下来的博客我们会自己手写相应的DDS的功能,感兴趣的同学可以保持关注。

Block Design涉及

我们这边博客首次引入了block design的设计方法,但是这个设计方法特别重要,希望同学们可以好好学习。进行block design的连线图如下:

100062876-125609-4.png

然后验证设计的有效性,产生输出工程,生成相应的top文件,供我们接下来的设计使用。

测试文件代码

这里我们为了验证我们实验的正确性,给出相应的测试模块。

`timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2020/04/03 22:39:17 // Design Name: // Module Name: tb // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // // module tb; wire [15:0] P ; reg aclk ; initial begin aclk = 1‘b0; end always #5 aclk = ~aclk; system_wrapper system_wrapper_inst( .P (P ), .aclk (aclk ) ); endmodule

仿真结果

我们进行Modelsim仿真测试的结果如下:

100062876-125610-5.png

从上面的仿真波形可以验证我们实验的准确性。
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Xilinx
    +关注

    关注

    73

    文章

    2205

    浏览量

    131843
  • IP
    IP
    +关注

    关注

    5

    文章

    1882

    浏览量

    156678
  • DDS
    DDS
    +关注

    关注

    22

    文章

    688

    浏览量

    156860
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2.7 GHz DDS-Based AgileRF™ 合成器 AD9956:特性、应用与设计解析

    的 AD9956 2.7 GHz DDS-Based AgileRF™ 合成器,凭借其先进的技术和卓越的性能,在众多应用场景展现出强大的优势。本文将深入剖析 AD9956 的特性、应用及相关设计要点。 文件
    的头像 发表于 04-16 10:45 70次阅读

    Xilinx FPGA的混合模式时钟管理器MMCME2_ADV详解

    在 FPGA 的浩瀚宇宙,时钟系统不仅是驱动逻辑运转的“心脏”,更是决定系统稳定性与性能上限的“指挥棒”。对于 Xilinx 7 系列 FPGA 开发者而言,如果仅满足于使用 Clocking Wizard IP 核点点鼠标,
    的头像 发表于 04-10 11:20 180次阅读
    <b class='flag-5'>Xilinx</b> FPGA<b class='flag-5'>中</b>的混合模式时钟管理器MMCME2_ADV详解

    Xilinx FPGAIDELAYCTRL参考时钟控制模块的使用

    IDELAYCTRL 是 Xilinx FPGA(特别是支持高速 I/O 的系列,如 Virtex-5/6/7、Kintex-7、Artix-7、Spartan-6/7 等)中用于管理和校准输入延迟模块(IDELAYE2/IDELAYE3)的必须存在的参考时钟控制模块。
    的头像 发表于 02-26 14:41 4602次阅读

    如何在LabVIEW环境通过NISoftMotion驱动配置与运用NI9512

    、系统集成度和同步精度。本文将带你快速上手,重点讲解如何在LabVIEW环境,通过NI‑SoftMotion驱动配置与运用NI 9512。
    的头像 发表于 01-30 17:34 3339次阅读
    如何在LabVIEW环境<b class='flag-5'>中</b>通过NISoftMotion驱动配置与<b class='flag-5'>运用</b>NI9512

    德思特干货 | DDA技术深度解析系列(二):如何改变DDS设置?

    本期我们详细介绍如何动态调整DDS的设置,下期我们将解析相位连续性在信号合成的关键作用,并演示如何利用模式命令来控制XIO输出线,这些功能共同构成了DDS精确控制的核心机制。
    的头像 发表于 01-15 14:18 909次阅读
    德思特干货 | DDA技术深度解析系列(二):如何改变<b class='flag-5'>DDS</b>设置?

    Xilinx FPGA串行通信协议介绍

    Xilinx FPGA因其高性能和低延迟,常用于串行通信接口设计。本文深入分析了Aurora、PCI Express和Serial RapidIO这三种在Xilinx系统设计关键的串行通信协议。介绍了它们的特性、优势和应用场景
    的头像 发表于 11-14 15:02 2791次阅读
    <b class='flag-5'>Xilinx</b> FPGA串行通信协议介绍

    DDS39RF12 与 DDS39RFS12 产品技术文档总结

    DDS39RF12 和 'RFS12 是一系列双通道和单通道直接数字合成器,具有 16 位分辨率的数模转换器 (DAC)。高采样率、输出频率范围、64 位 NCO 频率分辨率和任何具有相位相干性的跳频使该器件能够进行任意波形生成 (AWG) 和直接数字合成 (DDS
    的头像 发表于 10-24 10:50 1609次阅读
    <b class='flag-5'>DDS</b>39RF12 与 <b class='flag-5'>DDS</b>39RFS12 产品技术文档总结

    基于E203的DMA ip的使用

    1.BD设计 2.AXI DMA寄存器 编写SDK代码,需要根据xilinx的官方例程和dma ip使用手册进行寄存器的配置。 重要寄存器: MM2S S2MM
    发表于 10-22 06:00

    STM32H743 移植 Micro-XRCE-DDS 时,在调用 gethostbyname() 时出现异常怎么解决?

    packagesMicro-XRCE-DDS-Client-latestsrccprofiletransportipudpudp_transport_external.c uxr_init_udp_platform() 函数调用 host = (struct hostent
    发表于 09-22 06:54

    一文详解xilinx 7系列FPGA配置技巧

    本文旨在通过讲解不同模式的原理图连接方式,进而配置用到引脚的含义(手册上相关引脚含义有四、五页,通过本文理解基本上能够记住所有引脚含义以及使用场景),熟悉xilinx 7系列配置流程,以及设计原理图时需要注意的一些事项,比如flash与FPGA的上电时序。
    的头像 发表于 08-30 14:35 1.1w次阅读
    一文详解<b class='flag-5'>xilinx</b> 7系列FPGA配置技巧

    DDS-TSN 到底是如何实现的?

    概述1.1TSN与DDS的独立优势与局限随着智能网联汽车和车载网络架构的不断迭代,车载网络对实时性、确定性和高效数据分发的需求日益严苛。TSN和DDS的结合为车载以太网提供了确定性实时通信(TSN
    的头像 发表于 08-13 10:07 6080次阅读
    <b class='flag-5'>DDS</b>-TSN 到底是如何实现的?

    FPGA利用DMA IP核实现ADC数据采集

    DMA IP核来实现高效数据传输的步骤,包括创建项目、配置ADC接口、添加和连接DMA IP核、设计控制逻辑、生成比特流、软件开发及系统集成。文章还强调了系统实现不可或缺的ip_re
    的头像 发表于 07-29 14:12 5314次阅读

    服务与数据的双螺旋:从SOME/IPDDS看汽车电子架构的进化之路

    底层通信技术的演进始终是由应用需求的不断变化所驱动的。正如“进化论”所强调的,“适者生存”才是核心:并不存在放之四海而皆准的“最优”技术,只有在特定场景下最合适的解决方案。对于SOME/IPDDS,很多人习惯于直接问“孰优孰劣”,但如果脱离具体的应用场景去讨论优劣,往往
    的头像 发表于 05-23 10:56 2037次阅读
    服务与数据的双螺旋:从SOME/<b class='flag-5'>IP</b>到<b class='flag-5'>DDS</b>看汽车电子架构的进化之路

    Xilinx Shift RAM IP概述和主要功能

    Xilinx Shift RAM IP 是 AMD Xilinx 提供的一个 LogiCORE IP 核,用于在 FPGA 实现高效的移位
    的头像 发表于 05-14 09:36 1263次阅读