本文将从频率寄存器(frequency register)、迟延寄存器(defer register)和命令序列(command sequence)为各位小伙伴详细说明如何将AD9832/AD9835器件的输出编程为5 MHz!
频率寄存器
AD9832含有一个32位频率寄存器。该寄存器如下所示,分解为4个字节。由于AD9832在任一命令中仅接受8位数据,为了完全编程32位寄存器,用户必须输入4条命令,每条命令仅传送8位数据。
出于寻址目的,该32位寄存器按以下方式分解:16 MSB定义为8个高位(H)和8个低位(L)。类似地,16 LSB采用相同的寻址方案,8个高位(H)和8个低位(L)。

频率字
频率字为32位,由用户输入至频率寄存器。该频率字决定输出频率,其依据是所需输出频率与参考时钟频率之比。在以下示例中,参考时钟为25 MHz。所需输出为5 MHz,因此,频率字的计算公式为:
(5/25) × (0xFFFFFFFF) = 0x33333333
迟延寄存器
迟延寄存器(带宽16位)充当被写入的最后一个寄存器的缓冲寄存器。迟延寄存器通过两次写操作写入。前8位将保留(迟延)于寄存器中,直到写入下8位。当全部16位均写入寄存器时,频率寄存器将被更新。迟延寄存器始终指向上次被写入的地址。

由于迟延寄存器保存着上次被写入的16位数据,并且仍然指向上次被寻址的频率寄存器,因此,可通过一次写操作更新低8位或高8位。该操作被称为直写,实际上为正常写序列的最后部分。
请注意,如果用户希望写入到任何其他寄存器,则必须执行如上所示的完整写序列。
5 MHz程序的全部命令序列
0xF800 二进制 (1111 1000 0000 0000)
0x3333 二进制 (0011 0011 0011 0011)
0x2233 二进制 (0010 0010 0011 0011)
0x3133 二进制 (0011 0001 0011 0011)
0x2033 二进制 (0010 0000 0011 0011)
0xC000 二进制 (1100 0000 0000 0000)
命令序列说明
考虑到本文需要,16位SPI字将采用以下寻址方式:
D15, D14, D13, ..., D2, D1, D0


现在,5 MHz将出现于输出引脚上。FSELECT引脚必须拉至GND,以选择频率寄存器0。
AD9835
AD9835是一款数控振荡器,在单个CMOS芯片内集成了一个相位累加器、一个COS查找表以及一个10位数模转换器,提供相位调制和频率调制两种调制能力。最高支持50 MHz时钟速率。频率控制精度可达40亿分之一。调制通过串行接口载入寄存器来实现。用户可使用一个关断位在不用时关断AD9835,将功耗降低至1.75 mW。
● 5 V电源
● 50 MHz速度
● 片内COS查找表
● 片内10位DAC
● 串行载入
● 关断选项
● 温度范围:−40°C至+85°C
● 200 mW功耗
● 16引脚TSSOP封装
-
寄存器
+关注
关注
31文章
5619浏览量
130395 -
AD9835
+关注
关注
0文章
9浏览量
10406 -
AD9832
+关注
关注
0文章
7浏览量
8580 -
数控振荡器
+关注
关注
0文章
18浏览量
10392 -
相位累加器
+关注
关注
0文章
11浏览量
9365
发布评论请先 登录
AD9835:一款高性能的直接数字合成器
AD9832:25 MHz直接数字合成器与波形发生器的深度解析
Infineon TLE9835QX:汽车应用的集成微控制器解决方案
Infineon TLE9832微控制器:汽车应用的理想之选
Infineon TLE9832 - 2:汽车应用微控制器的卓越之选
TMUX9832:高性能32通道模拟开关的卓越之选
FAQ_MA35_Family eMMC如何将映像编程到其中一个分区中,并将其他分区用于其他目的?
如何将 GPIO PWM 和 GPIO Capture 驱动程序导入 Linux 内核,实现 PWM 输出并检测引脚的变化状态?
PCOS6如何使用CLK_HF2在端口11.7引脚上生成 48 MHZ 的时钟?
如何将CCG3上的“启用固件更新”部分设置为“是”?
AD9835 50MHz直接数字频率合成器、波形发生器技术手册
AD9832 25MHZ直接数字频率合成器、波形发生器技术手册
如何将AD9832/AD9835器件的输出编程为5 MHz
评论