AD9834 数据手册解读
AD9834是一款75MHz低功耗直接数字频率合成(DDS)器件,采用三线式SPI接口,输出频率高达37.5MHz,可输出正弦波、三角波和方波
电路结构
由于正弦波的相位是线性变化的,可求出一定时间间隔的相位变化
对于定时器而言,该时间间隔
而在正弦波内,有角频率和频率的关系
因此,正弦波的频率与参考时钟的频率关系为
数控振荡器
数控振荡器的主要元件是一个28位相位累加器,其用2^28个离散值来表示 [0,2π],因此输出正弦波的频率可表示为
其中,fMCLK是主时钟频率(最高75MHz),ΔPhase是频率控制字(0 < ΔPhase < 2²⁸-1)
频率控制字来自2个28为频率寄存器,可通过FSELECT引脚或FSEL控制位选择。
相位调制器
在数控振荡器之后,可使用12位相位寄存器添加一个相位偏移来进行相位调制。相位调制公式:
PHASEREG为相位寄存器的值,Φ为正弦波的初始相位
AD9834具有两个相位寄存器,这两个相位寄存器的分辨率均为2π/4096,可通过PSELECT引脚或PSEL控制位进行选择。
SIN ROM
将相位信息映射至幅度信息,本质上是一张数值表
由于AD9834为10位DAC,数控振荡器的输出会被截断至12位。
SIN ROM 可使用控制寄存器的OPBITEN和MODE位使能。
DAC
将数字信号转换为模拟信号
比较器
将正弦信号转换为方波信号
SPI
时序
空闲时钟为高电平,在第一个下降沿采样

HAL_SPI_Transmit(hspi,(uint8_t*)&data,1,100);
寄存器
写入寄存器:

控制寄存器
16位,用于设置AD9834的工作模式。
| Bit | 名称 | 描述 |
| DB15 | ZERO | 固定写0 |
| DB14 | ZERO | 固定写0 |
| DB13 | B28 |
0:28位频率寄存器作为两个14位寄存器使用 1:启用完整28位写入模式(需两次连续写入) |
| DB12 | HLB |
当B28为0时,可指定写入位置 0:写入所选频率寄存器的低14位(LSB) 1:写入所选频率寄存器的高14位(MSB) |
| DB11 | FSEL |
频率寄存器选择 0:使用FREQ0寄存器 1:使用FREQ1寄存器 |
| DB10 | PSEL |
相位寄存器选择 0:使用PHASE0寄存器 1:使用PHASE1寄存器 |
| DB9 | PIN/SW |
控制源选择 0:使用控制位(软件控制) 1:使用控制引脚(硬件控制) |
| DB8 | RESET |
复位控制 1:复位内部寄存器(输出中间电平) 0:正常工作 |
| DB7 | SLEEP1 |
时钟控制 1:禁用内部MCLK 0:使能MCLK |
| DB6 | SLEEP12 |
DAC控制 1:关断片内DAC 0:使能DAC |
| DB5 | OPBITEN |
SIGN BIT OUT引脚使能 1:使能输出 0:高阻抗状态 |
| DB4 | SIGN/PIB |
SIGN BIT OUT输出选择 0:输出DAC数据的MSB 1:输出比较器结果 |
| DB3 | DIV2 |
输出分频控制 0:输出频率为f_OUT/2 1:输出频率为f_OUT |
| DB2 | ZERO | 固定为0 |
| DB1 | MODE |
模拟输出模式选择 0:正弦波输出 1:三角波输出 |
| DB0 | ZERO | 固定为0 |
频率寄存器
AD9834包含两个28位频率寄存器,用于精确控制输出频率
| bit | 功能 |
| DB15-DB14 |
选择频率寄存器 0 1 :FREQ0 1 0 :FREQ1 |
| DB13-DB0 | 14位数据 |
28位写入顺序:先写入低14位,再写入高14位
但不建议连续写入同一频率寄存器
相位寄存器
12位相位寄存器
| bit | 描述 |
| DB15-DB14 | 设置为11 |
| DB13 |
确定相位寄存器 0:PHASE0 1:PHASE1 |
| DB12-DB0 | 12位相位数据 |
拉低FSYNC后,经过至少5ns后,数据可以开始传输。
运行流程
AD9834上电时,器件应复位。
AD9834初始化时,RESET 引脚应处于高电平状态,在设置完寄存器后,RESET应置0产生输出。在RESET置0后的8个MCLK周期内,DAC输出端会出现数据。
执行引脚切换、寄存器写入等操作都会造成。8~9个MCLK周期延时
更多推荐

所有评论(0)