3、数字控制器选型:DSP与MCU的对比、常用数字电源控制器与外设资源评估

选型这件事,说白了就是找一把趁手的兵器。做数字电源,控制器就是你的大脑。选错了,后面调死你。选对了,事半功倍。

我个人习惯把选型拆成三步走:先看架构(DSP还是MCU),再看具体型号(TI还是ST),最后抠外设细节。咱们一步步来。

3.1 DSP vs MCU:核心架构之争

很多人问我:“做数字电源,到底用DSP还是MCU?”

我的回答是:看你的环路有多快,算法有多复杂。

DSP(数字信号处理器)天生为数学运算而生。它的MAC(乘累加)单元可以在一个时钟周期内完成乘法+加法。这对PID、滤波器、傅里叶变换来说,简直是开挂。

MCU(微控制器)强在控制逻辑和接口。它的PWM定时器、ADC触发、GPIO中断,设计得极其灵活。但做数学运算,尤其是浮点运算,就有点吃力了。

我做过一个对比表,你可以参考一下:

对比维度 DSP(如TMS320F280049) MCU(如STM32G4)
数学运算能力 单周期MAC、硬件除法、三角函数加速 依赖Cortex-M4 FPU,运算效率低30%-50%
PWM分辨率 150ps高精度PWM(HRPWM) 典型值~1ns(取决于时钟和定时器)
ADC触发灵活性 PWM事件直接触发,延迟<10ns 通过定时器触发,延迟~50ns
中断响应 可预测的固定延迟(~12个时钟周期) 可变延迟(受中断优先级和总线仲裁影响)
开发难度 中等(需要理解DSP架构) 较低(生态成熟,资料多)
成本 中高($3-$15) 中低($1-$8)

核心结论:如果你的开关频率超过200kHz,或者需要做多环路控制(电压环+电流环+前馈),老老实实选DSP。如果频率在100kHz以下,且控制逻辑简单,MCU完全够用。

3.2 常用数字电源控制器详解

市面上主流的数字电源控制器,基本被TI和ST两家包揽。我重点说说我用得最多的两个系列。

3.2.1 TMS320F280049:DSP阵营的扛把子

这个芯片我用了三年。说实话,第一次接触时被它的外设矩阵搞晕了。但用顺手之后,真香。

它的核心优势在于:

  • CLA(控制律加速器):一个独立的协处理器,可以并行执行控制算法。我做过一个项目,主CPU跑通信和监控,CLA跑电流环,效率直接翻倍。
  • HRPWM(高分辨率PWM):150ps的精度,意味着你可以把占空比调到小数点后四位。对于LLC谐振变换器这种对死区时间极其敏感的应用,这是刚需。
  • 12位ADC + PGA:内置可编程增益放大器,可以直接采集电流采样电阻上的mV级信号,省掉外部运放。

我的经验:F280049的CLA虽然好用,但调试起来有点麻烦。我建议你先在主CPU上把算法跑通,再移植到CLA上。别一上来就搞并行,容易翻车。

3.2.2 STM32G4:MCU阵营的搅局者

ST的G4系列,说白了就是为数字电源量身定做的MCU。它把Cortex-M4的FPU和一堆模拟外设打包在一起,性价比极高。

它的亮点在于:

  • CORDIC协处理器:硬件加速三角函数、双曲函数。做PLL锁相环或者坐标变换时,速度比纯软件快10倍。
  • HRTIM(高分辨率定时器):217ps的PWM分辨率,虽然不如TI的150ps,但应付大多数场景绰绰有余。
  • 内置运放和比较器:最多7个运放,6个比较器。你可以用它们做逐周期过流保护,响应时间<100ns。

我曾经在一个48V/10A的Buck-Boost项目里用过STM32G474。当时选它的原因很简单:便宜,而且ST的HAL库写起来比TI的库函数顺手。但后来发现,它的ADC采样抖动比TI大,需要做软件滤波。

避坑指南:STM32G4的HRTIM虽然精度高,但配置极其复杂。我建议你直接用ST的CubeMX生成初始化代码,别手写。我曾经手写HRTIM配置,结果死区时间设反了,炸了一对MOSFET。

3.3 外设资源评估:选型的关键

很多新手选芯片,只看主频和Flash大小。这是大忌。数字电源的外设资源,才是决定成败的关键。

我列了一个外设评估清单,每次选型我都会逐条核对:

  1. PWM通道数:你需要几路互补PWM?死区时间可调吗?支持硬件插入死区吗?
  2. ADC采样率:至少是开关频率的10倍。比如200kHz的开关频率,ADC采样率至少要2Msps。
  3. ADC触发源:能否由PWM事件直接触发?触发延迟是多少?
  4. 比较器数量:逐周期过流保护需要几个?每个比较器的响应时间是多少?
  5. DAC输出:是否需要DAC做参考电压或偏置?
  6. 通信接口:PMBus、I²C、SPI、CAN,你需要哪些?
  7. DMA通道:ADC数据能否通过DMA自动搬运到内存?

为什么会这么重视外设?我举个例子。有一次我做三相维也纳整流器,需要6路PWM、3路ADC同步采样、3个比较器做逐周期保护。当时我选了一颗便宜的芯片,结果发现它的PWM和ADC不能同步触发,导致采样点总是偏了半个周期。最后不得不换芯片,项目延期两周。

我的建议:选型时,先画一张外设资源需求表。把每个外设需要的数量、精度、响应时间列出来。然后拿着这张表去对比芯片。别只看数据手册首页的“亮点”,要翻到“外设特性”那一章,逐字逐句看。

3.4 选型决策流程图

下面这张图是我自己总结的选型流程。每次做新项目,我都会走一遍这个流程,基本不会出错。

数字电源控制器选型决策流程图 数字电源控制器选型决策流程 开始选型 开关频率 > 200kHz? 或需要多环路控制? 是 选择DSP(如TMS320F280049) 外设资源满足需求? PWM/ADC/比较器/通信 是 确定选型 否,换型号 否 提示:如果外设不满足,优先考虑同系列更高型号,而不是换架构

3.5 我的选型建议

说了这么多,最后给点实在的建议。

  • 如果你做的是大功率(>1kW)或高频(>200kHz)的电源:别犹豫,上TMS320F280049。它的HRPWM和CLA是刚需。
  • 如果你做的是中小功率(<1kW)或消费类电源:STM32G4性价比最高。它的CORDIC和HRTIM足够应付大多数场景。
  • 如果你做的是多路输出或模块化电源:注意看芯片的PWM同步能力。TI的EPWM模块可以轻松实现多芯片同步,ST的HRTIM在这方面稍弱。

最后一句:选型没有绝对的对错,只有合不合适。我见过有人用STM32F103做500kHz的LLC,也见过有人用TMS320F28379D做50kHz的Buck。关键是你对芯片的熟悉程度,以及你愿意花多少时间在调试上。