AD9835
–12– rev. 0
数据 write**
freg<0> = f
OUT0
/f
MCLK
*2
32
freg<1> = f
OUT1
/f
MCLK
*2
32
phasereg <3:0> = delta 阶段<0, 1, 2, 3>
选择 数据 sources***
设置 fselect
设置 psel0, psel1
INITIALIZATION*
wait 6 mclk 循环 (8 mclk 循环 如果 同步 = 1)
dac 输出
V
输出
= v
REFIN
*6.25*r
输出
/r
设置
*(1 + cos(2
(freg*f
MCLK
*t/2
32
+ phasereg/2
12
)))
非
改变 f
输出
?
YES
非
YES
改变 freg?
非
YES
改变 fselect 改变 phasereg?
非
YES
改变 psel0, psel1
改变 阶段?
图示 20. Flowchart为 ad9835 initialization 和 运作
INITIALIZATION*
控制 寄存器 写
设置 睡眠
重置 = 1
clr = 1
设置 同步 和/或者 selsrc 至 1
YES
非
控制 寄存器 写
同步 = 1
和/或者
selsrc = 1
写 最初的 数据
freg<0> = f
OUT0
/f
MCLK
*2
32
freg<1> = f
OUT1
/f
MCLK
*2
32
phasereg<3:0> = delta 阶段<0, 1, 2, 3>
设置 管脚 或者 频率/阶段 寄存器 写
设置 fselect, psel0 和 psel1
控制 寄存器 写
睡眠 = 0
重置 = 0
clr = 0
图示 21. Initialization
数据 write**
deferred 转移 写
写 8 位 至 defer 寄存器
直接 转移 写
写 呈现 8 位 和 8 位 在
defer 寄存器 至 数据 寄存器
写 另一 文字 至 这个
寄存器?
写 一个 文字 至 另一 寄存器
改变 8 位 仅有的
YES
改变 16 位
非YES
非
图示 22. 数据 写
选择 数据 sources***
fselect/psel 管脚 正在 使用?
YES
selsrc = 0
设置 管脚
设置 fselect
设置 psel0
设置 psel1
频率/阶段 寄存器 写
设置 fselect
设置 psel0
设置 psel1
selsrc = 1
非
图示 23. selecting 数据 来源