ADC 对连续外部信号进行采样的概念和用法 - 以 M031/ M032 为例
M031/ M032 内建逐次逼近式模拟数字控制器 (SAR ADC),支持 12 位分辨率,每秒可实现两百万次采样 (Msps)。内建模拟多任务器 (Analog Multiplexer), ADC 输入信号可选择从外部管脚或者内部电压。利用 PDMA 功能,ADC 可以在没有 CPU 参与的情况下运行,执行最大采样率,最小化系统电流消耗,或允许 CPU 执行其它工作项目。
完整应用笔记讨论了 ADC 一般操作流程、软硬件注意事项及 PDMA 的使用方法。最后范例程序以 PDMA 和 ADC 来展示连续采样外部信号的流程。
概述
下图说明输入信号,参考电压选择和寄存器的内部连接方式,并包含以下功能:
-
一组 12 位分辨率 SAR ADC 并带独立 VREF 管脚
-
多达 16 路的单端输入通道或 8 组全差分仿真输入通道
-
1 个内部输入通道 band-gap voltage (VBG)
-
A/D 转换开始条件:
-
软件向 ADST 位写1
-
外部 (STADC) 管脚触发
-
Timer 0~3 溢出脉冲触发
-
PWM 事件触发
-
每个信道的转换结果储存在相应数据寄存器内,并带有有效和覆盖标志
-
支持 PDMA 传输模式,将转换结果储存在用户指定的目标地址


输入模式选择
ADC 输入模式可以选择为单端输入或全差分输入。当 DIFFEN(ADC_ADCR [10]) 为 1,ADC 为差分输入。
单端输入
如图「ADC 单端输入信号」所示,在单端输入模式下,AVSS 或者 VSS 为 ADC 负端输入的信号 (AIN-),外部输入电压为 ADC 正端输入的信号 (AIN+)。如「ADC 单端输入模式转换结果映像图」所示,在 0V 和参考电压 (VREF) 之间,切分出微小电位阶。其数字结果以 0 到 4095 的无符号数,表示输入电压位于 0V 和参考电压 (VREF) 之间的位置。
ADC 单端输入信号

ADC 单端输入模式转换结果映像图
全差分输入
如图「ADC 全差分输入信号」所示,在全差分输入模式下,测量值是两个输入信号之间的差值,两个输入信号必须为 180° 反相信号,并固定共模电压为 VREF/2。由于一个输入管脚被定义为正输入管脚 (AIN+) 而另一个被定义为负输入管脚 (AIN-),因此根据哪个输入信号更高,差值可以是正的或负的。如「ADC 全差分输入模式转换结果映像图」所示,当 DMOF(ADC_ADCR [31]) 设置为 1 时,转换结果是以二的补码码形式表示的有符号数,或者当 DMOF(ADC_ADCR [31]) 设置为 0 时,转换结果是以二进制格式表示的无符号数。

ADC 全差分输入信号

ADC 全差分输入模式转换结果映像图
结论
完整的应用笔记基于应用角度,介绍模拟数字转换器的规格和特性。然后说明如何透过外部参考电压管脚 VREF、TSMP 设定及校准,最小化 ADC 误差并获得最佳 ADC 精准度的方法和应用设计规则。一旦用户掌握了这良好工作知识,就可以依照应用要求,基于速度、精准度及计算能力选择最适合软硬件设计参数。另外在 ADC 运行过程中,介绍利用 PDMA 快速地搬移数据或者利用数字比较器功能来侦测温度传感器、压力传感器及声音传感器,减少进出 ADC 中断次数,降低 CPU 负担,让 CPU 可以处理更多任务。