2. MCX混合信号测量系统架构

MCX系列微控制器的混合信号测量能力,本质上不是“ADC采一个电压”这么简单,而是一条从外部物理量到数字结果的完整信号链。理解这条链路上每个模块的位置、职责和相互约束,是后续做采样精度优化、通道扩展和实时控制的基础。本节以MCX内部ADC、DAC、比较器(CMP)、运算放大器(OPAMP)以及触发互连矩阵为核心,梳理它们的协同关系与数据流。

一、信号链的分层结构

从宏观上看,MCX混合信号测量系统可以划分为四层:

  • 模拟输入层:外部传感器、分压网络、RC滤波、保护电路,决定进入芯片前的信号质量。
  • 模拟前端层(AFE):片内OPAMP、模拟多路开关、PGA(部分型号)、内部参考源VREF,负责信号缓冲、放大、偏置和通道选择。
  • 转换与比较层:ADC完成模拟量到数字量的量化,DAC输出设定阈值或偏置,CMP完成快速模拟比较并产生事件。
  • 数字后处理层:ADC结果经FIFO、DMA、触发路由进入CPU或eDMA,再由软件做滤波、标定、阈值判断和闭环控制。

这四层之间不是单向串行,而是通过触发矩阵和事件互连形成反馈:CMP的输出可以触发ADC采样,ADC转换完成可以触发DMA搬运,DAC可以动态更新CMP的参考阈值,从而构成“测量—判断—响应”的闭环。

模拟输入层 模拟前端层 转换与比较层 数字后处理层 传感器/分压 RC滤波 保护/钳位 OPAMP 缓冲/放大/偏置 模拟多路开关 通道选择 VREF 内部/外部参考 ADC 12/16bit 逐次逼近 DAC 阈值/偏置输出 CMP 快速比较/事件 FIFO 结果缓存 eDMA 无CPU搬运 CPU/软件 滤波/标定/控制 触发互连矩阵 TRGMUX / XBAR CMP → ADC 触发 ADC → DMA 请求 DAC → CMP 阈值 定时器 → ADC 周期 软件 → 通道切换 CMP事件触发ADC采样(闭环) DAC更新CMP阈值 实线:信号/数据流 虚线:触发/反馈路径

二、各模块的职责与协同关系

ADC是测量链的核心。MCX的ADC通常为12位或16位逐次逼近型(SAR),支持单端和差分输入。它的输入来自模拟多路开关,参考电压来自VREF模块。ADC的转换可以由软件启动,也可以由定时器、CMP或外部引脚触发。转换结果写入结果寄存器或FIFO,并可产生DMA请求。

DAC在测量系统中常被低估。它有两个典型用途:一是为CMP提供可编程的参考阈值,使比较判断不依赖外部基准;二是为OPAMP或ADC提供偏置电压,实现单电源下的双极性信号测量。例如,当输入信号是±1V的正弦波时,可以用DAC输出1.65V偏置,将信号抬升到0~3.3V范围内再送入ADC。

CMP提供纳秒级到微秒级的快速模拟判断能力。它的正负输入端可以分别连接到外部引脚、DAC输出或内部参考。CMP的输出可以直接触发ADC、定时器或DMA,也可以作为GPIO输出。在过流保护、过零检测、窗口比较等场景中,CMP承担“硬件快速响应”的角色,避免软件轮询带来的延迟。

OPAMP用于信号调理。MCX片内OPAMP通常可配置为电压跟随器、同相放大器或差分放大器。它的输出可以内部连接到ADC输入通道,也可以引出到引脚。OPAMP的带宽和压摆率决定了它能处理的信号频率上限,设计时需要根据信号带宽选择。

三、数据流与触发路径

以“过流保护+电流采样”为例,说明典型数据流:

  1. 电流经采样电阻转换为电压,经RC滤波后进入OPAMP同相放大,增益设为10倍。
  2. OPAMP输出分为两路:一路送ADC通道0,用于精确测量电流值;另一路送CMP正输入端。
  3. DAC输出设定过流阈值对应的电压,接到CMP负输入端。
  4. 当电流超过阈值时,CMP输出翻转,通过TRGMUX触发ADC立即采样,同时触发定时器关闭PWM输出。
  5. ADC转换完成后产生DMA请求,eDMA将结果搬运到内存缓冲区,CPU在缓冲区满后统一处理。

这条路径中,CMP负责“快”,ADC负责“准”,DMA负责“不丢数据”,三者通过触发矩阵协同,形成硬件级闭环。

四、关键配置参数与示例

以下是一组教学示例参数,用于说明ADC、DAC、CMP的协同配置思路(非实测值,仅作配置结构参考):

模块 参数 示例值 说明
ADC 分辨率/参考 12bit / VREF=3.3V LSB≈0.806mV
ADC 采样时间 1.5μs 匹配OPAMP建立时间
DAC 输出码值 0x800 (2048) 输出约1.65V偏置
CMP 阈值来源 DAC输出 阈值可动态调整
CMP 响应时间 <1μs 用于过流快速关断
OPAMP 增益 10倍 同相放大配置
配置要点:ADC采样时间必须大于OPAMP输出建立时间,否则转换结果会偏低。CMP阈值应设置在ADC满量程的80%~90%之间,留出噪声余量。DAC更新阈值时,建议在ADC空闲期写入,避免转换过程中参考跳变。

五、常见问题与判断依据

在实际调试中,如果发现ADC读数跳动大,首先检查VREF是否稳定、OPAMP输出是否振荡、采样时间是否足够。如果CMP误触发,检查阈值是否过于接近信号噪声带,以及CMP是否配置了迟滞。如果DMA搬运不完整,检查触发源是否与ADC转换完成标志正确连接。

判断信号链是否正常,可以按以下顺序观察:先用DAC输出固定电压,确认ADC读数与理论值一致;再用信号源输入已知幅度的正弦波,观察ADC采样序列的峰峰值和信噪比;最后让CMP在已知阈值下翻转,用GPIO输出或定时器捕获验证响应时间。每一步都建立在前一步正确的基础上,避免多个变量同时变化导致定位困难。

MCX混合信号测量系统的价值,在于把模拟调理、快速比较、精确量化和无CPU搬运整合在同一芯片内,通过触发互连减少软件延迟。理解这条信号链的每一段,才能在测量精度、响应速度和系统功耗之间做出合理取舍。