2. Microchip MCU硬件平台与实时控制外设

Microchip的8位、16位和32位MCU产品线覆盖了从简单电机驱动到多轴伺服、数字电源、光伏逆变等实时控制场景。选型的第一步不是比较主频,而是先确认控制环路需要哪些外设、这些外设能否在目标开关频率下协同工作。PIC、AVR、SAM、dsPIC四条主线在实时控制能力上的定位差异明显:PIC以低成本、外设灵活著称;AVR在5V工业与家电控制中生态成熟;SAM基于Arm Cortex-M,适合需要DSP指令、较高算力和丰富通信接口的场合;dsPIC则把DSP引擎与MCU外设集成在一起,是电机与数字电源控制的主力。

四条产品线的实时控制定位

PIC16/PIC18适合几十kHz以下的PWM控制,外设简单、响应确定,常用于风扇、小功率DC-DC和家电。AVR(如ATmega、ATtiny)在5V系统中抗干扰好,定时器与ADC资源均衡,适合继电器、步进电机和低成本BLDC。SAM系列(SAMD、SAMC、SAME)基于Cortex-M0+/M4/M7,带硬件除法、DSP指令和DMA,适合需要复杂算法、CAN或以太网的工业控制。dsPIC33系列在MCU基础上增加DSP指令、桶形移位器和双数据取指,配合高速PWM、12位ADC和比较器,可在单周期内完成PID运算与PWM占空比更新,是FOC、PFC、LLC等高频环路的首选。

PWM、ADC、比较器、定时器、DMA的协同架构

实时控制外设不是孤立模块,而是一条从采样到执行的信号链。以dsPIC33的电机控制为例:PWM模块产生带死区的互补输出,同时触发ADC在PWM周期中点采样相电流;ADC转换完成后产生中断或触发DMA,把结果搬入RAM;CPU在中断中执行Clarke/Park变换和PID,更新PWM占空比。比较器可旁路CPU,直接根据电流或电压阈值关断PWM,实现硬件级过流保护。定时器提供系统时基和输入捕获,用于测速或捕获霍尔信号。DMA则把ADC、UART、SPI的数据搬运从CPU卸载,保证控制环路周期稳定。

dsPIC33实时控制外设信号链 高速PWM 互补输出 + 死区 周期/占空比寄存器 12位ADC PWM中点触发采样 多通道扫描 CPU + DSP Clarke/Park变换 PID运算 DMA ADC→RAM搬运 UART/SPI卸载 比较器 + 故障输入 阈值比较 硬件关断PWM 定时器 系统时基 输入捕获测速 三相逆变桥 MOSFET/IGBT 驱动电机绕组 PMSM/BLDC 相电流/反电动势 霍尔/编码器 触发 结果 占空比更新 DMA搬运 6路PWM 三相 电流/电压反馈 故障关断 时基 关键协同关系 • PWM周期事件触发ADC采样,保证采样点与开关纹波相位固定,避免电流采样噪声。 • ADC结果经DMA搬入RAM,CPU在中断中读取,减少中断延迟和总线占用。 • 比较器直接连接PWM故障输入,过流时无需CPU介入即可在纳秒级关断输出。

选型时真正要核对的参数

面对具体项目,建议按以下顺序核对:第一,PWM分辨率与死区。电机控制通常要求PWM分辨率不低于10位,死区可编程且步进小于10ns;数字电源则要求更高分辨率(如1ns级)和更灵活的触发。第二,ADC采样率与触发源。FOC需要每个PWM周期采样两相电流,ADC总转换时间必须小于PWM周期的1/4,且支持PWM触发和DMA。第三,比较器响应时间。过流保护要求比较器传播延迟加PWM关断延迟小于功率管允许的短路时间,通常需小于1μs。第四,DMA通道数。多路ADC、UART、SPI同时工作时,通道不足会导致CPU频繁搬运,破坏控制周期。第五,运算能力。dsPIC33CK在100MHz下可单周期完成16×16乘加,适合20kHz以上电流环;SAM E70带FPU和DSP指令,适合更复杂算法但需注意中断延迟。

一个可参考的选型判断表

应用场景 推荐系列 关键外设要求 典型开关频率
小功率DC-DC PIC16/PIC18 1路PWM、10位ADC、1个比较器 50~200kHz
家电BLDC AVR ATmega 3路互补PWM、8位ADC、模拟比较器 20~40kHz
工业伺服 dsPIC33CK 高速PWM、12位ADC、DMA、比较器 20~50kHz
数字电源PFC dsPIC33CH 高分辨率PWM、高速ADC、斜率补偿 100~300kHz
多轴运动控制 SAM E70/SAME70 Cortex-M7、FPU、DMA、CAN-FD 10~20kHz
选型时不要只看数据手册的“最大ADC采样率”。实际可用采样率受触发源、DMA通道和中断响应共同限制。建议在目标PWM频率下,用示波器观察ADC触发到PWM更新的总延迟,确认控制环路相位裕度是否满足要求。

从外设到控制环路的落地检查

确定型号后,先配置PWM时基和死区,用示波器确认互补输出无重叠;再配置ADC触发源为PWM周期事件,读取ADC结果寄存器验证采样值随输入电压变化;接着启用DMA,把ADC结果搬到数组,用调试器观察数组是否每周期更新;最后接入比较器故障输入,人为触发过流,确认PWM能在设定时间内关断。这四步走完,实时控制外设的底层通路才算真正打通,后续的算法移植才有稳定基础。