ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

STM32MP2x PMIC选型与供电设计全流程解析

STM32MP2x PMIC选型与供电设计全流程解析 STM32MP2x这颗芯片从发布起就一直有人问我配套的PMIC到底怎么选网上资料说得很散有的直接甩一个型号让你照着画有的只讲芯片本身不提电源方案。这次我把STM32MP2x和PMIC的roadmap放在一起梳理清楚从为什么要配PMIC、有哪些可选方案到做整板供电设计时怎么一步步落地把选型、时序、调试、备料这些环节一次性讲透。先解释一下标题里的roadmap。这里说的是半导体厂商公开的产品路线图——ST针对某颗MPU所规划的配套电源芯片演进路线包括发布时间、稳定供货期、后续兼容型号。搞懂这张roadmap核心意义在于两件事选型时知道哪颗PMIC是官方确定的首选搭档不会选错量产阶段知道这颗PMIC会供货到什么时候避免产品生命周期走到一半被迫改板。对于长期做工业级产品的团队后者甚至比第一颗样片还要重要。硬件工程师、嵌入式软件工程师、项目经理如果手头正有STM32MP2x的项目这篇文章可以直接当作选型和供电设计的参考笔记。1. STM32MP2x为什么绕不开PMICST从STM32MP1时代开始就在推广“MPUPMIC”的组合方案。到STM32MP2x这一代这个趋势变得更明显。不是厂商想多卖一颗芯片而是MPU自身的电源需求已经摆在那里电压轨数量多、上电时序严格、功耗动态变化剧烈。随便用几颗LDO或者分立DCDC拼一个供电方案大概率会把板子调哭。1.1 STM32MP2x供电架构的几个硬指标STM32MP2x系列面向的是比MP1更高性能的工业应用场景核心数量多、主频高、外设复杂这就导致供电需求直接上了一个台阶。首先是电压轨的数量。一颗完整的STM32MP2x系统至少需要核心供电、DDR供电、IO参考、PLL模拟、ADC参考、以太网PHY、SD卡、USB等累计十几路电源。核心电压一般在0.8V左右DDR电压在1.1V到1.2V之间IO电压常见1.8V和3.3V这些轨之间还不能简单地并联共用。其次是上电时序的要求。MPU不像单片机那样上电就跑它在复位释放之前各个电源轨必须按照指定顺序逐级建立。顺序错了轻则启动失败重则损伤芯片内部逻辑。ST官方文档里会给出时序图要求例如3.3V先于1.8V、核心电压在复位释放前完成建立等。用分立电源芯片做时序一般要靠电源管理芯片的使能引脚串联或者外部逻辑延迟电路调试麻烦还占PCB面积。功耗的动态范围也是一个大问题。MP2x在跑重负载应用和高性能AI推理时核心电流可能瞬间拉高进入低功耗模式时电流又掉到几十毫安以下。电源方案如果响应速度慢动态负载下电压跌落会直接导致系统死机。这也是为什么ST坚持用专门的PMIC来配MPU——只有集成了多路DCDC、带动态电压调节、能配置完整上电时序的PMIC才能真正满足这些硬指标。1.2 分立方案为什么在量产阶段会后悔我知道有朋友习惯用“宽压DCDC多路LDO”搭一套万能供电板。我做STM32MP1项目时就吃过这个亏。第一版用某款经典DCDC芯片做5V转各路电压再配三个LDO给模拟和IO供电单板成本确实比PMIC便宜几块钱。但问题出在量产测试阶段某批次芯片的时序裕量偏小同一张板子在常温能启动、高温就偶发失败最后怀疑是某路电压建立时间和PMU内部逻辑不匹配。后来换回官方PMIC方案这个现象再没出现过。从工程角度看分立方案有三个绕不开的坑上电时序控制复杂靠RC延时或者使能串联既占PCB空间又难调时序参数。每路电源的软启动时间不一致系统复位释放的窗口很难精确对齐。PMIC自带的故障上报、欠压保护、过温保护在分立方案里全都得自己用比较器或监控芯片去补工作量巨大。所以对STM32MP2x这种级别的芯片直接用配套PMIC是降本增效的选择。表面看芯片成本高了一点但研发调试时间、测试失败率、后续维护成本都省下来了。这个账做过量产的人都会算。2. 从MP1到MP2xPMIC方案的演进路线ST的PMIC方案不是凭空跳出来的。看一遍STM32系列MPU的配套电源芯片路线图就能发现一个清晰的演进方向从MP1时代的STPMIC1到MP2x时代的STPMIC2系列每一代都在增加电压轨数量、提升电流能力、完善控制和监控功能。2.1 两代PMIC的核心变化STPMIC1是配STM32MP15x和STM32MP13x的经典PMIC集成了多路DCDC和LDO支持I2C控制可以配置上电时序当年在工业HMI和物联网网关里大量使用。但是当ST推出STM32MP2x之后STPMIC1在电压轨数量和最大电流上就不够用了。MP2x的性能更强对应的DDR带宽更高、外设更多需要更多的高质量电源轨。于是ST推出STPMIC2系列。这一代做了几个非常关键的变化增加了高压DCDC的数量和最大输出电流为高负载双核或四核场景预留余量。电压精度和动态响应能力提升匹配MP2x对核心电压稳定性的苛刻要求。新增/完善了电源轨的监控与上报功能支持更细粒度的状态读取。在封装上进一步优化热性能适配无风扇工业设备的工作环境。从roadmap的表述看STPMIC2x不是简简单单一颗芯片而是配合MP2x不同型号的一个产品家族每一颗都有明确的目标搭档。例如为MP25x高性能型号配套的版本和MP21x低成本型号配套的版本在DCDC数量和总功率上是有差异的。2.2 roadmap呈现的几个关键信号理解半导体厂商的roadmap关键是看三个时间节点第一个是新品首发时间第二个是进入长寿命周期的时间第三个是预计的稳定供货结束时间。ST在工业市场口碑不错很大程度就是因为MPU长寿命承诺做得规范。用STM32MP2x做工业网关、做仪器控制面板这些产品生命周期往往是五年、八年甚至更久如果选了一颗用两年就停产或者切换状态的PMIC后期被迫换料、改板这个成本远远超过省下来的几块钱。另一个信号是软件生态的绑定。ST的电源管理驱动会在官方BSP里自带适配PMIC的驱动和配置。MP2x的软件工程里PMIC基本上是默认搭配的从设备树配置到调压接口都已经写好。这意味着跟着roadmap走可以拿到官方验证过的整个软件链路稳定性是最高的。从这几个角度可以得出一个判断做STM32MP2x产品除非有极其特殊的功耗需求或成本约束否则最优解就是在STPMIC2系列里选对应型号尽量不要自己另辟蹊径。3. 从0到1STM32MP2x整板供电设计实操选型思路定下来以后真正的体力活是整板供电设计。很多第一次做MPU供电的工程师一上来就盯着原理图库怎么画却忽略了先做功耗估算和电源树规划。我建议按照“先计算、再选料、后设计”的顺序来下面把每一步拆开讲。3.1 先算总功耗别急着画原理图STM32MP2x各型号的功耗数值可以从数据手册里找到不同场景下的典型电流例如核心电流、DDR接口电流、各类IO消耗。做设计的第一步是列一张电源树表把每一路电压对应的负载全部列出来。拿一个典型的工业HMI主板来举例5V系统输入经PMIC生成各路电压。VDD_CORE约0.8V负载包括MPU核心和部分内部逻辑。VDD_DDR约1.1V给DDR4/DDR3L供电。VDD_IO3.3V或1.8V连接外部外设。模拟电源给ADC、PLL、USB收发器等。每一路都要在数据手册里找到最大电流值再叠加一定的设计余量。这里有一个实测经验余量不要盲目堆到50%以上因为PMIC的电感选型、热设计都会随电流变大而恶化一般按典型值加20%到30%的余量就够但要把瞬态峰值考虑进去。如果板载还挂了FPGA、大屏、无线模块这些负载也要在电源树里体现出来。完成表格以后汇总各路功耗。例如核心0.8V/3A、DDR 1.1V/2A、IO 3.3V/0.8A、模拟1.8V/0.5A加上PMIC自身损耗总功率大概就在6W到8W左右。这个数字直接决定了输入电源的规格如果用5V适配器供电至少要选10W以上的适配器如果用12V要单独考虑PMIC的前级降压。3.2 电感选型PMIC设计里最容易翻车的环节PMIC配合外部电感使用虽然数据手册会给出推荐值但很多工程师随手抓一个相近感值的电感就焊上去这是大忌。电感的关键参数不只是感值还有饱和电流、DCR直流电阻和自谐振频率。感值选小了纹波电流变大输出电压纹波超标感值选大了瞬态响应变慢动态负载下电压跌落更严重。ST的数据手册一般会给出针对不同输出电压的推荐感值范围例如某个DCDC通道在0.8V输出时推荐1.0µH到2.2µH。实际设计时我会先按推荐值取中间值再根据开关频率和输出电容做一次纹波计算。饱和电流必须按照最大负载电流加上纹波电流的一半来选。用一颗标称3A但饱和电流只有2A的电感去扛2.5A负载表面看电压正常重载瞬间电感磁芯饱和电流陡增轻则电压跌落重则烧PMIC。这类问题在实验室里很难复现一到高温满载测试就暴露。所以选电感的时候宁可选饱和电流大一档的也别卡着边界选。DCR影响效率。对BGA封装的PMIC来说散热条件本来就有限DCR每大一点满载时的温升都会明显上升。我用过一个DCR稍高的电感PMIC表面温度在25°C环境里跑满载能到85°C换成同规格但DCR低一半的电感温度直接降了10度。这个差异在量产中是实实在在的可靠性风险。3.3 上电时序的配置思路STM32MP2x要求各路电源按顺序建立。STPMIC2系列的时序控制是靠内部OTP配置或I2C寄存器来实现的硬件上不需要外接时序控制芯片。设计阶段要做的是把ST参考设计中的时序图吃透确认每一路电源的使能顺序和延时是否符合MPU的要求。这里有一个实操技巧拿到PMIC的评估板或者第一版自制板后第一步不是跑系统而是用示波器同时抓几路关键电压的上电波形。我习惯抓VDD_IO、VDD_DDR、VDD_CORE和复位信号确认它们的前后顺序和延迟时间。很多启动失败问题最后查出来都是某一路电压建立太慢导致MPU在复位释放前没有完成电源就绪判定。如果发现某路上电明显偏慢常见原因有两种第一种是输出电容太大充电时间过长第二种是PMIC内部该通道的软启动时间较长。针对前者可以适当减小输出电容针对后者可以通过寄存器调整上电延时。需要注意的是修改时序参数不能只调一路要全局看因为某一路提前建立可能导致后面的高压电源倒灌。3.4 输出电容和PCB布局的细节输出电容的选择同样有门道。PMIC的环路稳定性依赖输出电容的ESR特性。陶瓷电容的ESR很低对瞬态响应有利但过大的等效串联电感在某些频率下可能和PMIC内部补偿网络产生谐振。ST的参考设计里一般会给出输出电容的容值和数量新手直接照抄就好经验丰富的工程师可以微调但不要为了省空间把电容数量砍半。PCB布局上PMIC要靠近MPU放置但又不能完全塞在MPU下方否则散热互相影响。输入电容要铺在PMIC的输入引脚旁边输出电容紧贴输出引脚和电感。反馈采样点要尽量靠近负载端的远端不要直接在PMIC引脚处采样否则线损带来的压降全部体现在负载端重载时电压可能跌破阈值。我踩过一个比较典型的坑某路DDR电源的反馈采样点放在PMIC附近实测DDR颗粒端电压在满载时比设定值低了50mV导致系统跑内存压力测试偶发报错。把采样点移到DDR颗粒附近之后问题直接消失。所以布局阶段反馈走线要走远端采样并且要避开大电流路径的干扰。4. 软件侧和调试阶段的配合技巧硬件供电设计完成板子打样回来接下来就是软件配合。PMIC和MPU之间的通信通常走I2C需要重点关注配置的正确性、状态读取、动态调压和故障处理。4.1 设备树里如何配置PMIC节点在STM32MP2x的Linux BSP里PMIC作为一个I2C设备挂在设备树上。设备树节点里需要配置的内容包括PMIC的I2C地址、各个电压轨的初始电压、上下电时序参数、中断引脚等。ST官方提供的设备树模板通常已经写好了默认配置但有以下几点需要按实际硬件适配。第一I2C地址。STPMIC2系列的地址是固定的但不能假设所有板子都一样最好在原理图上确认地址引脚有没有上拉或下拉。第二各路初始电压。设备树里会有一个regulator节点的集合每个节点对应PMIC的一个输出通道。这里要注意DDR电压、核心电压、IO电压的默认值必须和硬件设计一致。如果BSP里的默认值和你实际调试用的电压不同启动阶段很容易出现异常。第三禁用不需要的通道。如果你的板子没有用到PMIC的某一路输出在设备树里把对应节点标成disabled同时确认硬件上有没有把该路输出空置或者接地。四中断配置。PMIC的中断输出引脚一般接到MPU的某个GPIO设备树里需要配置中断触发方式通常是边沿触发。中断里处理的事件包括欠压、过温、过流等BSP默认可能会把事件上报到内核日志这个有助于调试。4.2 动态电压调节的几种应用场景PMIC支持通过I2C动态调整输出电压这对低功耗设计非常关键。STM32MP2x在运行不同负载时核心电压可以通过驱动动态调整重负载时升压保证性能轻负载时降压省电。最常见的应用是cpufreq框架配合调压。Linux的cpufreq驱动在切换CPU频率时会同步调整核心电压。实现这个功能需要在设备树里把regulator节点和cpufreq驱动关联起来同时确保电压调整的延时足够短否则频率切换后会因为电压不足导致计算错误。另一个应用场景是系统进入低功耗模式时手动把各路电压调到最低允许值。这里要特别小心不是所有通道都支持无级调压每个通道都有明确的电压调节范围和步进值。调压之前先确认MPU在低功耗模式下的最小电压要求按数据手册的最小值再留一点裕量不要把电压压得太狠否则即使软件进睡眠了唤醒时也可能因为电压过低卡死。4.3 调试PMIC时的几个常用手段调试阶段我习惯准备三类工具示波器、电流探头、I2C调试工具。示波器重点抓三类信号上电时序、瞬态压降、纹波。电流探头放在输入电源线上看整板功耗是否符合功耗预算。I2C调试工具用来读写PMIC寄存器查看当前各路电压和状态位。有一种情况很常见板子跑着重负载测试突然死机复位后又能正常工作。遇到这种问题大概率是某路电压在瞬态负载下跌落超过阈值。用示波器在负载端抓取电压波形可以看到一个明显的下冲。如果下冲深度超过数据手册允许值就从三方面入手增大输出电容、优化反馈采样点、调整PMIC的环路补偿配置。还有一类问题是热相关的。PMIC在高温环境下满负载运行如果触发了过温保护整板电源被切断。排查时可以用热成像仪观察PMIC周围温度如果发现某颗电感或电容明显比周围热优先检查那颗物料的额定参数是否满足实际电流。几年前我遇到过一次过温关机最后发现是某颗电感的饱和电流标称虚标实际电流超过一半就发热严重。换掉以后问题解决从此再也不敢贪便宜买杂牌电感。5. 从样片到量产roadmap思维贯穿产品生命周期很多团队做产品只关心“这颗芯片能不能用”却忽略了一颗芯片能供应多久、后续有什么替代型号、软件维护会不会断档。这些正是roadmap的核心价值。当一个项目的生命周期有五到十年时理解并用好PMIC的roadmap可以直接决定产品能不能按计划量产、能不能稳定交付。5.1 备料的时候别只盯MPU芯片缺货的那几年很多人只盯着MPU采购却忽略了PMIC。PMIC虽然是电源芯片但它的供货风险一点都不低。MPU缺货大家会提前预警但PMIC这种看起来“通用”的物料反而更容易被忽略。等到即将量产时发现PMIC交期变成二十周整板就只能干等。所以我建议在BOM评审阶段就把PMIC的备料计划拉进来。确认当前型号的生周期状态、当前交期、有没有替代封装或替代版本。如果官方roadmap显示某一颗PMIC即将进入EOL状态但你的产品还要继续生产就要尽早把替代型号验证工作安排上。这颗验证不是简单替换需要重新确认上电时序、寄存器配置和PCB引脚兼容性这些工作最好提前一年启动。5.2 硬件改版时如何平顺迁移到新PMIC产品中期改版是常见情况。如果STM32MP2x还在长期供货但配套PMIC因为某些原因必须换型号迁移路径怎么走首先要确认新旧PMIC的引脚兼容性。如果引脚兼容硬件改版只需要微调周边参数软件基本不用动。如果不兼容那就必须重新设计供电区域同时设备树里配置也要整体更新。这里有个容易被忽视的细节即使两块PMIC引脚完全兼容寄存器默认值也可能不同。如果沿用旧代码里的寄存器配置可能会把新PMIC的某个通道电压设错。最稳妥的做法是拿到新PMIC后先读一遍所有寄存器的复位默认值和旧PMIC逐项对比再决定哪些配置可以沿用、哪些需要重新写。5.3 关注roadmap更新时的应对动作半导体厂商的roadmap不是静态文档它会定期更新。我每隔一段时间都会去厂商官网重点看三件事当前使用的PMIC是否新增了已知问题或勘误表。有没有发布新的封装或新版本型号是否影响引脚兼容。MPU和PMIC的配套组合是否有变化。如果官方推出了性能更好、价格更低的新型号评估是否值得切换。评估的标准不只是成本还包括新型号的评估板、BSP驱动、参考设计是否齐全老型号停产生效时间点是否明确。有些团队看到新芯片就急着换结果发现BSP对新PMIC的支持还不如老的稳定反而拖慢项目进度。我的建议是只要老型号没有EOL风险原设计能稳定量产就不必为了升级而升级。6. 个人经验几个值得重新审视的细节每次讲完STM32MP2x的供电方案都会有人问一些特别具体的问题。这些问题大部分都是我在项目中被真实问过、也真实踩过的。最后再梳理几个容易忽略但影响很大的细节。第一点是PMIC的输入电源质量。很多设计在PMIC输入端只放了一颗大容量电解电容却没有考虑到输入源本身的瞬态响应。如果适配器或前级DCDC在负载突变时出现明显的电压跌落PMIC的输入欠压保护可能被触发导致整板供电中断。建议在PMIC输入端加一个较快的输入欠压监控或者在硬件设计上留出足够余量的输入电容。第二点是I2C上拉电阻的取值。PMIC的I2C通信速率一般不需要特别高但上拉电阻过大会导致上升沿变慢偶发通信错误。过小会增加静态功耗。常规做法是参照MPU侧的I2C外设要求来选常见1k到4.7k之间。如果PCB走线较长我会选偏小一档的电阻同时确认总线上挂的其他I2C设备没有冲突。第三点是寄存器配置的版本管理。软件配置PMIC的代码一定要纳入版本管理并且在代码注释里写清楚每一版改了什么、为什么改。PMIC不像MCU那样每次上电都从Flash加载配置它的初始配置可能来自OTP或默认值。如果调试过程中发现要调整某路电压务必同步更新设备树和硬件设计文档否则三个月后回来看这块板子根本不知道当初为什么要设成这个电压。第四点是散热设计的协同。PMIC的热性能和PCB布局、外壳风道都有关系。如果整机是密封无风扇设计要把PMIC放在靠近金属外壳或散热片的位置同时确认数据手册里的Rth值是在什么条件下测试的。工业级产品在70°C环境温度下长期运行PMIC外壳温度可能超过100°C这个必须提前评估。第五点是EOL后的长期维护。就算PMIC真的进入了EOL状态不代表产品必须立刻改版。厂商通常会提供最后一次购买日期和最终交货日期利用好这个窗口期可以一次性采购足够量的PMIC同时并行开展替代方案验证。如果替代方案验证顺利未来产品切换时无需中断供应。STM32MP2x的PMIC方案表面看只是选了一颗电源芯片但实际上它牵涉到上电时序、动态调压、量产供货、软件适配和长期维护这一整条链路。跟着官方roadmap走可以少走很多弯路。希望这份梳理能帮正在做MP2x项目的朋友把电源方案这部分看得更透少踩几个我当年踩过的坑。
返回列表