如何将AD9832/AD9835器件的输出编程为5 MHz

描述

本文将从频率寄存器(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)。

AD9832

频率字

频率字为32位,由用户输入至频率寄存器。该频率字决定输出频率,其依据是所需输出频率与参考时钟频率之比。在以下示例中,参考时钟为25 MHz。所需输出为5 MHz,因此,频率字的计算公式为:

(5/25) × (0xFFFFFFFF) = 0x33333333

迟延寄存器

迟延寄存器(带宽16位)充当被写入的最后一个寄存器的缓冲寄存器。迟延寄存器通过两次写操作写入。前8位将保留(迟延)于寄存器中,直到写入下8位。当全部16位均写入寄存器时,频率寄存器将被更新。迟延寄存器始终指向上次被写入的地址。

AD9832

由于迟延寄存器保存着上次被写入的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

AD9832

AD9832

现在,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封装

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分