当前位置:首页 > 技术心得 > 正文内容

DDS原理

xjtudll16年前 (2010-12-19)技术心得11520

DDS原理框图

clip_image001clip_image002

假设时钟为2MHz,数据保持寄存器选择N Bit,在时钟驱动下,累加器输出结果S被反馈到累加器输入端B,B和A的数据被累加到S,下一个时钟脉冲又将S反馈到B,再次与A累加到S,下一个时钟脉冲又将S反馈到B,如此循环累加,实现按步进值,按时钟节拍循环累加,使得N Bit数据被徐循环累加,产生循环扫描的地址码0~64(高6 Bit)。完成一次地址循环需要的时间由时钟和步进值决定,可以由公式计算:

clip_image004

一次地址循环可以输出一个完整的波形,既T就是输出波形的周期,转换成频率clip_image006,得到计算公式:

clip_image008clip_image010

当晶振(2M)和计数器Bit数N确定之后,clip_image006[1]既与步进值A成正比,对A的调整可以完成对clip_image006[2]的设定,当N足够大时,比例常数clip_image012可以很小,例如0.01,既clip_image006[3]等于A的0.01倍,这样就可以实现对clip_image006[4]的精细调整,譬如0.01Hz。

例如晶振24M,N=30,系数为0.0223,要想实现0.1Hz的调整,每次A的值调整为0.1/0.0223=4。

DDS信号源硬件实现

clip_image013

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/155/

分享给朋友:
返回列表

上一篇:Altium打印设置

下一篇:Word转pdf

“DDS原理” 的相关文章

OKI单片机-如何查看编译后的汇编代码

OKI单片机-如何查看编译后的汇编代码

使用OKI单片机时,有几种情况需要看汇编代码: 1、精确延时,这个用C基本上无法实现; 2、用汇编编程,但某部分程序用汇编写感觉有难度。此时先用C编写,然后查看其汇编代码,借鉴一二。 有两种方式可以看到编译后的汇编代码: 1、程序编译完成后,编译器自动生成各C文件的汇编代码 (1)能看到绝大部分汇编...

CRC除法

所有CRC原理介绍中,都会提到CRC除法。CRC除法与算术除法有什么区别呢?下面举个实例来说明。 以下是120 ÷ 9 来举例说明CRC除法: 120 = 1111000 B 9 = 1001 B  ...

Keil新增STC 51型号

Keil新增STC 51型号

STC官网提供的方法: (详见:http://www.mcu-memory.com/) 备份KEIL安装目录下的UV2.CDB或者UV3.CDB文件(在文件夹UV2或者UV3里面),然后用STC提供的同名的CDB文件覆盖。 这种方法操作起来很简单,但缺点是在器件选型时,只能选择STC单片机,其他的都...

OKI单片机——ML610Q4XX系统时钟切换

OKI单片机——ML610Q4XX系统时钟切换

系统时钟可以选择: 32K 低速时钟 32K×2 低速时钟 2M 高速时钟1/1,1/2,1/4,1/8分频 500K 高速时钟1/1,1/2,1/4,1/8分频 可以选择时钟输出 P20输出LSCLK (32.768K); P21输出2M高速时钟1/1,1/2,1/4,1/8分频或5...

宏与子程序的区别

宏和子程序都是为了简化源程序的编写,提高程序的可维护性,但是它们二者之间存在着以下本质的区别:1、在源程序中,通过书写宏名来引用宏,而子程序是通过CALL指令来调用;2、汇编程序对宏通过宏扩展来加入其定义体,宏引用多少次,就相应扩展多少次,所以,引用宏不会缩短目标程序;而子程序代码在目标程序中只出现...

ML610Q473 程序烧录

ML610Q473 程序烧录

仿真器能够仿真程序的运行,但毕竟是“仿”,与实际情况可能有些出入,因此最终还是要将程序烧录到实际的目标板中。 对于ML610Q473,大体要有这么几步: (1) uEase与目标板连接 (2) 生成Hex文件 (3)转换Hex文件供烧录 1、uEase与目标板连接 (1)...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。