本文将从频率寄存器(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文章
5337浏览量
120266 -
AD9835
+关注
关注
0文章
7浏览量
9962 -
AD9832
+关注
关注
0文章
5浏览量
8378 -
数控振荡器
+关注
关注
0文章
15浏览量
10158 -
相位累加器
+关注
关注
0文章
10浏览量
9186
发布评论请先 登录
相关推荐
评论