一、DAC引脚
1、参考电压
与 ADC外设类似,DAC与 ADC 共享使用 V REF+ 引脚作为参考电压以此来提高分辨率,在设计原理图的时候一般把V SSA 接地,把 V REF+ 和 V DDA 接 3.3V,可得到 DAC 的输出电压范围为:0~3.3V。
如果想让输出的电压范围变宽,可以在外部加一个电压调理电路,把 0~3.3V的 DAC
输出抬升到特定的范围即可。
2、输出通道
STM32有两个 DAC 转换器,每个 DAC有 1 个对应的输出通道连接到特定的引脚,即:PA4-通道 1,PA5-通道 2。
注意:使能 DAC 通道 x 后,相应 GPIO 引脚( PA4 或 PA5 )将自动连接到模拟转换器输出(DAC_OUTx) 。虽然会自动连接,但是为了避免寄生电流消耗,我们应首先将 PA4 或 PA5 引脚配置为模拟模式 (AIN),再去使能通道。
二、DAC一般工作流程
第一步:DAC通道使能
将 DAC_CR 寄存器中的相应 ENx 位置 1,即可接通对应 DAC 通道。经过一段启动时间
t WAKEUP 后,DAC 通道被真正使能。
第二步:输出缓冲器使能(可选)
DAC 集成了两个输出缓冲器,可用来降低输出阻抗并在不增加外部运算放大器的情况下直接
驱动外部负载。通过 DAC_CR 寄存器中的相应 BOFFx 位,可使能或禁止各 DAC 通道输出缓冲器。
1、首先必须通过软件将数据加载到DAC_DHRyyyx寄存器。
2、然后用户写入的数据将移位并存储到DHRx(数据保持寄存器x,它是一个内部非存储器映射的寄存器,即我们无法对其进行任何操作)。
3、之后,DHRx 寄存器将被加载到 DORx 寄存器,触发加载的方式有:自动触发(硬件触发)、软件触发、外部事件触发。
2、DAC模块是一个12位电压输出模数转换器。
3、可以按 8 位或 12 位模式进行配置。在 12 位模式下,数据可以采用左对齐或右对齐;而在8位模式下,数据只能采用右对齐
4、可配置为双通道模式,在此模式下,每个通道可以单独进行转换;当两个通道组合在一起同步执行更新操作时,也可以同时进行转换
6、可生成噪声波、三角波
7、可通过外部触发信号进行转换