基于FPGA的DDS信号发生器的设计与实现.pdfVIP

基于FPGA的DDS信号发生器的设计与实现.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基基于于FPGA的的DDS信信号号发发⽣⽣器器的的设设计计与与实实现现 ⼀、实现环境   软件:Quartus II 13.0   硬件:MP801 ⼆、DDS基本原理   DDS (Direct Digital Synthesizer)即数字 成器,是⼀种新型的频率 成技术,具有相对带宽⼤,频率转换时间短,分辨率⾼和相位 连续性好等优点。较容易实现频率、相位及幅度的数控调制,⼴泛应⽤于通信领域。DDS的实现⽰意图如下图所⽰:   1、将需要 成的信号的数据存储在rom中, 成待输出信号的⽅法请参考:   2、dds_control实现的功能是将存储在rom中的待 成的信号的数据按照⼀定的规则取出来:     dds_control主要由相位累加和频率累加来实现,简单的说,通过控制相位累加和频率累加来实现从rom中取出不同时刻的数据。      (1)相位累加器位数为 位 (24~32),相位累加器把正弦信号在相位上的精度定义为 位,其分辨率位1/2 ,决定⼀个波形的起 始时刻在哪个点;      (2)频率累加器⽤来控制每隔⼏个点从rom中取⼀个数据,决定⼀个波形的频率;      (3)若DDS的时钟频率为Fclk ,频率控制字fword = 1,则输出频率为 Fout = Fclk/2 ,这个频率相当于“基频”,若fword = B,则输出频 率 Fout = B * Fclk/2 。因此理论上由以上三个参数就可以得出任意的 fo 输出频率,且可以得出频率分辨率由时钟频率和累加器的位数决定的 结论。当参考时钟频率越⾼,累加器位数越⾼,输出频率分辨率就越⾼。   3、从FPGA 中出来的信号都是数字信号 (dds_control输出的信号都为数字信号),需要通过dac芯⽚来将数字信号转换为模拟信号,这 样将dac芯⽚输出的信号接⼊到⽰波器中,才能看到波形;   4、举例说明频率控制和相位控制:     如上图所⽰,这个是⼀个由33个点构成的正弦波信号, (rom_addr,rom_data),纵坐标为存储在rom中的正弦波信号,横坐标为 dds_control ⽣成的地址信号。fre_acc = fre_acc + fword ,当 fword = 1 时,fre_acc 则会将从 1 -33 全部地址取到 (如 1、2、3、4、5、 633),⽽将对应的纵坐标的点全部输出到DAC芯⽚,假设此时DAC芯⽚输出的正弦波信号频率为 f。那么,当 fword = 2,则每隔⼀个 地址单位输出⼀个存储在rom中的正弦波数据 (如1、3、5、7、933),此时DAC芯⽚输出的正弦波信号的频率则变为 2f。     相位累加器则是将整个波形按照⼀定的地址信号的位置向右平移来改变相位,体现在数值上则是加上每个地址信号加上⼀个 pword。 三、⼯程实现   设计⼀个单通道的DDS信号发⽣器,根据改变FPGA开发板上的拨码开关来控制DAC输出的信号是正弦波、⽅波、三⾓波、锯齿波,通 过按键来控制DAC芯⽚输出的信号的频率和相位。   1、RTL视图   2、按照RTL视图分析各个模块的代码    (1)select 模块:       拨码开关 sw0 : 往上拨则输出 正弦波      key1 : 调节频率,有四个档位,每按⼀下换⼀个频率;       sclk :系统时钟50MHz       拨码开关 sw 1: 往上拨则输出 ⽅波       key2 :调节相位,有四个档位,每按⼀下换⼀个相位;       s_ rst_ n :系统复位       拨码开关 sw2 : 往上拨则输出 锯齿波     en :使能信号       拨码开关 sw3 : 往上拨则输出 三⾓波     select 代码 1 // ********************************************************************************* 2 // Project ame : select 3 // Email : 4 // Create Time : 2020/06/24 18:44 5 // Module ame : select.v 6 // editor : qing 7 // Version : 8 // **************************************************

文档评论(0)

祝星 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档