基于ALTERA实现的DDS信号发生器设计.PDFVIP

  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文档。上传文档
查看更多
基于ALTERA实现的DDS信号发生器设计

【明德扬】至简设计法 FPGA 培训班:就业班 周末班 网络班 详情可加qq854618250 基于ALTERA 实现的DDS 信号发生器设计 一、功能描述 本工程实现DDS 直接数字式频率合成器,利用正弦波相位线性 增加的特点,产生正弦波和余弦波。本工程主要由 3 部分组成: 相位累加器,相位幅度转换,数模转换器DAC (FPGA 外部实 现)。其中,相位累加器的高10 比特用于ROM 的索引地址。 二、波形调制说明 模块将一个正弦波采样 1024 个点,然后保存到内部一个8 比特、 1024深度的ROM 当中,通过改变时序和相位控制字,即可生成 不同频率的波形。 生成波形的公式是: FO=TCLK*FCW/655360 上面公式中,TCLK 是指本模块的工作时间,FCW 是相位控制字, FO 即是生成的信号频率。 相位控制字FCW 可以改变每次步进数M。如果FCW=128,则模块 内部累加器每次加 128,则经过 M=16’hffff/128=512 个时钟, 就可以循环一个周期,也就是 512 个时钟完成一个正弦波输出。 假如FCW 为256,则代表1024/4=128个时钟周期就输出一个正 弦波。 三、应用举例 设定是FCW=128,CLK=50M 的时钟频率,由公式计算得出 F0=10KHZ。实际测量出一个波形时间s,最终波形 新手学习FPGA 指导及资料下载:/article_cat?id=40 【明德扬】至简设计法 FPGA 培训班:就业班 周末班 网络班 详情可加qq854618250 的频率为10KHZ。 如果是FCW=128,CLK=5M 的时钟频率,由公 式计算得出F0=1KHZ。输出实际测量一个波形时间为 s,最终波形的频率为1KHZ。 如果是FCW=128,CLK=100M 的时钟频率,由公式计算得出 F0=0.2MHZ。输出实际测量一个波形时间为5167188ps,最终波 形的频率为0.2MHZ。 以此类推,通过对频率控制字的改变来 控制波形频率。 四、平台效果图 五、实现过程 首先根据所需要的功能,工程顶层的输入输出信号列表。 信号名 I/O 位宽 说明 clk I 1 系统工作时钟50M rst_n I 1 系统复位信号,低电平有效 da_clk O 1 输出D/A 工作时钟 cos O 8 输出cos 波形信号 sin O 8 输出sin 波形信号 我们可以把工程划分成三个模块,分别是Sin 相位转波形模块 和Cos 相位转波形模块和相位累加器模块。 1. 相位累加器模块 本模块根据设置好的相位控制字FCW 来进行相位累加,以此控 制波形的相位,sum = sum + fcw;对相位不断累加,然后将累 加的sum 数据实时传到另外两个模块中去 以此本模块实现了相 位累加,并将数据传输给其它模块的功能。 本模块信号列表如下: 信号名 I/O 位宽 说明 clk I 1 相位累加时钟 新手学习FPGA 指导及资料下载:/article_cat?id=40 【明德扬】至简设计法 FPGA 培训班:就业班 周末班 网络班 详情可加qq854618250 rst_n I 1 系统复位信号,低电平有效 fcw I 16 相位控制字 sum O 16 相位累加数据 2.Sin 相位转波形模块 本模块实际上是一个RAM,事先将相位和相应相位上的幅值关 系写入,然后通过从相位累加模块传来的相位累加数据sum 进 行查表,得到对应的幅值,以此当一个sin 波的相位全部转换 一遍后即可得到一个完整的sin 波形。 信号列表如下: 信号名 I/O 位宽

文档评论(0)

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

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

1亿VIP精品文档

相关文档