STM32 DAC控制器
·
一、DAC(Digital-to-Analog Converter,数模转换器)的核心作用:
把数字量(0/1组成的数)转换成连续变化的模拟电压或电流输出。
二、核心特性
-
分辨率与通道:通常是12位数字输入,可配置为8位模式。大多数STM32芯片提供2个独立的DAC转换通道。
-
数据格式:12位模式下,数据支持左对齐或右对齐,以适应不同位宽的数据处理。
-
触发源:转换可由软件、外部中断(EXTI)或定时器(如TIM2、TIM4等)事件触发。
-
DMA支持:每个通道都支持DMA(直接内存访问),可自动将数据从内存传输到DAC,无需CPU干预,适合生成复杂波形。
-
内置波形发生器:部分型号支持硬件生成噪声波形和三角波形。
-
输出缓冲:内置输出缓冲器,可降低输出阻抗,直接驱动外部负载。
三、DAC的工作流程大致如下:
-
数据写入:将待转换的数字值写入数据保持寄存器(DHRx)。
-
触发转换:等待一个触发事件(软件或硬件)。
-
数据锁存:触发事件到来时,DHRx中的数据被传送到数据输出寄存器(DORx)。
-
数模转换:DAC核心将DORx中的数字值转换为对应的模拟电压,通过DAC_OUTx引脚输出。
例如输入一个12位数字:
- 0x000 → 输出 0V
- 0xFFF(4095)→ 输出参考电压 Vref(如3.3V)
中间按比例输出:
- D:数字值
- N:位数(常见12位)
- Vref:参考电压
四、DAC常见应用
1. 输出直流电压
- 可调电源
- LED亮度控制(配合运放)
2. 波形发生器
- 正弦波
- 锯齿波
- 方波(软件更简单)
3. 音频输出
- DAC + DMA + 定时器
4. 控制模拟器件
- 电机控制
- 模拟传感器模拟
更多推荐
所有评论(0)