ARTICLE DETAIL

资讯详情

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

eFuse与MCU协同实现工业电源路径保护:从原理到实战

eFuse与MCU协同实现工业电源路径保护:从原理到实战 做嵌入式项目尤其是工业控制这一类电源永远是最容易出幺蛾子的环节。前阵子帮客户调一套24V供电的控制器现场反馈了一个很刁钻的问题某一路负载在热插拔的瞬间整个控制器会出现偶发性重启十次里能撞上两三次。排查到后面问题锁定在电源路径上——热插拔产生的浪涌电流把输入电压瞬间拉到了欠压阈值以下导致系统复位。要解决这类问题靠传统的保险丝加TVS加防反接MOS已经很难兼顾保护精度、恢复能力和故障诊断了。现在更主流的做法是集成电子保险丝eFuse配合MCU做智能电源路径保护。我在这块板上用的是TI的TPS259483AYWPR做eFuseMicrochip的PIC18LF45K80做监控管理这个组合把保护动作的快和故障管理的聪明结合得相当理想。这篇就聊聊这套方案的选型逻辑、硬件计算、MCU软件设计和调试中踩过的坑。1. 为什么非要搞电源路径保护工业现场的电源环境一点不温柔1.1 四个电源杀手和它们的破坏方式嵌入式系统拿到实验室里跑电源干干净净的ADC采出来纹波漂亮得很。但一到工业现场电源路径上至少有四类威胁等着你。第一类是感性负载关断产生的浪涌尖峰。继电器、电磁阀、接触器、电机这些感性负载在断电瞬间会产生反电动势尖峰电压动辄是电源轨的两三倍持续时间虽短但足以打穿输入端的钽电容或者让后级DC-DC的输入过压。第二类是热插拔。系统带电插拔接口卡、存储设备、外设模块的时候输入端的大电容瞬间充电浪涌电流可以达到几十安培直接把电源轨拉到欠压甚至触发上游电源的保护。第三类是过流与短路。线缆破损、接口进水、元件失效、装配时螺丝掉到板子上任何一条都能在几毫秒内把电流推到几十安。第四类最隐蔽——电源电压的瞬时跌落和掉电。多块板卡同时上电、大功率设备启动瞬间24V母线的电压会被拉出很深的坑。如果负载端的DC-DC没有足够的保持时间MCU就会在电压跌落的瞬间进入复位、Flash读写被打断、状态数据丢得一干二净。这些问题的共同点是它们几乎都发生在电源进入负载之前的路径上而且来势很快快到MCU根本来不及反应。你靠软件去轮询电压、判断异常再关断黄花菜都凉了。所以必须在电源路径上安排一个反应足够快的硬件保护环节这就是电源路径保护的核心价值。1.2 传统保护方案为什么越来越不够用早期做电源入口保护最经典的是这老三样保险丝加TVS管加防反接二极管。保险丝扛短路和持续过流TVS管扛浪涌尖峰二极管扛反接。这套组合对付简单的消费类产品问题不大但是放进工业应用里槽点非常明显。保险丝是一次性器件动作之后必须人工更换设备在偏远现场一烧就只能停机等备件。更麻烦的是精度。常规保险丝的动作电流允许有比较大的偏差同一批保险丝有的在120%额定电流就断有的扛到180%还不断。你按3A去选型最后实际保护点可能落在3.6A到5.4A的区间里这给后级器件的耐流设计带来了很大的不确定性。还有浪涌误动作的问题。保险丝对流过的能量积分热插拔瞬间的大电流虽然时间短但能量积累足够让慢断保险丝也产生疲劳多热插拔几次就可能莫名其妙地断了。用分立器件搭的限流电路则是另一个极端。采样电阻加比较器加PMOS原理上能实现限流但元件数量多、占板面积大、阈值精度受电阻温漂影响严重。更头疼的是这些电路几乎没有故障反馈能力——它截断了电流你根本不知道它是动作了还是坏了。等到现场人员拿万用表去量大概率只会得出电源坏了的结论。还有一个经常被忽略的问题传统的热插拔控制器和OR-ing控制器功能很专一没有遥测、没有可配置性、没有故障锁存和恢复策略的灵活管理。系统想要远程诊断电源故障传统方案根本给不了。1.3 eFuse本质是什么eFuse叫电子保险丝本质上就是一个集成了功率开关管和各种保护逻辑的单芯片。你可以把它理解成一个带大脑的智能开关——一个内部的大功率MOSFET负责通断电流旁边集成了一整套检测和保护电路过流检测、过压检测、欠压检测、过温检测、软启动控制甚至有的还带电流镜像输出和数字通信接口。和传统保险丝最大的不同在于eFuse是可编程、可恢复、可反馈的。限流点可以用一颗电阻设定也可以通过数字接口配置故障发生后可以选择自动重试还是锁存等待外部干预保护动作的瞬间芯片会拉低一个故障输出引脚告诉MCU我这边动作了。打个比方传统保险丝像一次性灭火器喷完就废了eFuse则像一个带监控的自动消防系统既能灭火又能告诉中控室是哪里着火、火有多大还可以远程复位重新使用。对于嵌入式和工业应用来说这种能力带来的维护效率提升是显而易见的。2. 器件组合的选型逻辑eFuse负责快MCU负责聪明2.1 TPS259483AYWPR核心特性选eFuse的时候我先圈定了TI的TPS25948x系列。后缀3A表示这颗芯片的额定电流档位在3A量级YWPR对应的是WQFN封装和工业级温度范围。这个系列的定位很明确给服务器、工业控制、通信设备的电源路径做保护输入电压范围基本覆盖了12V到24V的工业总线场景。这颗芯片把保护功能做得相当全。内部集成功率FET不需要外加MOSFET限流点可以通过外部电阻精确设定也可以对同一颗料通过参数匹配适配不同功率的负载——这对多产品共用一块PCB非常有用软启动的爬升速率可以通过电容配置解决热插拔浪涌的问题过压、欠压保护都有单独的可配置引脚故障输出引脚能直接拉给MCU做中断。最值得说的是它支持恒流限流模式。过流发生时芯片不会立刻硬关断而是先把电流限制在一个设定值上这时候输出电压会被拉低但电流不再增长。这种模式给了后级设备一个缓冲时间也给了MCU一个处理的窗口如果限流持续超过一定时间再执行关断。用硬件扛住瞬态用策略决定是否切断这才叫电源路径保护。2.2 PIC18LF45K80的角色MCU选型的时候我一开始纠结过要不要直接用STM32后来还是选了PIC18LF45K80。原因不复杂这个系统里MCU不是负责复杂计算和协议栈的它的任务是监控、管理、通讯和故障处理。8位MCU在这个场景下性能完全够用成本更低功耗更小而且启动速度比32位MCU快得多——这在电源故障恢复的快速响应上是有意义的。PIC18LF45K80身上有几个很对口的特性。第一是板载ECAN模块支持CAN 2.0B工业现场最常用的总线就是这个不需要外扩CAN控制器。第二是它自带EEPROM故障日志、校准参数、配置信息可以直接存不用额外挂存储芯片。第三是外设够用——多通道10位ADC用来采样电压电流温度PWM和比较器留着可以做扩展控制几个定时器做超时判断和心跳周期。LF版本支持低压工作整个板子用3.3V供电就能跑得很稳这对和传感器、接口板等低压信号交互非常友好。而且PIC18系列在强电磁干扰环境下的表现有积累抗复位、抗闩锁的能力在工业圈里口碑不错。2.3 为什么是eFuseMCU而不是其中一个单干有人会问eFuse自己就能保护那要MCU干嘛反过来想MCU自己也能检测电流然后关断MOSFET那为什么还要eFuse答案是分工。电源路径上的异常事件时间尺度是微秒级的——短路瞬间的电流上升斜率可以达到几百安培每毫秒过压尖峰持续几微秒。MCU的ADC采样一个周期就要几十微秒Flash写入一个字节可能就要几毫秒靠软件来做快速保护根本不现实。eFuse的价值在于它用纯硬件电路完成了最紧急的那一步限流、关断、钳位。MCU还在睡觉或者死机的时候电源已经被保护住了。但纯硬件保护也有短板它不记仇也不懂策略。一个故障发生之后如果没有MCU来读取故障标志、记录故障类型、决定何时尝试恢复那整个系统就只是坏了然后自己保护而已谈不上运维。所以这套架构的本质是硬件负责兜底软件负责策略。eFuse做一个反应极快的执行者MCU做一个有记忆的管理者。MCU可以随时读取eFuse的状态引脚可以主动拉高或拉低使能脚来控制输出通断可以通过CAN总线把故障信息送到上位机或者PLC也可以根据周期性的遥测数据提前发现供电趋势恶化——比如电流逐渐升高说明负载开始老化这时候提前告警而不是等到烧了才处理。这种能力是分立保护方案完全不具备的。3. 硬件设计落地从原理图到PCB的关键计算和布局3.1 总体架构先想清楚MCU自己由谁供电画原理图之前有一件必须想清楚的事MCU的电源从哪里来我在实际项目里见过不少把MCU直接挂在eFuse输出端的做法看起来电源路径简洁但有个很尴尬的问题——一旦eFuse因为过流锁存关断MCU也跟着断电了它想上报故障、想远程恢复全都干不了。我习惯的方案是把MCU的供电独立出来用板卡上的一路宽压DCDC或者LDO单独给MCU供电eFuse只负责保护后面的外设电源域。这样eFuse动作之后MCU稳稳地活着能拉故障状态、能发CAN告警、能等远程的命令来复位eFuse。代价只是多一路电源和几颗电容但换来的是完整的故障处理能力这笔账怎么算都值。整个架构串起来是这样的外部电源进来之后先走输入滤波和保护电路进入TPS259483AYWPR的输入端eFuse的输出端接需要保护的外设负载输入电压、输出电压、负载电流、板温四路信号通过电阻分压和采样电路进到PIC18LF45K80的ADCeFuse的FLT故障输出接到MCU的外部中断引脚EN使能引脚由MCU的GPIO控制MCU的ECAN引脚接到一颗CAN收发器再接到工业现场的CAN总线上。3.2 eFuse外围参数计算的三个关键点eFuse的外围电路看着不多其实每一颗电阻电容都决定着一个保护行为。我这里以常见的配置方式为例把三个最关键的参数计算拆开讲。第一个是限流点设置。大多数eFuse都有一颗ILIM引脚用一颗对地电阻设定限流值公式通常是ILIM K / RILIMK是芯片内部定义的一个系数。假设我们看的数据手册里K1000单位A·Ω想要3A的限流点RILIM就等于333Ω取标准值330Ω即可。注意这个公式只是一个例子不同芯片的K值差异很大做设计时必须查你自己那颗料的实际公式。限流点不要顶着负载的最大电流选建议留出20%到30%的余量避免负载正常波动就触发保护。第二个是UVLO和OVP的电阻分压。eFuse的使能引脚或者专用检测引脚通常内部有一个1.2V左右的阈值基准。外部用R1和R2对输入电压分压后送到这个引脚。如果想让系统在输入电压高于20V时才开启低于18V时关闭那你就设一个分压比使得输入电压等于20V时分压点在使能阈值以上等于18V时分压点在阈值以下。计算分压比无非是V_EN VIN × R2 / (R1 R2)解出R1和R2的比值取标准值。回差由内部的滞回电流提供所以设计上不用自己做迟滞电路但分压电阻的阻值不能取得太大否则滞回电流产生的偏移会干扰阈值精度。第三个是软启动电容。eFuse一般有一个CdVdT引脚对地接电容决定输出电压的爬升速率原理是内部恒流源对这颗电容充电。假设内部电流源是10μA想让输出电压以1V/ms的速率上升需要的电容值是C I / (dV/dt) 10μA / (1000V/s) 10nF。如果输出电压是24V那么软启动过程持续约24ms。这24ms里输出电容被缓慢充电浪涌电流被限制在一个很小的值热插拔就不会把电源轨拉崩了。软启动电容不是越大越好太慢会让下游设备上电时序变得不可预测具体取多少要以负载端要求的启动时间和启动电流为准。3.3 MCU最小系统与接口设计PIC18LF45K80的最小系统比32位MCU简单很多但该注意的地方一个都不能省。电源方面给每个电源引脚配0.1μF陶瓷电容位置贴着引脚放MCU附近再放一颗10μF的钽电容或者多层陶瓷电容做低频储备。复位引脚用一个10kΩ上拉电阻加0.1μF电容到地手工复位按钮可留可不留调试期建议留。时钟配置要特别提一句。CAN模块对时钟精度有要求总线上波特率如果到125kbps以上振荡器误差要控制在0.5%以内。内置的RC振荡器通常达不到这个指标所以必须外接晶振。我用的是8MHz陶瓷晶振配两个22pF负载电容CAN波特率跑250kbps很稳定。晶振的地和走线要干净不要和功率路径平行。MCU和eFuse之间的接口核心就三根线加一根断线检测GPIO输出到EN控制eFuse的使能FLT接入MCU的外部中断引脚eFuse故障时能立刻打断MCU的当前任务如果选的是带数字接口的型号I2C或SMBus引脚用来读遥测数据、写配置寄存器再留一个GPIO读PGOOD信号确认输出电压已经达到正常水平。ADC通道的采样设计也要提前规划。输入电压和输出电压直接通过电阻分压后送ADC分压电阻的选择要兼顾静态功耗和采样精度阻值太大会引入ADC输入阻抗带来的误差。电流采样最常见的是用eFuse的IMON引脚它输出一个和负载电流成比例的电流外部接电阻转成电压送ADC再在校准阶段标定出比例系数。板温用一颗NTC热敏电阻挂在ADC通道上NTC放在eFuse附近能间接反映功率器件的发热状况。3.4 PCB布局布线的6个细节电源保护板对布局的要求比普通控制板高得多。我总结了六个关键细节都是实测中被验证过的经验。第一功率路径必须短而粗。从输入电容到eFuse输入端、从eFuse输出端到输出电容这段走线或铺铜越短越好寄生电感越小开关瞬间的振铃就越小。走线上不要打过孔非要换层就必须多打几个过孔并联。第二WQFN封装的底部散热焊盘一定要正确连接到地平面并且在这个焊盘上打矩阵过孔帮助散热。3A电流下就算eFuse的导通电阻只有几十毫欧功耗也有零点几瓦散热不好芯片会热保护误动作。第三输入电容要贴着eFuse的输入引脚放。这个电容既承担滤波也承担短路瞬态时给芯片供电的职责离远了效果大打折扣。输出电容则贴着输出引脚同时兼顾负载瞬态响应的需求。第四FLT、EN这些控制线和ADC采样线要尽量远离输入输出功率路径尤其是不要平行走线。功率路径上的开关电流会产生磁场耦合控制线又长又近的话eFuse的故障信号可能被干扰成误触发。第五ADC采样采用单点接地。MCU的模拟地和功率地不要直接大面积连通而是通过一个磁珠或0Ω电阻在单点汇合。这个细节对采样稳定性的影响非常大尤其在电流较大的时候。第六CAN收发器的总线输出要加共模电感并且放在靠近连接器的地方。CAN总线是工业现场最容易被雷击浪涌和电快速瞬变脉冲群骚扰的接口共模电感加TVS管是标配。4. 软件状态机与CAN协议让保护系统具备远程诊断能力4.1 初始化与自检一上电就确认保护链路是活的MCU的软件结构里保护逻辑不依赖任何RTOS就是裸机状态机加中断越简单越不容易出岔子。上电后的初始化流程我一般这样写先配置时钟和IO然后是ADC、定时器、外部中断、CAN模块随后从EEPROM里读出之前保存的配置——限流设定、软启动参数、恢复策略接着检查eFuse的FLT引脚和PGOOD引脚确认芯片没有处于故障锁存状态再把EN引脚拉低确认输出处于关闭状态所有自检通过后才拉高EN让eFuse开始软启动。为什么先拉低EN再自检因为如果板子是故障后重新上电的eFuse可能还锁存着直接拉高EN会无法启动。自检期间让输出保持关闭MCU可以利用这段低压状态把FLT的信息读取干净。如果EEPROM里的配置校验失败我宁愿让输出保持关闭通过CAN发出配置错误告警而不是带着错误参数启动电源。4.2 电源保护状态机从正常到故障再到恢复的完整闭环状态机是整个软件的核心。我把它分成六个状态初始化、关闭、软启动、运行、故障锁定、恢复等待。每个状态的转移条件都写在代码注释里方便后来人维护。初始化状态做上电自检通过后进入关闭状态。关闭状态下输出是断开的只有收到远程开机命令才进入软启动。软启动状态里MCU拉高EN然后等待PGOOD引脚变高同时启动一个超时定时器。如果在规定时间内PGOOD没有变高判定启动失败转入故障锁定。PGOOD正常变高后进入运行状态。运行状态下MCU周期性读取ADC的电压电流温度数据刷新本地变量并通过CAN定时发送遥测帧。如果FLT引脚触发外部中断说明eFuse硬件已经动作了MCU立刻读取当前状态判断是过流、过压还是过温然后决定进入故障锁定还是恢复等待。故障锁定状态下MCU保持EN为低同时通过CAN发出故障帧等待远程的命令来决定是复位还是维持关断。恢复等待状态适用于可以自动恢复的故障类型MCU延时一段时间后重新拉高EN尝试启动如果连续三次启动失败就转入故障锁定不再自动尝试。这个三次尝试的策略是我做了几个项目之后才加的早期版本无限重试结果负载反复短路时eFuse和电源设备都在那里不停地重启给现场调试带来了很大的困惑。4.3 CAN协议设计数据帧、遥测帧、控制帧的划分CAN协议我建议做成分段式的ID分配简单直观也方便在总线上用CAN分析仪过滤。设备的基础ID可以设成0x100不同类型的信息用偏移量区分0x100作为心跳帧每500ms发一次内容包含设备状态字和当前工作模式0x101作为遥测帧每1s发一次包含输出电压、电流、板温的原始ADC值换算成实际工程量靠接收端完成0x102作为故障帧故障发生时立即发送内容包含故障码和故障时刻的关键快照。控制帧用0x200段0x200是远程开机命令0x201是远程关机命令0x202是故障复位命令。帧格式按标准CAN 2.0B的8字节数据场来定义前两个字节是命令字和校验字后面六个字节是参数。这个协议不追求花哨但足够稳定现场的PLC和上位机解析起来都很容易。有一个经验可以分享遥测帧的频率不要太高每秒一次就够了。CAN总线上还有别的节点太频繁的广播会影响总线上的其他通信。如果需要更实时的数据可以让上位机发送一个请求遥测帧的扩展帧MCU收到后才立刻回复一次这样平时的广播流量就降下来了。4.4 故障记录与远程诊断数据要能查到、要能读出来保护板除了保护另一个核心价值是让运维人员不用去现场就能知道发生了什么。我的方案是把故障日志存在MCU的EEPROM里每次故障发生的时候记录故障码、故障时刻的电压电流值、板温以及一个从定时器里读出来的相对时间戳。EEPROM容量有限所以环形覆盖只保留最近二十条记录。通过CAN的0x203命令上位机可以一次读出全部故障记录。解析之后维护人员能看到发生过三次过流故障第一次电流3.8A板温45℃出现在系统上电后2分15秒这样的信息现场排查的范围一下子就小了很多。故障码的设计要分大类。我把00-09定义为输入侧故障比如输入过压、输入欠压10-19定义为输出侧故障比如输出过流、输出短路20-29定义为器件级故障比如芯片过温、上电启动超时30以上预留为应用级故障码。每个故障码都对应一套明确的排查指引这对产品后期交付给客户使用特别重要。5. 调试实录限流、软启动、热设计与一个现场故障案例5.1 限流点实测与校准原理图上的限流电阻是计算出来的但实际板子到手之后一定要实测校准。我用电子负载做恒流模式从0.5A起步每0.5A一个台阶往上加同时用电流探头看实际输出电流和输出电压的变化。测出来的结果通常和理论值有偏差。比如我设3A限流实测限流点在3.15A左右偏差主要来自ILIM电阻的精度和芯片内部的基准漂移。这时候不要去纠结那百分之几的偏差关键在于把校准系数记下来。我一般会做一个在线校准功能通过CAN命令设置一个校正系数MCU读取ADC电流值之后乘上这个系数再做显示和判断这样软件上就把硬件误差消掉了。还有一个要注意的点是限流的温度特性。同一块板子冷态下的限流点和热态下不一样。我在烘箱里做过测试从25℃到85℃同一颗eFuse限流点漂移了几个百分点。这个漂移方向通常是往下走的——温度越高限流点越低。选型的时候把这一条也算进设计裕量里否则冬天调好的保护板夏天就可能误动作。5.2 软启动参数的选择与波形对比软启动电容的选择从波形上看最直观。我在同一块板子上测试了三个容值3.3nF、10nF、33nF。3.3nF时24V输出大约8ms就爬完了上电瞬间输入电流峰值接近5A把24V电源轨拉出了将近4V的跌落10nF时爬升时间24ms输入电流峰值降到2.2A电源轨跌落只剩1V左右。33nF进一步把电流压低但爬升时间拉到了80ms下游一个电机驱动板是等不了这么久的上电时序相关的报警先响了。所以软启动参数的选择本质是折中。我的经验是先测出负载端允许的最大浪涌电流和最长启动时间再画出这两条限制线把可选的电容区间标出来取中间值。T型设备的启动波形有个特点电流曲线会先冲一个峰值再回落然后随着负载电路逐渐进入稳态再升上来。第一个峰值对应输出电容充电第二个爬升对应负载侧DC-DC的启动两个都是软启动要压制的对象。5.3 热设计与电流降额3A是这颗eFuse的额定能力但额定值和长期可靠工作的值不是一回事。WQFN封装体积小散热主要靠底部焊盘过孔导到PCB铜箔。我在板上给eFuse的输出和输入引脚连了尽量宽的铜皮PCB背面也做了一块裸露的散热区域实测下来3A电流连续满载跑一小时芯片表面的温度大概七八十度——能工作但心里不踏实。后来我把长期工作电流限制在2A以内极限短时电流才允许跑到3A这个降额比例在工业产品里是比较稳妥的。热设计上还有一个小技巧用MCU的NTC通道实时监测eFuse附近的板温温度超过设定值就先告警到极限值再触发保护。这样即使环境温度高、散热条件差也能提前知道风险而不是等到热保护强制关断。5.4 一个现场故障的完整复现过程说回开头那个热插拔导致控制器重启的问题。当时锁定了故障方向但心里还是不踏实于是重新搭了一个模拟环境来复现。用电子负载模拟设备侧的大电容负载直接在输入端做热插拔。第一次复现就成功了——插头接触的瞬间输入浪涌电流接近6A24V母线电压被拉到只有17V左右持续了几十毫秒。这段时间里控制器前级的DCDC因为输入欠压而关断于是整机重启。修改方案有两步一是把软启动电容从10nF加大到22nF让eFuse输出端的电压爬得更慢一些限制浪涌电流的峰值二是把UVLO阈值稍微降低一点允许母线电压在特殊工况下波动得更深而不至于触发欠压保护。改完再测热插拔的浪涌电流被压到了2A以内母线电压的跌落也控制在了3%以内。客户现场连续做了一百次热插拔测试零重启问题彻底闭环。这个案例给我最大的教训是热插拔问题必须在设计阶段就考虑到而不是等现场出事再去补。eFuse的软启动功能正是为此准备的但很多人只把它当普通保险丝用完全忽略了软启动引脚。6. 常见问题速查与避坑清单6.1 常见问题速查表现象可能原因排查与解决方法上电瞬间eFuse就锁定保护软启动电容选太小浪涌电流触发限流输入电容充电电流被误判为过流加大CdVdT电容检查限流点是否留够余量带负载能力不足稍大电流就掉电限流点设置过低ILIM电阻值用错输入供电能力不足核对RILIM实际阻值用电子负载实测限流点检查输入电源功率CAN通信偶发失败数据错误晶振精度不够总线没有加共模电感终端电阻配置错误换高精度晶振查CAN_H/CAN_L对地120Ω终端电阻FLT中断频繁触发但输出正常控制信号被功率路径耦合干扰FLT走线过长优化布局FLT加RC滤波控制线远离功率线MCU在eFuse动作后也复位MCU和eFuse共用供电母线跌落太深独立MCU供电调整UVLO阈值加大输入电容冷态能启动热态启动失败温度升高导致限流点下移功率器件热积累增强散热提高限流点余量检查NTC位置是否正确反映热点限流点实测值批次间差异大ILIM电阻精度低采样电阻温漂换低温漂精密电阻软件校准确认6.2 六个踩坑心得第一个坑是输入电容选太大。有人觉得输入端多放电容可以多扛浪涌但eFuse上电瞬间这堆电容的充电电流也会被当成电流事件触发限流或者过流保护。输入电容不是越大越好够用就行。第二个坑是EN引脚的时序。有些eFuse不允许EN在输入电压建立之前拉高否则内部的欠压锁定逻辑会误判。软件里必须等输入电压稳定之后再去拉EN而且上电自检阶段就要确认这个顺序。第三个坑是故障锁存和自动恢复的配置。同一颗芯片配置不同产品行为完全不同。如果你把芯片配成自动恢复模式那它会在故障消失后自己重新启动如果你配成锁存模式就得靠MCU远程复位。做设计之前先想清楚产品需要哪种行为中途改配置非常折腾人。第四个坑是I2C或者SMBus接口的时序。如果选的是带数字接口的型号MCU去读遥测数据时要注意eFuse可能处于低功耗状态或者正好在故障保护中总线上会话可能被设备端终止。软件上要做重试机制不要因为一次读失败就把状态误判成故障。第五个坑是MCU的ADC参考电压。如果直接用MCU的VDD做ADC参考而MCU的供电来自受保护电源域那故障时MCU的供电出现波动采样值也跟着飘。我的做法是用一颗专门的基准电压源给ADC参考引脚供电这样采出来的电压电流数据才可信。第六个坑是过度依赖保护芯片。eFuse再厉害它也保护不了输入端被雷击打坏的场景该有的TVS、压敏电阻、共模电感一个都不能省。保护设计是分层的事——前级防浪涌中级eFuse做过流短路保护后级设备自己做好软件容错每一层各管一段才是最可靠的状态。我个人在实际操作中的体会是这套eFuse加MCU的电源路径保护方案最大的价值不是用了多高级的芯片而是把电源保护从一个一次性、黑盒、不可恢复的被动防御变成了可编程、可诊断、可远程恢复的主动管理。做嵌入式项目的很多时候技术难点不在算法和协议而在于这些最基础但也最容易出事的环节。你在实验室里觉得电源无非就是个供电的东西到了工业现场才发现它比CPU还娇贵。最后再分享一个小技巧如果你第一次接触eFuse设计别急着抄参考电路先把数据手册里的那几张特性曲线仔细看一遍——限流精度曲线、过压响应对时间的曲线、软启动时间与电容的关系曲线。把这三张图看懂了比看十篇应用笔记都管用。测试的时候别省示波器的钱电源保护电路的调试示波器和电子负载才是最终的裁判。
返回列表