- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北师范学院电工电子实验教学省级示范中心电子版实验报告
电工电子中心2009 年5 月绘制
基于FPGA 的DDS 信号源
一、任务解析
DDS (Direct Digital Synthesis 数字频率合成器)信号源就是可以通过按键
可以直接设定信号的输出频率,这时我们就可得到自己想要多少频率的信号,
是一个非常方便的信号源。我们可以利用MAX PLUS II软件提供了非常丰富的参
数化(LPM)模块,在FPGA上实现输出频率可 的信号。
DDS原理
DDS的原理框图如图1所示。图中相位累加器可在每一个时钟周期的上升沿将我
们设定的步进值累加一次,如果计数超过了我们设定的计数值 (N bit),则会
自动溢出,这时我们把高8位的值送去ROM波形中去查表,经过一个DA转换,就
可以得到正弦信号。
图1 DDS原理
M
假设时钟为2 Hz,数据保持寄存器选择N Bit,在时钟驱动下,累加器输
出结果S 被反馈到累加器输入端B,B 和A 的数据被累加到S,下一个时钟脉冲
又将S 反馈到B,再次与A 累加到S,下一个时钟脉冲又将S 反馈到B,如此循
环累加,实现按步进值,按时钟节拍循环累加,使得N Bit 数据被徐循环累加,
产生循环扫描的地址码0~255 (高8 Bit)。完成一次地址循环需要的时间由时
钟和步进值决定,可以由公式计算:
北师范学院 物电学院 0803 班 六月未央制作
第2页,共18页
北师范学院电工电子实验教学省级示范中心电子版实验报告
2N 1
T
A 2M
一次地址循环可以输出一个完整的波形,既T 就是输出波形的周期,转换
成频率f x ,得到计算公式:
1 2N 1 2M
M , f x N A
f x A 2 2
M
当晶振 (2 )和计数器Bit数N确定之 ,f x 既与步进值A成正比,对A的调整可
以完成对f 的设定,当N足够大时,比例常数2(M N ) 可以很小,例如0.01,既f
x x
等于A的0.01倍,这样就可以实现对f x 的精细调整。
初步设定S的宽度为24 bit,由于我们现实中不存在晶振的频率刚好是2的多
6
少次方,譬如我们实验箱的晶振是24MHz的。这个时候24 10 1.4305 ,该如
24
2
何设定 使得我们每次把步进值增加1,就可以实现频率也加1呢?对了,把步进
24
值A设为 2 0.6991 ,这样相乘就是1Hz了,事实也是这样实现的。但是
6
24 10
这时又遇到难题了,步进值是不能设为小数,该怎么办呢?那可不可以这样呢,
把步进值A乘以0.6991,这时候步进值A不就是频率f了吗?而MAX PLUSS II中也
存在乘法器,这样难题不就解决了吗?我做的DDS信号源就是这
文档评论(0)