在嵌入式开发和电子系统中,我们经常会遇到“模拟”和“数字”之间的转换问题。
ADC(Analog to Digital Converter,模数转换器):将连续变化的模拟信号转换为数字信号。
DAC(Digital to Analog Converter,数模转换器):将离散的数字信号还原为模拟信号。
可以说,ADC 与 DAC 是数字世界与模拟世界之间的“桥梁”,让 MCU 能够感知和影响现实世界。
一、ADC 的工作原理ADC 的核心任务是:把模拟电压(如 0~3.3V)映射为对应的二进制数字(如 0~4095)。其过程通常分为三步:
采样(Sampling)
使用采样保持电路(Sample & Hold)瞬时抓取模拟信号。
采样频率必须大于信号频率的两倍(奈奎斯特定理),否则会出现混叠失真。
量化(Quantization)
将模拟电压区间划分为若干离散等级。
例如 12 位 ADC,可分成 2¹² = 4096 个等级,每个等级对应一个电压范围。
编码(Encoding)
将量化后的电压值转化为对应的二进制数字,供 MCU 处理。
常见 ADC 架构:
逐次逼近型(SAR ADC):兼顾速度和精度,MCU 常用。
Σ-Δ型(Sigma-Delta ADC):高精度,适合音频或精密测量设备。
闪速型(Flash ADC):速度极快,适用于高速数据采集场景。
DAC 的任务是:将 MCU 内部的数字信号(如101010)转换为连续的模拟电压或电流。
常见实现方式:
权重电阻法(R-2R 阻抗网络)
数字信号通过电阻网络加权叠加,生成对应模拟电压。
常用于中低精度 DAC。
电流源加权法
利用开关控制电流源,叠加生成输出电流,再转换为电压。
Σ-Δ型 DAC
将高频脉冲信号经过低通滤波,得到平滑模拟信号,常用于音频输出。
传感器数据采集:温度、光照、压力、加速度等传感器输出通常为模拟信号,需要 ADC 转换。
音频录音:麦克风输出的连续模拟信号,通过 ADC 转为数字波形,便于处理和存储。
电压、电流检测:电源管理芯片、智能电表等实时监控系统。
音频输出:数字音乐文件(MP3、WAV)通过 DAC 转换为模拟信号,驱动耳机或音箱。
电压控制:DAC 可输出指定电压,用于调节电机速度、LED 亮度或功放控制。
信号发生器:输出正弦波、三角波等模拟波形,用于测试或驱动电路。
| 功能 | 模拟 → 数字 | 数字 → 模拟 |
| 典型位宽 | 8/10/12/16 位 | 8/10/12/16 位 |
| 常见应用 | 传感器采集、音频输入、电压检测 | 音频播放、模拟控制、波形输出 |
| 硬件结构 | SAR、Σ-Δ、Flash | R-2R、电流源、Σ-Δ |
| MCU 相关 | STM32 内置多路 ADC | STM32F 系列部分内置 DAC |
ADC 是 MCU 感知世界的“眼睛”:它让数字电路理解模拟传感器信号。
DAC 是 MCU 作用世界的“嘴巴”:它让数字电路发出模拟信号,驱动真实设备。
理解 ADC 与 DAC 的原理与应用,不仅有助于合理选择 MCU 和外围芯片,也能在实际项目中设计更高效、更稳定的系统。
我要赚赏金
