dds模块原理图,【小梅哥FPGA进阶教程】第十一章 四通道幅频相可调DDS信号发生器

十一、四通道幅频相可调DDS信号发生器

 

本文由山东大学研友袁卓贡献,特此感谢

实验目标

实现多通道可调信号发生器

实验平台

芯航线FPGA核心板、ADDA模块

图片1

图片2

实验现象

实现基于FPGA的多通道可调信号发生器,其中频率、相位以及幅值均可通过PC端串口发送数据对应调节,并可实现4路信号的同步。

实验原理及设计过程

经过前面小梅哥基础课程的学习,相信已经对FPGA的设计有了一定程度的了解,现在提出一个相对综合的工程应用来深入了解FPGA的设计思路以及工程思想等。

针对以上预期实验现象可以分析出最少需要DDS模块、TLC5620控制模块、串口接收模块以及控制模块。

DDS原理与实现

DDS(Direct Digital Synthesizer)即数字合成器,是一种新型的频率合成技术,具有相对带宽大,频率转换时间短、分辨率高和相位连续性好等优点。较容易实现频率、相位以及幅度的数控调制,广泛应用于通信领域。

DDS 的基本结构图如图1所示。

图片3

图1 DDS基本结构图

由图1可以看出,DDS主要由相位累加器、相位调制器、波形数据表以及 D/A 转换器构成。

其中相位累加器由 N位加法器与N位寄存器构成。每来一个时钟,加法器就将频率控制字与累加寄存器输出的相位数据相加,相加的结果又反馈至累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。即在每一个时钟脉冲输入时,相位累加器便把频率控制字累加一次。

相位累加器输出的数据就是合成信号的相位。相位累加器的溢出频率,就是 DDS输出的信号频率。用相位累加器输出的数据,作为波形存储器的相位采样地址,这样就可以把存储在波形存储器里的波形采样值经查表找出,完成相位到幅度的转换。波形存储器的输出送到 D/A 转换器,由 D/A 转换器将数字信号转换成模拟信号输出。

DDS信号流程示意图如图2所示。

图片4

图2 DDS原理流程图

这里相位累加器位数为N位(N的取值范围实际应用中一般为24~32),相当于把正弦信号在相位上的精度定义为N位,所以其分辨率为图片4-1

若DDS的时钟频率为图片5,频率控制字fword为 1,则输出频率为图片6,这个频率相当于“基频”。若fword为 B,则输出频率为图片7

因此理论上由以上三个参数就可以得出任意的图片6-1输出频率。且可得出频率分辨率由时钟频率和累加器的位数决定。当参考时钟频率越高,累加器位数越高,输出频率分辨率就越高。

从上式分析可得,当系统输入时钟频率图片7-1不变时,输出信号频率由频率控制字M所决定,由上式可得:图片8。其中B为频率字且只能取整数。为了合理控制ROM的容量此处选取ROM查询的地址时,可以采用截断式,即只取32位累加器的高M位。这里相位寄存器输出的位数一般取10~16位。

在本设计中参考时钟图片8-1频率为50 MHz,相位累加器位数N取32位,频率控制字位数M 取12位。

经过以上的分析,可以得出DDS模块的端口模块图如图3所示。

图片9

图3 DDS模块接口示意图

其中,每个端口的功能描述如表1所示。

图片10

表1 DDS模块功能描述

新建DDS_Module.v保存至rtl文件夹下。从图3以及表1就得到了端口列表:

input Clk;input Rst_n;input EN;input [31:0]Fword;input [11:0]Pword;output DA_Clk;output [9:0]DA_Data;

以下只需按照图1进行编写。相位累加器此处即为一个32bit的加法器。

reg [31:0]Fre_acc;always @(posedge Clk or negedge Rst_n)if(!Rst_n)Fre_acc > Aword0;assign DATA_B = DA_Data1[9:2] >> Aword1;assign DATA_C = DA_Data2[9:2] >> Aword2;assign DATA_D = DA_Data3[9:2] >> Aword3;

根据实际使用情况将各个模块例化进来,例化后的顶层应为如图19所示。

 

图片67

图19 顶层文件RTL Viewer视图

如有更多问题,欢迎加入芯航线 FPGA 技术支持群交流学习:472607506

小梅哥

芯航线电子工作室

关于学习资料,小梅哥系列所有能够开放的资料和更新(包括视频教程,程序代码,教程文档,工具软件,开发板资料)都会发布在我的云分享。(记得订阅)链接:http://yun.baidu.com/share/home?uk=402885837&view=share#category/type=0

赠送芯航线AC6102型开发板配套资料预览版下载链接:链接:http://pan.baidu.com/s/1slW2Ojj 密码:9fn3

赠送SOPC公开课链接和FPGA进阶视频教程。链接:http://pan.baidu.com/s/1bEzaFW 密码:rsyh

dds技术的基本原理 - 电子技术 - 电子发烧友网7.6 Verilog DDS 设计 | 菜鸟教程DDS信号发生器原理(1) - 豆丁网DDS是什么,dds原理介绍 - 电子常识 - 电子发烧友网verilog实现DDS波形发生器模块,可实现频率、相位可调,三 ...测试测量-AD9850模块dds信号发生器(原理图+测试代码 ...【小梅哥FPGA进阶教程】第十一章 四通道幅频相可调DDS ...Matlab与FPGA——DDS信号发生器——Quartus ii 实现DDS ...DDS模块使用说明.doc - 迅下文库如何通俗地理解基于查找表的DDS、相位累加器、相位调制器?dds学习笔记DDS与DAMatlab与FPGA数字信号处理系列——DDS信号发生器——Quartus ii 原理图法利用 ROM 存储波形实现DDS(1)基于DDS的信号源设计基于FPGA的简易 DDS 信号发生器的设计51驱动AD9850/AD9851—DDS信号发生器opencv + DDS 视频传输verilog轻松实现高分辨率DDSDDS芯片AD9850资料【ZYNQ】从入门到秃头09 DDS IP 数字波形合成(基于ALINX 7020 && AN108)DDS的理解及IP核的使用FPGA数字信号处理(一)数字混频(NCO与DDS的使用)工业级数据分发服务DDS简介及安全特性分析FPGA学习.7——DDS信号发生器DDS】基于FPGA的DDS研究与设计直接数字频率合成器的PFGA实现[]基于DDS的信号源设计论文资料 (含全部源程序源码 总体设计电路)关键词:直接数字频率合成(DDS);...电子竞赛模块-高速DDS(AD9854)模块资料下载带有Si5351的10kHz至225MHz VFO / RF发生器版本2-电路方案基于FPGA的DDS 信号发生器(二)FPGA实验1:DDS IP 数字波形合成基于FPGA的DDS 信号发生器(三)verilog 实现DDSverilog实现DDS波形发生器模块,可实现频率、相位可调,三种波形AT89C51并行加载DDS芯片AD9850的方法【元器件篇】助力2017年电赛:2015年电子设计大赛主要元器件、模块资料汇总-电路方案FPGA学习之 直接数字频率合成器(DDS)基于FPGA的DDS参考设计CASE_05 基于FPGA的DDS信号发生器
dds模块是什么dds原理框图dds信号发生器原理图dds芯片或模块dds的原理及作用dds的基本原理dds基本结构dds框图dds工作原理图dds模块使用方法Dds模块dds功能模块dds原理框图dds原理介绍dds工作原理DDS基本原理dds电路图DDS原理图一般的酒店有摄像头吗水准仪误差怎么算小敏电视剧全集在线免费观看爱你好不好闽南语哪类出血情况现字笔顺笔画顺序眼镜王蛇蛇毒价格x50 pro 玩家版屏幕怎样打蝴蝶结好看简单冠军到什么?正宗花椒的视频