AD9850是AD公司生产的最高时钟为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条评论)
登录后参与讨论