这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 企业专区 » ADI » AD9832/AD9835编程示例

共44条 1/5 1 2 3 4 5 ›| 跳转至

AD9832/AD9835编程示例

菜鸟
2013-02-26 14:47:32     打赏

如何在AD9832/AD9835器件的输出上载入正弦波形, 包括上电时设置AD9832/AD9835、设置FSELECT控制位,并在使用FSELECT控制位时将新数据载入器件。

AD9832/AD9835上电时,器件应复位。这样可使相应的内部寄存器复位至0,以提供满量程的模拟输出。为了避免AD9832初始化时产生杂散DAC输出,RESET位应置1,直至器件准备好开始产生输出。RESET位不对相位寄存器、频率寄存器或控制寄存器进行复位。这些寄存器包含无效数据,因此应由用户将其设为已知值。然后,RESET位应置0,以开始产生输出。在RESET置0后的7到8个MCLK周期,DAC输出端会出现数据。




关键词: AD9832     AD9835     编程     示例    

菜鸟
2013-02-26 17:13:13     打赏
2楼


菜鸟
2013-02-27 10:52:29     打赏
3楼

AD9832/AD9835的编程

要解释如何对AD9832/AD9835进行编程,最好的方法便是举一个简单的示例。进一步详情,请参考应用笔记AN-621和AD9832AD9835数据手册。

示例1:上电后器件设置

目标:使用一个25 MHz MCLK,产生两个输出频率,将3 kHz载入到FREQ0寄存器,并将10 kHz载入到FREQ1寄存器。
拨号码由以下公式定义:


注意,ADIsimDDS工具提供轻松便捷地产生所需16进制、10进制或2进制代码的方法。

所需初始化序列如表1所示。


命令序列说明
请参考AD9832AD9835数据手册中的寄存器表。
0xD000—复位AD9832
RESET位DB12置1。这样做可将内部寄存器复位至0,对应于满量程的模拟输出(见图2)。Ch1为复位的杂散输出。Ch2为FSYNC,Ch3为SDATA, Ch4为SCLK。注意,数据在SCLK的下降沿有效。在8个SCLK周期后忽略SDATA高电平;这是特定SPI驱动器的固有特性,不会影响器件。


0x3044
• 欲迟延的8位。
• 频率寄存器0,L LSB数据。
• 8位数据 = 0x44。
0x21DD
• 将8位和迟延8位提供给选择频率寄存器。
• 频率寄存器0,H LSB数据。
• 8位数据- (0xDD) + 迟延数据 = 0xDD44。


0x3207—频率寄存器0,L MSB数据
0x2300—频率寄存器0,H MSB数据
0x343E—频率寄存器1,L LSB数据
0x2536—频率寄存器1,H LSB数据
0x361A—频率寄存器1,L MSB数据
1x2700—频率寄存器1,H MSB数据

0x9000—使用命令位1:0 将C15至C14的SELSRC置1。
• 将SELSRC置1—FSELECT由数据位控制。迟延增加两个MCLK周期。
0xC000—频率寄存器1,L LSB数据。
• 退出复位模式。从FREQ0寄存器输出的一个3 kHz信号,在RESET位置0后经过 8个MCLK周期出现在DAC输出端。


菜鸟
2013-02-27 11:01:36     打赏
4楼


示例2:修改FSELECT位

该器件现在利用输出端的一个3 kHz信号来设置,并由FSELECT位而不FSELECT引脚来控制。只需写入控制寄存器来修改FSELECT位,便可将此频率更改为10 kHz。
0x5800—选择FREQ1寄存器。
• 即,将0x5写入命令位C3:C0。
• 将1写入位D11,以选择FREQ1寄存器(见图5)。
FSELECT位复位至0,可返回3 kHz FREQ0输出。
0x5800—选择FREQ0寄存器。

示例3:根据需要更新输出

下一步,不用进入RESET模式将FREQ1寄存器从10 kHz改为40 kHz。



载入下列命令序列:
• 0x348C—频率寄存器1,L LSB数据
• 0x25DB—频率寄存器1,H LSB数据
• 0x3668—频率寄存器1,L MSB数据
• 0x2700—频率寄存器1,H MSB数据
• 0x9000—通过数据同步锁存到输出。此时,使用命令位[1:0]再次将C15和C14的SELSRC位置1。该器件只需一个FSYNC下降沿即可进行数据锁存(见图6)。



工程师
2013-03-01 15:20:46     打赏
5楼

很详细的给出了 IC的操作啊,前面应该给出这个IC的一些只要指标,这样好点,不用再去找一次手册了。

芯片上电的注意事项 也详细的列举了出来 ,这个很重要。可以让工程师少走很多冤枉的路啊。

芯片上电初始化的步骤,应该列一下。我用过AD9833,感觉不是很好。就是程序的初始化,网上有各种版本,没有统一的,导致调试的时候 浪费很多时间。 因为数据手册上这个也没详细的说明。


工程师
2013-03-03 22:20:22     打赏
6楼
 目前还没用过,收藏学习先

助工
2013-03-04 19:34:27     打赏
7楼
楼主威武啊 

工程师
2013-03-06 13:43:55     打赏
8楼

框图那里截的啊?全跑偏了~~


高工
2013-03-07 11:21:03     打赏
9楼

资料不错,用实例介绍,很清楚很易学!


助工
2013-03-11 10:36:26     打赏
10楼

不错,学习了……


共44条 1/5 1 2 3 4 5 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]