13.4 ADC、DAC 与传感器接口
温度、压力、光线与声音连续变化,而微处理器保存有限的二进制数。模数转换器(analog-to-digital converter, ADC)测量输入电压并报告编码。数模转换器(digital-to-analog converter, DAC)执行相反映射,根据编码产生模拟电平。这两种器件本身都不会创造含义:电路与软件必须建立电压和物理量之间的关系。
观察采样、量化与混叠
一个 位 ADC 有 种可能编码,范围从 0 到 。对于测量 0 至参考电压 的理想单极性转换器,编码宽度可以估算为
ADC 会把每个采样电压舍入到这些有限区间之一。即使输入平滑变化,这种量化(quantization)也会让数字重建呈阶梯状。提高分辨率可以缩小区间宽度,但不能修复超出参考范围的输入;这种输入会在端点编码处削顶(clip)。
ADC 也只在离散时刻测量。采样保持电路捕获输入,转换需要有限时间,转换结束或就绪信号再告诉软件编码已经有效。对于频率为 的正弦波,采样率高于 是避免一种混叠(aliasing)的理论最低条件;混叠会让采样看起来像错误的较低频信号。实际系统会采用更高采样率,并在转换前滤除目标频带以上的成分。
采样示波器会分别暴露这三种限制。降低分辨率会放大电压阶梯;降低采样率直到绘图描述出虚假波形;降低参考电压则会让峰值削顶。
校准完整的传感器到执行器链路
传感器通常具有增益与偏移。假设一个温度传感器预计每摄氏度输出 10 mV,但同时存在 40 mV 偏移。如果不校准就直接把电压当温度,每个结果都会偏移。两点校准测量两个已知物理输入并拟合
其中 是测得电压, 是估计的物理量。校准可以修正线性增益与偏移误差,却无法恢复因削顶、分辨率不足、噪声过大或采样率不足而丢失的信息。
DAC 把编码重新映射成电压。若理想 位 DAC 的最大编码能达到参考电压,则
真实 ADC 与 DAC 在最高端点处可能采用不同约定,因此设计必须查阅所选器件的数据手册,不能随意混用分母。关键的可观察链路是:传感器物理量 → 电压 → ADC 编码 → 软件校准值 → 控制决策 → DAC 编码 → 执行器电压。
接口设计还必须安排转换时序。查询就绪标志最简单;中断可以避免等待;DMA 能以很低的 CPU 开销收集采样块。第 12、13 章的这些机制解决数据移动问题,但只有参考、量程、分辨率、时序与校准一致时,数值结果才可信。
校准工作室允许引入传感器偏移与噪声、选择 ADC 分辨率与参考、捕获两个校准点,并驱动由 DAC 控制的风扇。错误配置不会被隐藏,而会表现为削顶、量化误差或错误的物理估计。
第 13 章通过明确的控制、状态与数据通路,把时间、批量传送、串行帧和物理信号连接到处理器。第 14 章将把这些通路与存储器、中断、软件和验证集成为一个完整系统。