0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子设计 来源:ADI 作者:ADI 2021-04-08 16:52 次阅读

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

pIYBAGBuw1yAE0d0AADsyXUB9FU700.png

频率字

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

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

迟延寄存器

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

pIYBAGBuw3GANa2NAADJ4svLx4w211.png

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

o4YBAGBuw5SAdumuAAGhjKYFrl4972.png

o4YBAGBuw6yAOeH5AAFBGCUysQ8097.png

现在,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
收藏 人收藏

    评论

    相关推荐

    ADS62P49采用内部电压参考模式,VCM1.5V,如何将采集到的数据转化为具体的电压值?

    ADS62P49采用内部电压参考模式,VCM1.5V。如何将采集到的数据转化为具体的电压值? 对0-2V、500KHZ的方波信号采样,配置寄存器5044,输出二进制补码。
    发表于 12-13 13:42

    如何将BQ35100配置EOS模式

    电子发烧友网站提供《如何将BQ35100配置EOS模式.pdf》资料免费下载
    发表于 09-11 10:03 0次下载
    <b class='flag-5'>如何将</b>BQ35100配置<b class='flag-5'>为</b>EOS模式

    如何将一个100MHz Vp-p=2V的正弦波放大到Vp-p=4V?

    请问如何将一个100MHz Vp-p=2V的正弦波 放大到 Vp-p=4V?
    发表于 08-16 08:32

    请问OPA564如何输出偏置1A,VPP1A,频率5MHz的正弦电流?

    如果想输出偏置1A,VPP1A,频率5MHz的正弦电流,有无推荐的电路以及运放类型,OPA564无法达到该频率。 Howland电流
    发表于 07-29 06:48

    如何将tc275的cpu0设置空闲模式?

    如何将 tc275 的 cpu0 设置空闲模式? 我试过英飞凌示例,但不起作用。
    发表于 07-04 07:12

    如何将QuadDec的输出与\"modulo\" ,使其输出在8000时滚动?

    ; 如何将 QuadDec 的输出与\"modulo\" ,使其输出在 8000 时滚动? 例如,当电机轴旋转时,QuadDec 输出将从 0 --> 7999 --> 0
    发表于 05-28 08:04

    如何将Kile 5中项目移动到stm32cubeide中?

    如何将Kile 5中项目移动到stm32cubeide中,菜菜,捞捞
    发表于 03-08 08:01

    Sensor如何将mipi端的设置YUv格式?

    我的Sensor输出是raw8图像,如何将 mipi 端的设置YUv格式,而不是UYVY格式。
    发表于 02-29 08:03

    HighTec下的TC212开发,如何将VADC设置TOM输出的PWM触发呢?

    HighTec下的TC212开发,如何将VADC设置TOM输出的PWM触发?
    发表于 02-04 09:22

    如何将TC1798器件添加到MDK KEIL?

    我正在尝试使用 KEIL MDK(µVision)英飞凌TC1798编程,但我不确定如何将TC1798器件添加到MDK KEIL。 谁能帮我拿到 .pack 或者.zip 对于 TC
    发表于 02-01 08:18

    如何将共享代码映射到DSPR5以及将其映射到其他RAM区域?

    Scratch-Pad Sram(CPU5 DSPR)相关联。 在链接器脚本中,我已经映射了每个.text 部分移至其各自的 PSPR 内核。 我想知道如何将共享代码映射到 DSPR5 以及
    发表于 01-24 07:26

    请问如何将ECO输出分配给PSoC6的GPIO?

    如何将ECO输出分配给PSoC6的GPIO
    发表于 01-16 07:56

    如何将5V电源适配器的电压更改为3V?

    如何将5V电源适配器的电压更改为3V? 在某些情况下,我们可能需要将电源适配器的输出电压更改为较低的值,以满足特定设备的需求。在本文中,我们详细讨论
    的头像 发表于 01-15 16:26 4354次阅读

    adv7611如何将输出的视频数据使用上升沿发送呢?

    adv7611该如何将输出的视频数据 使用上升沿发送呢
    发表于 01-15 06:24

    ADXL345如何将端口INT1重置原始低电平?

    我用ADXL345在INT1端口上配置了双击中断,但是双击后触发了。INT1端口的值一直保持在高电平,没有回到低电平。我想知道如何将端口 INT1 重置原始低电平。
    发表于 12-27 07:44