原创 AD9850

2008-10-27 16:26 2809 1 1 分类: MCU/ 嵌入式
 



DDS芯片AD9850




AD9850AD公司生产的最高时钟为125 MHz、采用先进的CMOS技术的直接频率合成器,主要由可编程DDS系统、高性能模数变换器(DAC)和高速比较器3部分构成,能实现全数字编程控制的频率合成。


1.AD9850原理


AD9850 内含可编程DDS 系统和高速比较器,可实现全数字编程控制的频率合成。可编程DDS 系统的核心是相位累加器,由一个加法器和一个N位相位寄存器组成,N 一般为24~32。每来一个外部参考时钟,相位寄存器便以步长M 递加。相位寄存器的输出与相位控制字相加后可输入到正弦查询表地址上。正弦查询表包含一个正弦波周期的数字幅度信息,每一个地址对应正弦波中0°~360°范围的一个相位点。查询表把输入地址的相位信息映射成正弦波幅度信号,然后驱动DAC 输出模拟量。
相位寄存器每过2N/ M 个外部参考时钟后返回到初始状态一次,相应地正弦查询表
每经过一个循环也回到初始位置,从而使整个DDS 系统输出一个正弦波。输出的正弦波频率fout = M*fc/ 2N ,
fc 为外部参考时钟频率。
AD9850 采用32 位的相位累加器将信号截断成14 位输入到正弦查询表,查询表的输出再被截断成10 位后输入到DAC ,DAC 再输出两个互补的电流。DAC 满量程输出电流通过一个外接电阻RSET调节,RSET的典型值是3. 9kΩ(据小厮经验,此为关键)。将DAC 的输出经低通滤波后接到AD9850 内部的高速比较器上即可直接输出方波。在125MHz 的时钟下, 32 位频率控制字可使AD9850 输出频率分辨率达0. 0291Hz 。


2.控制字与时序


AD9850 有40 位控制字,32 位用于频率控制(低32位),5 位用于相位控制,1 位用于电源休眠( Powerdown) 控制,2 位用于选择工作方式。这40 位控制字可通过并行或串行方式输入到AD9850 。在并行装入方式中,通过8 位总线D0 —D7 将数据输入到寄存器,在W - CL K 的上升沿装入8位数据,并把指针指向下一个输入寄存器,在重复5 次之后再在FQ - UD 上升沿把40 位数据从输入寄存器装入到频率/ 相位数据寄存器(更新DDS 输出频率和相位) , 同时把地址指针复位到第一个输入寄存器。


没有实践就没有发言权,小厮不曾用过串行输入方式,所以对于串行送数不便多言!


AD9850 的复位(RESET) 信号为高电平有效,且脉冲宽度不小于5 个参考时钟周期。AD9850 的参考时钟频率一般远高于单片机的时钟频率(小厮所用为单片机89C51,使用12M晶振), 因此AD9850 的复位(RESET) 端可与单片机的复位端直接相连。


PS:据小厮经验,两位工作方式控制字一般写为00即可。


3.与单片机接口


其实,AD9850 有两种与微机并行口相连的评估版,并配有Windows 下运行的软, 可以作为应用参考,但运用单片机实现对DDS 的控制与微机实现的控制相比,具有编程控制简便、接口简单、成本低、容易实现系统小型化等优点。



W-CL K 和FQ-UD 信号都是上升沿有效,用MOVX @DPTR , A 指令向AD9850 传
送控制字时,P2.7经反相并与反相后的信号相与得到一上升沿送至AD9850 的W-CL K 脚,此时已送到总线上的数据将被AD9850 接收,连续五次将40 位的控制字全部发送以后,用MOVX A , @DPTR 指令产生FQ-UD 信号,使AD9850 更改输出频率和相位,此时读入到单片机内的数据实际上无任何意义。

广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
412922521_325344472 2009-11-15 00:44
通用按键消抖函数 -- 数据与过程分离
AUTO:  nicksean 不务正业          项目里经常处理按键消抖, 本来这个消抖的过程是与具体按下的键无关的, 可以前的代码总是在消抖的同时处理具体的按键值, 再加上长按 短按 组合...
412922521_325344472 2009-11-13 13:16
液晶ST7920串行显示
液晶显示128*64以7920为主控制器,采用3线制,比较经济简单。代码如下.....
412922521_325344472 2009-11-13 13:11
DS18B20 C51完整版
使用WINBOND W78C516单片机,11.0592MHZ晶振,用共阳LED数码管P0口输出段码,P1口扫描/*******************************************...
412922521_325344472 2009-11-12 13:19
74HC164驱动数码管
          74HC164是串行输入,并行输出接口器件,可用在单向的并行输出/并行地址锁存等. 74HC164因为价格便宜,容易使用特别适合使用在在需要用到数码管显示IO口又比较紧张的电子产品...
412922521_325344472 2009-11-10 20:13
at24c512多字节读写函数 欢迎测试
刚写的at24c512多字节读写函数,欢迎测试。/********************************************************************函数功能:EE...
412922521_325344472 2009-11-10 19:59
旋转编码器
    很好的旋转编码器的读码程序,设旋转编码器的输出波形如下                 ______        ______        ______        ______正转时:...
广告
我要评论
0
1
广告
关闭 热点推荐上一条 /1 下一条