ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

驱动与功率塞进MCU:硬件设计从分立走向融合

驱动与功率塞进MCU:硬件设计从分立走向融合 前阵子整理元器件柜翻出一堆MOSFET栅极驱动芯片、半桥驱动、LDO、电平转换模块还有几片CH340和FT232。看着这些吃灰的IC不由得想起这几年画过的板子早几年的电机驱动板至少要摆三颗芯片——一颗MCU负责逻辑一颗栅极驱动负责放大PWM再配一组大电流MOSFET供电那边还得单独加一颗LDO把电压稳住。现在再看新项目很多板子上这些外围芯片已经悄悄消失了MCU周围干干净净剩下的只有一颗电感、几个电容、一组功率端子。这就是我今天想聊的话题——驱动、功率正在被塞进MCU里。我理解的“塞进”有两层含义一是物理集成把驱动级、功率级、电源管理模块做进MCU封装让一颗芯片干以前三颗甚至五颗芯片的活二是功能下沉把过去依赖外部电路的功率控制、信号调理、通信物理层能力搬进MCU内部。这对硬件工程师、嵌入式工程师、电子爱好者来说是个值得关注的趋势因为它直接改变了我们画板子、选型、查故障的方式。这篇文章我会从为什么会有这个趋势、集成形态有哪些、实际项目里怎么选型怎么设计、调试时会踩哪些坑这几块展开尽量讲得实在一些。1. 趋势拆解为什么驱动和功率会挤进MCU1.1 传统方案到底“重”在哪要先理解这个趋势的驱动因素得回头看传统方案的痛点。以一块典型的直流无刷电机驱动板为例传统架构大概是这样的主控MCU负责产生PWM信号和换相逻辑栅极驱动芯片负责把3.3V/5V的PWM逻辑电平转换成高边MOSFET需要的浮动驱动电压同时提供足够的峰值驱动电流功率级用6颗N沟道MOSFET搭成三相全桥电源侧需要一颗LDO或Buck给MCU和驱动芯片供电此外还要加电流采样电阻和运放把母线或相电流反馈给MCU的ADC。一套下来BOM里至少有几十个元器件。每个器件都有失效率板子面积也下不来。尤其是消费类小产品、电动工具、手持设备这些对体积和成本敏感的领域这种分散式架构渐渐变得不划算。最现实的问题有两个一是贴装成本每多一颗IC就多一份贴片费用和供应链管理成本二是PCB面积三颗芯片加上周边的去耦电容、电阻算起来和一颗大封装MCU的占地面积差不多。1.2 三个直接的推动力推动驱动和功率往MCU里集成我认为有三个核心原因。第一个是系统小型化。这很好理解TWS耳机充电盒里的主控、电动牙刷里的主控、指尖陀螺的主控空间就指甲盖那么大不可能塞一套完整的分立功率链路。把栅极驱动、MOSFET、电源管理压进一颗MCU之后外围只需要几颗被动器件就能跑起来。第二个是成本压力。半导体行业最擅长用集成度换成本。一颗集成了栅极驱动和MOSFET的MCU售价可能比分立三件套还便宜更不用说省掉的PCB面积、贴装费用、来料检验成本。在消费电子行业里一颗芯片只要便宜几毛钱就足以让项目经理拍板换方案。第三个是可靠性。板级故障点少了连接关系短了EMI环路也小了。以前栅极驱动芯片和MOSFET之间那几厘米走线在开关瞬态下就是一根发射天线集成之后驱动回路离功率管只有几百微米寄生电感大幅下降振铃和电压尖峰都会明显改善。我们后面讲EMC测试时会再展开这一点。1.3 芯片工艺和封装技术的底子驱动和功率能集成进MCU工艺和封装功不可没。早年MCU基本都是纯低压CMOS工艺几十伏都顶不住更别说把功率管做进去。现在主流厂商在MCU上普遍采用了BCD工艺——双极型、CMOS、DMOS三种器件结构做在同一颗芯片上。BCD工艺的优势是逻辑部分保持CMOS的低功耗高密度模拟部分用双极型器件保证精度和驱动能力输出级用DMOS器件承受高压大电流。像意法半导体的STM32系列、英飞凌的电机控制MCU、TI的C2000系列很多都部分采用了类似的工艺思路。封装层面也在变。以前QFN、LQFP封装主要考虑引脚数和散热现在不少MCU为了功率集成专门设计了带大面积裸焊盘的封装甚至用铜夹片互联代替金丝键合来降低导通电阻和热阻。比如一颗带内置MOSFET的MCURDS(on)可以做进几十毫欧封装热阻控制得当的话连续输出一两安培电流完全可行。这是以前纯信号型MCU不敢想的事。2. “驱动”塞进MCU不只是一句口号2.1 从GPIO增强到自带栅极驱动器“驱动”这个词在不同场景下含义不同。最底层的是IO驱动能力增强。以前MCU的GPIO灌电流/拉电流一般也就几毫安到二十毫安驱动LED、蜂鸣器、小型继电器勉强够用但余量不大。现在很多MCU把IO口驱动能力做到了几十毫安可以直接推LED灯组、MOSFET栅极、压电蜂鸣器。这对应了“LED闪灯驱动芯片”那个热词反映的痛点——很多低成本灯效产品以前非要加一颗专用LED驱动芯片现在MCU内部集成高驱动IO之后软件PWM就能直接点亮控制灯珠省掉一颗IC。再往上一层是栅极驱动器集成。这是电机控制类MCU最大的变化。以前做BLDC或PMSM控制MCU输出3.3V PWM信号外部必须搭配一颗三相栅极驱动芯片比如IR2101、DRV8300这类。现在不少电机控制MCU把栅极驱动级直接做进了芯片内部引脚可以直接接MOSFET的栅极。更有甚者像TI的MSPM0系列某些型号、或者一些国产电机专用MCU把整个三相栅极驱动连同电荷泵都做进去了你只需要外接6颗N-MOSFET甚至直接把功率管都省一部分。这里有个细节值得注意栅极驱动集成后自举电路仍然是需要的只是从“驱动芯片内部完成大半”变成“MCU内部完成大半”。具体来说高边MOSFET要导通栅极电压必须高于源极电压需要自举电容把电压“抬起来”。这个自举电容和续流二极管通常还得放在外部。我没少见过新入行的朋友以为用了集成栅极驱动的MCU就不需要自举电容结果高边根本打不开。所以集成是集成外围被动器件的设计并没有完全消失。2.2 通信物理层也开始下沉“驱动”还有一个容易被忽视的层面就是通信物理层的集成。以前MCU要跟电脑通信最省事的办法是外挂一颗USB转UART芯片也就是CH340、FT232、CP2102这些。做硬件的朋友对这些芯片再熟悉不过了ST-Link、J-Link调试器里面也大量使用这类方案。现在很多MCU直接把全速USB PHY做进去了一颗芯片就能当USB设备用不再需要外置转接芯片。尤其是ARM Cortex-M系列USB从设备几乎是标配了。再比如CAN总线以前MCU只带CAN控制器必须外接一颗CAN收发器比如TJA1050。现在部分面向车载和工业应用的MCU开始集成CAN收发器或者至少集成了部分模拟前端。这个趋势刚起步因为CAN收发器要承受高共模电压和瞬态干扰和MCU的弱电工艺还是有冲突的做进同一颗芯片需要专门的隔离和ESD设计。我个人看法是完全集成收发器短期内还不一定普及但至少控制器已经高度标准化外部收发器也会越来越小型化。ST-Link这个热词也挺有意思。很多调试器本质上就是一颗MCU跑着固件也就是说“调试驱动”这个功能已经是被另一颗MCU“塞进去”了。这其实说明MCU的性能已经足够处理USB协议栈加调试协议不需要专门的协议芯片了。从玩家的角度看现在ST-Link V2很便宜也是因为方案成熟、固件开源一颗普通MCU就顶替了早期复杂的专用芯片。2.3 IO电平自适应与信号调理驱动集成还体现在信号链上。有些MCU的IO支持1.8V到5V电平自适应甚至内部集成电平转换器和可编程比较器、运算放大器。这极大简化了外围电路设计——以前传感器信号要先过运放放大、再进ADC现在MCU内部的PGA可编程增益放大器可以直接把毫伏级信号放大到ADC的量程范围。我举个实际例子。以前做一个压力传感器采集外围要放一颗仪用放大器精心调零漂和增益电阻。现在用带PGA的MCU软件里配置好增益就能搞定而且还能通过寄存器动态切换增益适应不同量程的传感器。这种“信号调理能力下沉”虽然没有栅极驱动那么显眼但在工业传感器、手持仪表、医疗小设备上用处很大也是“驱动”概念的重要延伸。3. “功率”进MCU电源管理和功率器件集成3.1 内部LDO、DC-DC和电荷泵“功率”塞进MCU的一个重要体现在电源管理模块。绝大多数MCU内部都已经集成了稳压器输入5V或者3.3V内部输出稳定的核电压这部分大家比较熟悉不多说。真正值得关注的是现在有些MCU开始集成面向外设的电源输出甚至集成了DC-DC控制器或者电荷泵可以把外部电池电压转换成系统需要的多路电压轨。举个例子如果MCU内部集成了一路Buck控制器外部只需要一颗电感和一两颗电容就能输出1.8V或3.3V给传感器、SD卡、显示屏等外设供电。这直接省掉了一颗独立电源芯片。对电池供电的小设备来说这个集成特别有意义——原来LDO方案发热严重、电池消耗快独立Buck又太占地方集成Buck控制器几乎是完美折中。电荷泵也是常见的集成单元用来产生负压或者升压给显示模组、运放供电。我见过有的MCU内部集成负压电荷泵专门用于LCD偏压或者音频电路负电源外围只需要两三颗小电容。这在可穿戴设备里非常实用省掉了负压生成专用芯片。3.2 功率开关与PMOS控制电路热搜词里有个“mcu控制pmos开关的电路配置”这个点很值得展开。在低功耗系统中用PMOS做高边开关实现电源通断是经典做法以前要搭配三极管或专用负载开关芯片现在很多MCU的GPIO可以直接驱动PMOS。但这里有一个容易踩的坑PMOS是低电平导通、高电平截止而它在源极接电源、漏极接负载的拓扑中栅极电压要拉到接近源极电压才能可靠关断。如果MCU的工作电压和PMOS源极电压一样比如都是3.3V那GPIO直接拉高3.3V就能关断PMOS很简单。但如果PMOS源极接的是电池电压4.2V或更高MCU输出高电平只有3.3V这时候栅极电压只有3.3VPMOS的VGS就是负的0.9V可能处于半导通状态无法彻底关断静态功耗直接漏掉。解决方案通常有三种用三极管做电平转换或用MCU内部的电荷泵产生高于源极的电压或者选导通阈值更深的PMOS。我实际做过一个低功耗门禁设备电池电压在3.3V到4.2V之间波动MCU用电池直接供电GPIO高电平始终等于电池电压这种情况下PMOS栅极跟随电源电压关断就没问题。后来换了一版设计MCU改用内部LDO稳定在3.3V供电而PMOS源极还是接电池立刻就出现了高边关不死、整机待机电流多出几毫安的问题。这就是典型的集成电源架构改变导致的外围适配问题。做这种电路时务必先确认清楚MCU的IO高电平电压和负载侧的电源电压是否一致不一致就要补电平转换。3.3 功率模拟前端与算法算力“功率”另一层意思是功率领域的计算能力。现在很多MCU内置了高精度ADC、差分输入、可编程增益放大器、甚至Σ-Δ型ADC可以直接做电流采样、电压采样、电量计量。配合硬件乘加器、FPU、DSP指令集MCU已经能实时跑功率计算、MPPT跟踪算法、电机磁场定向控制FOC这些以前需要DSP或额外协处理器的任务。这从“超短期光伏功率预测”这个热词也能看出一些趋势。光伏逆变器或者微型光伏系统里以前要用专门的计算芯片跑预测算法现在高性能MCU可以在本地完成光伏功率采集、趋势计算、MPPT扰动观察甚至跑轻量级的功率预测模型。当然超短期预测如果要考虑气象数据、云端模型MCU只做执行端但如果是小规模单板系统MCU本地的算力已经够跑简化版算法了。说到底MCU算力增强是“功率”算法下沉的基础。3.4 散热设计不可忽视功率集成最大的代价是散热。芯片内部从LDO、驱动器到功率MOSFET所有热量都集中在同一颗封装里热密度远高于传统分立方案。设计时必须认真对待thermal pad的焊接质量、PCB铜箔铺铜面积、散热过孔数量。我自己的经验是评估一颗集成功率功能的MCU时一定要看数据手册里的热阻参数常用的有两类一个是结到环境热阻RθJA一个是结到封装顶部或焊盘的热阻RθJC。如果连续工作电流比较大最好做一下热仿真或者实测别等板子打样回来才发现芯片表面烫到不能碰。另一个常用手段是在PCB上预留更大的接地铜皮甚至把芯片下面的散热焊盘落在完整地平面层上通过过孔把热量导到背面铜皮。4. 实战视角典型应用的选型与设计4.1 一个PMSM电机驱动项目的选型对比我前阵子帮朋友评估过一个微型PMSM驱动板项目要求在30mm×30mm的板子上实现三相无感FOC控制额定母线电压24V额定相电流1.5A。最早的方案是MCU加外部栅极驱动加6颗MOSFET加LDO算下来板子面积非常紧张。后来换成集成栅极驱动的电机控制MCU型号这里不特别点名大家按自己的采购渠道选即可板子上只剩MCU、6颗MOSFET、采样电阻、自举电路和去耦电容整个驱动链路就清爽了许多。选型时我重点关注了几个参数母线电压耐压24V系统至少要选40V以上耐压的芯片留够开关尖峰余量。栅极驱动峰值电流和源/灌能力这决定了MOSFET开关速度太小的话开关损耗大太大则EMI可能变差。内置MOSFET的RDS(on)如果MCU内部直接集成功率管一定要算导通损耗。相电流1.5A、RDS(on) 50mΩ导通损耗就是0.113W三相加起来约0.34W单靠封装散热勉强能接受如果RDS(on)做到100mΩ损耗就会翻倍封装就比较吃力了。ADC采样率和同步性FOC需要同时采集至少两相电流采样率太低影响控制带宽最好支持硬件触发和多次采样平均。这个项目最终的方案是选了集成栅极驱动、外置MOSFET的MCU而不是连功率管都集成的型号。原因很简单24V下功率管发热比较集中外置MOSFET可以用更大的封装和散热片灵活性更高。这也说明“驱动、功率塞进MCU”并不是把所有东西都塞进去就最好选型是个权衡。4.2 低功耗电池系统里的功率配置再讲一个低功耗物联网设备的实战。设备用一节锂电池供电电压范围3.0V~4.2V整机平时深度睡眠电流要求低于10μA。原来方案里有一颗负载开关芯片用于控制传感器供电后来我把这颗负载开关省掉直接用MCU的一个GPIO控制PMOS高边开关效果还不错。电路配置是这样的PMOS的源极接电池正极漏极接传感器电源输入端栅极通过一个100kΩ电阻上拉到源极保证上电默认关断MCU的GPIO通过一颗NPN三极管做电平转换GPIO输出高电平时三极管导通PMOS栅极被拉低PMOS导通GPIO输出低电平则三极管截止PMOS栅极回到高电平可靠关断。这里最关键的一点是GPIO高电平是3.3V而电池电压可能是4.2V直接连会关不干净所以必须加上三极管电平转换这一级原理就是我前面说的VGS问题。导通损耗方面选了一颗RDS(on)约30mΩ、封装SOT-23的PMOS管传感器工作电流300mA压降大概是0.009V功率损耗9mW完全无所谓。关断的时候100kΩ上拉电阻提供很小的漏电深睡电流实测只有2μA左右。4.3 一颗集成型MCU的评估清单说到这我觉得可以整理一份评估清单帮助大家判断一颗“驱动/功率集成型MCU”是否适合你的项目评估维度关键参数重点关注系统电压耐压范围、LDO输入上限是否覆盖最大输入电压是否留了纹波和尖峰余量驱动能力输出电流/灌电流、栅极驱动峰值电流能否满足负载/功率管的开关要求功率器件内置MOSFET的RDS(on)、连续电流算导通损耗和热耗散别只看最大电流模拟通道ADC位数、采样率、PGA增益是否满足电流、电压采样的分辨率和同步要求封装热路RθJA、RθJC、焊盘尺寸长时间工作温升是否可控成本与供货单价、交期、替代型号pin-to-pin兼容性是否有多供货渠道这个清单不是死的项目不同权重也不同。比如电机驱动项目重点看栅极驱动能力和ADC同步采样低功耗设备重点看静态电流和PMOS驱动灵活性光伏功率跟踪则重点看ADC精度和算力。5. 调试与EMC问题排查实录5.1 骚扰电压和骚扰功率到底算EMI还是EMS做集成功率MCU的项目EMC测试往往是最后一道坎。很多人在测试报告里看到“骚扰电压”“骚扰功率”两个词就犯迷糊这俩到底属于EMI还是EMS我的答案很明确它们都属于EMI也就是电磁干扰的发射项。简单区分一下EMI包括传导骚扰和辐射骚扰骚扰电压测的是传导骚扰通常通过电源线或信号线往外传导测试时要用LISN线性阻抗稳定网络在电源端口测量骚扰功率测的则是辐射骚扰的一种工程近似在特定频段通过吸收钳测量线缆向外辐射的总功率。而EMS是电磁抗扰度测的是设备对外界干扰的抵抗能力比如静电放电、浪涌、脉冲群。一个管“设备往外干扰别人”一个管“设备不怕别人干扰”方向完全不同。做硬件测试时别搞混否则整改方向会完全跑偏。5.2 集成驱动电路常见EMC问题与整改集成了功率驱动的MCU板子最常见的EMC问题集中在开关节点上。无论是内置的Buck变换器、还是MOSFET栅极驱动输出开关节点都会有很高的dv/dt这是重要的辐射源。整改思路通常有以下几条在开关节点加RC吸收电路但要注意吸收电阻的功耗。栅极驱动串联小电阻比如10Ω~22Ω降低开关斜率这是最常用也最见效的手段。保持开关环路面积最小——这对集成型MCU来说天生有优势因为环路在芯片内部。关注电感选型屏蔽式功率电感比非屏蔽式辐射小很多这就对应“功率电感点与横线”那个热词里提到的电感标识问题下面详细说。我调试一块内置Buck的MCU板子时板上有一颗10μH的功率电感默认是小型非屏蔽电感近场探头在电感上方能测到很强的磁场。后来换成同感值的屏蔽电感近场峰值下降了近10dBμV传导骚扰余量一下就上去了。所以电感不单单是“点了标称就用”封装形态对EMC影响很大。5.3 功率电感上的“点”和“横线”代表什么“功率电感点与横线”这个热词说的是电感表面标识。不少功率电感表面上会印一个小圆点或者一条色带甚至用一道粗横线表示引脚1的位置。这个标识主要用来确认电感绕线方向在特定的升压或负压电路中绕线方向会影响开关节点的高频噪声耦合所以PCB布局时最好按标识统一方向放置。当然电感上更重要的标识是感值和额定电流的参数通常直接印数字代码。选功率电感时不能只看感值还要看饱和电流和DCR。饱和电流不够的话大电流下感值骤跌轻则效率下降重则发出啸叫甚至烧毁。DCR则直接决定铜损。在BUCK输出1A的场合100mΩ的DCR就有0.1W损耗还算可接受但如果追求效率最好选DCR低于50mΩ的。5.4 常见问题速查我把实际调试中遇到的典型问题整理了一张速查表方便大家对照排查现象可能原因处理建议高边MOSFET始终不导通自举电容缺失/容值不足、高边无续流路径检查自举电容贴装确认PWM频率和电容匹配上电瞬间MCU发热严重内部LDO输入过高、短路或负载过大测量输入电压纹波检查外设是否意外启动睡眠电流比规格书高PMOS高边关不干净、内部LDO静态电流、IO悬空检查GPIO输出状态确认IO无悬空输入板载Buck输出纹波大电感饱和、输出电容ESR偏高、环路补偿不足更换更大饱和电流电感增加低ESR陶瓷电容EMC传导测试某频点超标开关节点dv/dt过陡、回路面积过大串栅极电阻、加RC吸收、换屏蔽电感ADC采样值跳动功率回路和模拟地共地干扰分开功率地和模拟地单点连接加大滤波电容5.5 日志、标定与调试辅助功能功率集成MCU相关的调试除了传统示波器和逻辑分析仪还有两个实用技巧值得分享。一是MCU日志存储。新项目前期调试难免要记录运行状态比如电流、电压、占空比、故障标志等很多MCU内部集成了Flash可以划出一块作为环形日志区。程序运行时把关键参数定时写入RAM缓冲区触发故障时一次性存到Flash里方便事后分析。这对应了“mcu日志存储”这个热词做法不复杂但能省很多现场排查的时间。二是MCU标定。电机控制或电源项目中不同批次的硬件参数未必完全一致可以通过预留标定接口在产线上把ADC偏置、电流增益、过流阈值等参数写入Flash。这样做的好处是硬件设计可以通用差异用软件标定抹平。标定上位机不一定要做得很复杂简单的串口协议加一个Python脚本就能搞定。6. 我的实操心得与个人建议6.1 集成不是万能的先算账再选型用了几颗集成了驱动和功率的MCU之后我的体会是这个趋势对中小功率、空间受限的产品非常友好但它不是银弹。如果你要做20A以上的大功率电机驱动或者系统散热条件极差那么外部驱动器加独立MOSFET的方案在散热和灵活性上仍然有优势。我的建议是拿到新项目先列一遍BOM和面积估算把集成方案和分立方案做个对比看看到底谁的综合成本更低、生产更稳定而不是盲目追求“少颗芯片”。6.2 画板前先搞清三件事一是热怎么散二是高边电压怎么处理三是EMC怎么收。这三件事如果等到板子打样回来再想多半要返工。尤其要仔细看数据手册里关于电源引脚、功率焊盘、自举引脚的Layout建议厂商既然花了篇幅写往往都是踩过坑总结出来的。6.3 最后一个小技巧调试集成型MCU的时候我习惯先在最小系统板上把所有外设电流都测量一遍尤其是内置LDO在满负载下的电压跌落和开关噪声。很多时候数据手册标称的参数是理想条件实测下来会发现动态响应并没有那么漂亮。提前摸底后面系统联调就不容易抓瞎。这个习惯救了我好几次分享出来供大家参考。
返回列表