初学stm32 --- DAC模数转换器工作原理
目录
什么是DAC?
DAC的特性参数
STM32各系列DAC的主要特性
DAC框图简介(F1/F4/F7)
参考电压/模拟部分电压
触发源
关闭触发时(TEN=0)的转换时序图
DMA请求
DAC输出电压
什么是DAC?
DAC,全称:Digital-to-Analog Converter,指数字/模拟转换器
ADC和DAC是模拟电路与数字电路之间的桥梁
DAC的特性参数
分辨率:
表示模拟电压的最小增量,常用二进制位数表示,比如:8、12位等
建立时间:
表示将一个数字量转换为稳定模拟信号所需的时间
精度:
转换器实际特性曲线与理想特性曲线之间的最大偏差
误差源:比例系统误差、失调误差、非线性误差
注释:假设理想特性曲线位y = kx ,实际特性曲线是y = ax+b。这里的比例系数误差就是k不等于a,失调误差是b不等于0;而非线性误差,就是特性曲线不是线性的
原因:元件参数误差、基准电压不稳定、运算放大器零漂等
STM32各系列DAC的主要特性
F1的DAC模块只有DAC1,没有DAC2,每个DAC有两个通道,对应的GPIO引脚为PA4和PA5。
DAC框图简介(F1/F4/F7)
①参考电压/模拟部分电压 ②DA转换器
③输出通道DAC_OUTx ④数据输出寄存器DOR
⑤数据保持寄存器DHRx ⑥控制逻辑(噪声波/三角波)
⑦DAC控制寄存器 ⑧触发源
注释:不能直接向DORx寄存器写入数据,也不能直接向DHRx寄存器写入数据,实际操作是向DHRyyy写入数据,然后系统会自动将写入DHRyyy的数据写入到DHRx中,然后通过DAC控制寄存器,最后在DORx寄存器中写入DHRyyy的数据。(这里的yyy是选择8位12位的分辨率,以及左对齐还是右对齐,以及是严格单通道,以及是否使用双通道)
注意:一旦使能DACx通道,相应的GPIO引脚(PA4或者PA5)就会自动与DAC的模拟输出相连(DAC_OUTx)。为了避免寄生的干扰和额外的功耗,引脚PA4或者PA5在之前应当设置成模拟输入(AIN)。
参考电压/模拟部分电压
DAC供电电源:VSSA、 VDDA (2.4V≤VDDA≤3.6V )
DAC输出电压范围:VREF–≤VOUT≤VREF+(即0V≤VOUT≤3.3V )
DAC数据格式
DAC数据格式:支持8/12位模式
单ADC通道转换 双DAC通道转换:
触发源
三种触发转换的方式:自动触发、软件触发、外部事件触发
TENx位置0
DHRx数据加载到DORx后,模拟输出电压将经过时间VSETTLING后可用(VSETTING=3us)
关闭触发时(TEN=0)的转换时序图
DMA请求
这里的DMA请求只能由外部事件触发时才能使用。
软件触发和自动触发都不能使用DMA。
DAC输出电压
12位模式下,DAC输出电压计算方法:
8位模式下,DAC输出电压计算方法: