ARTICLE DETAIL

资讯详情

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

数字eFuse+MCU实现工业电源路径保护的设计与实测

数字eFuse+MCU实现工业电源路径保护的设计与实测 手里这块板子已经跑了快半年了。今天说点实在的用 TPS259483AYWPR 这颗数字 eFuse 配上 TM4C129XKCZAD 这颗 MCU在嵌入式和工业应用里做电源路径保护到底能做成什么样。先交代一下背景。去年接了一个工业控制器的电源模块需求输入 24V DC板上需要多路电源轨其中一路就是给核心控制板长期供电的 5V/3A 主干。以前的做法很简单——自恢复保险丝加 TVS成本低但问题也明显动作精度差、没有状态上报、故障恢复全靠猜。后来升级成 TI 的 TPS25948 系列电子保险丝再搭配 TM4C129XKCZAD 作为主控这套组合才真正把电源路径保护这件事从被动防御变成了主动管理。这次就把整个设计过程、关键参数计算、固件配合的坑以及实测数据全部摊开来讲。1. 工业应用中电源路径保护的常见痛点以及为什么选择数字 eFuse 方案先说清楚我为什么没继续用传统保险丝方案。工业场景下电源路径面临的威胁其实可以分成四类输入过压/欠压、输出过流、负载短路、以及热失控。传统的 PPTC 自恢复保险丝虽然能处理过流和短路但它本质上是一种热响应元件动作阈值和环境温度强相关同一个型号在 25°C 和 85°C 环境下触发电流可能相差 40% 以上。这在工业现场 85°C 的密封机箱里完全不可控。另外一个更实际的问题是没有状态反馈。PPTC 动作之后你根本不知道它是不是已经动作了系统只能通过后续功能失效间接感知。这就需要 MCU 参与管理。TPS259483AYWPR 和传统方案的定位差异我列在下面这个表里能力维度传统 PPTC TVSTPS259483AYWPR eFuse过流保护精度依赖温度误差大可编程限流精度±7%过压/欠压保护需要外部电路搭建内置比较器寄存器可配阈值浪涌电流控制无法控制可编程输出压摆率故障状态反馈无I2C 寄存器状态 故障中断引脚参数调整换物料软件改寄存器支持在线调整故障恢复方式手动/自然冷却可配自动重试或锁存有了这张表和 TM4C129XKCZAD 的整合逻辑就很清晰了。TM4C129XKCZAD 是 TI 自家的 Cortex-M4F 内核 MCU主频 120MHz带两个 I2C 模块、一个 12 位 ADC 和以太网 MACPHY非常适合做系统管理处理器。这里我需要特别说明一下选型的决策逻辑TPS25948 系列是一个家族其中 TPS259483 是带 PMBus/I2C 数字接口的版本后缀 AYWPR 对应的是封装和卷带包装形式。选择带数字接口的版本而不是纯模拟配置版本是因为我们希望设备的上下电时序、限流阈值、故障恢复策略都能由 MCU 在系统运行中动态调整而不是靠电阻硬编码。工业设备的电源路径保护本质上要解决一个问题让电源系统具备感知-决策-执行闭环能力。感知由 eFuse 的内置 ADC 完成决策由 MCU 完成执行由 eFuse 的 MOSFET 通路完成。2. TPS259483AYWPR 的核心工作原理与关键参数配置千万别把 eFuse 理解为一个 MOSFET 加一个比较器。TPS25948 系列内部的结构复杂得多我挑在设计时需要真正理解的部分讲。2.1 内部架构的四个主要模块功率通路模块内部集成了一个低导通电阻的 N 沟道 MOSFETTPS259483 的典型 Ron 在 5V/3A 条件下约为 43mΩ满载功率损耗约 0.4W。这个导通电阻决定了散热设计难度后面实测章节会具体算。电流检测与限流模块通过内部的采样 FET 结构实现电流镜像检测精度比外部分流电阻方案高很多而且不引入额外串联压降。驱动与压摆率控制模块这个模块是控制浪涌电流的核心。输出端接了大容量电容时如果直接开启 MOSFET瞬间充电电流可能几十安培直接把输入电源拉垮。TPS259483 允许通过寄存器配置输出电压爬升时间从 0.4ms 到 100ms 多档可选。保护比较器模块包含输入过压阈值、欠压阈值、过流阈值、以及结温保护。这些阈值要么通过外部电阻设定要么在数字版本里通过寄存器直接写。2.2 关于寄存器配置的关键细节TPS259483AYWPR 的 I2C 从机地址默认是 0xE07 位地址 0x70可以通过 ADDR 引脚配置多个备选地址这样一条 I2C 总线上可以挂多个 eFuse各自管理不同的电源路径。配置过程中最大的坑是寄存器写入的时序。我第一次调试时按照普通 I2C 器件的方式逐字节写入配置寄存器结果发现写入不生效。后面翻数据手册才注意到TPS259483 的配置寄存器写入需要使用WRITE WORD TO PMBus格式也就是两次字节传输先写高位后写低位而不是普通的 8 位寄存器写。这个细节在 TI 的 datasheet 和参考代码里都有但确实容易踩。2.3 浪涌电流控制的实测感受控制浪涌电流是这个器件最值钱的能力实测下来的效果非常直观。板子上电瞬间输出端挂了 220µF 的电容如果不做压摆率控制冲击电流波形幅值能到 40A 以上供电电压跌落超过 2V配置 8ms 压摆率后冲击电流被削平到 1.5A 以内输入电压纹丝不动。不过要注意压摆率本质上限制的是输出电压上升速率所以它并不影响输出端的短路限流响应速度。限流环路本身的响应是微秒级的遇到输出短路器件会在几个微秒内把电流限制到设定值附近这个行为是独立于压摆率控制的。3. TM4C129XKCZAD 在系统管理控制器中的角色定位TM4C129XKCZAD 作为这块板子的主控不仅要跑业务逻辑还要管理整个电源子系统的状态。这个芯片选型时看中的是几个特质12 位 ADC 精度足够做电压电流监测、两个 I2C 模块方便管理多个 eFuse、内置以太网 PHY 方便做远程状态上报。项目后期还接了 NB-IoT 模组从继电保护装置实时回传数据TM4C 的 UART/SSI 外设都能提供多路支持。电源管理逻辑放在 MCU 上的核心价值是让故障判断带上上下文。举个例子同一路 5V 电源在系统待机时电流 200mA全负荷运行时电流 2.5A。如果单纯用 eFuse 的固定限流点做保护就得取一个能覆盖全负荷工况的阈值比如 3.5A但这样待机状态下的轻微异常比如漏电流从 200mA 涨到 1A就完全检测不到。把电流状态实时读回 MCU 之后MCU 可以按运行状态切换判断标准低负荷时用更灵敏的阈值做预警高负荷时才依赖 eFuse 的硬保护。3.1 MCU 与 eFuse 的接口设计硬件连接其实非常简洁一共四根线SCL、SDAI2C 通信PGPower GoodeFuse 输出正常指示接到 MCU 的 GPIO 中断引脚FAULT故障指示同样接到 MCU 中断引脚有读者可能会问既然 I2C 能直接读状态寄存器为什么还要用 GPIO 接 FAULT 引脚答案很简单响应速度。I2C 轮询最快也要几十微秒到几百微妙间隔而故障中断引脚可以做到微秒级响应。eFuse 的 FAULT 引脚是开漏输出MCU 侧需要上拉电阻这个上拉同时承担了故障信号的释放功能。上电时序设计我用的是 MCU 控制使能的方案。TPS259483 支持 EN 引脚使能MCU 在完成自己的初始化后按预设顺序给各个 eFuse 发使能信号天然解决了多路电源轨的上电时序问题。3.2 固件架构中的电源管理状态机状态机设计是整个项目里最值得复盘的部分我直接贴一下固件核心架构简化版。电源管理的状态划分成六个状态上电初始化、正常运行、电流预警、过流保护、故障锁存、掉电关闭。状态迁移条件由事件驱动事件的来源有三个eFuse 的 GPIO 中断、I2C 定时读取的状态轮询、以及 MCU 自身的 ADC 采集用来做输入电压监测。这里面最有价值的设计是电流预警状态。我利用 eFuse 的 I2C 接口按 100ms 周期读取平均电流值当电流超过正常运行阈值上限的 70% 时状态机进入电流预警这时候 MCU 开始做两件事记录电流突变的时间戳和幅值到 Flash 日志同时主动降频或限流输出如果负载源可控的话。如果是那种持续性的异常负载预警状态持续 3 秒就会触发主动断电而不等 eFuse 的硬限流动作。这套机制的效果是硬保护作为最后一道防线软件策略提前干预把故障对系统的影响降低了一个量级。实测中遇到过电机堵转的场景电流从 800mA 跳变到 2.2AMCU 在 300ms 内完成了预警记录和主动停机操作而 eFuse 的硬限流点到 3A 完全没有被触发系统从容地执行了关机。3.3 ADC 采样与校准的经验TM4C129XKCZAD 内部 ADC 在 12 位分辨率下精度不错但用来做电源监测时有一个容易忽略的问题参考电压。如果参考电压直接用 VDDA3.3V 电源轨那么 VDDA 本身如果有 ±2% 的波动采样结果就会带 ±66mV 的误差。我后来是这么处理的在固件里做了一次两点校准用高精度万用表测出两个测试点的实际电压值计算出增益系数和偏置写入 Flash 做长期存储。校准之后MCU 读回的电压误差从 ±80mV 压到 ±10mV 以内这组参数体现在系统指标里就是输出电压精度报告的误差来源得到了有效控制最终在继电保护设备验收时继电保护电源直流纹波系数和电压误差两项都指标都是达标的。另一个经验是给 ADC 采集做滤波时别只用一个简单平均值。电源电压的噪声往往带周期性特征我用的是一阶 IIR 低通滤波截止频率设在 10Hz 左右既滤掉了开关电源纹波的高频成分又不至于让电压变化响应太迟钝实测效果明显优于滑动窗口平均值。4. 完整硬件设计整合原理图关键点与 PCB 布局散热考量到这里eFuse 和 MCU 的角色都明确了接下来是实际做板子时最考验功力的一部分。4.1 原理图中的关键外围设计输入电容和输出电容的组合TPS259483 的数据手册要求输入和输出至少各放 0.1µF 的陶瓷电容。但实际工程中我做了扩容输入侧并联 22µF 和 0.1µF输出侧并联 220µF 和 0.1µF。输入侧大电容是为了躲开长线供电时的电感反冲输出侧大电容是为了吸收负载瞬态变化两个 0.1µF 都是就近布在芯片电源引脚旁边抑制高频噪声。限流设定电阻的选型虽然是数字版本但限流值默认仍由 ILIM 引脚的外部电阻设定之后才能通过 I2C 调整。我选择了对应 3A 默认限流的电阻值然后上电后由 MCU 通过 I2C 调整为实际工况值。这样即使 MCU 固件异常没起来eFuse 依然以一个安全默认值保护电源路径。过压/欠压阈值设定输入过压阈值设 28V24V 输入轨允许的合理上限考虑到 24V 电源设备实际输出可能达到 26V留 2V 裕量输入欠压阈值设 18V输出过压阈值设 6V5V 输出轨 20% 触发这些阈值通过了分压电阻设定计算时需要注意一个点eFuse 内部比较器的精度大约 ±1%但分压电阻本身的精度会直接贡献误差。我选的是 1% 精度的电阻整体保护点误差控制在 ±2% 以内。电源路径串联位置的考虑 有朋友习惯把保护器件放在 DC-DC 后面我这次是放在 DC-DC 前面做输入保护原因是前端保护能挡住输入浪涌对后级 DC-DC 的冲击后端保护只能守住输出侧。而且 DC-DC 转换器的输入端接大电容这个电容的自充电电流正好能被 eFuse 的压摆率控制驯服这是放进 DC-DC 后面做不到的。4.2 PCB 布局散热处理TPS259483 的数据手册给出了一个散热关键参数Theta-JA结到环境热阻约 45°C/W但这是标准 JEDEC 板测出来的实际产品如果 PCB 设计合理可以更低。满载 3A 时芯片内部 MOSFET 的功耗约为 0.4W理论温升约 18°C。但这只是理论值PCB 布局不好很容易翻倍。我这次的实际布局经验总结成三条第一尽量加大芯片底下 GND 焊盘的铜皮面积同时多打散热过孔到背面的 GND 铜层。散热过孔建议用 0.3mm 孔径、1.0mm 间距的阵列排布孔要开在焊盘铜皮上而不是走线旁边这样才能真正形成散热通道。第二输入和输出的功率走线要用短而宽的铜皮一方面降低寄生电感和导通压降另一方面铜皮本身也是散热路径。第三TLV 部分热标志引脚附近的铜皮不要大面积切断保持连续性。实测下来在 25°C 环境、自然对流条件下满载 3A 工作时芯片表面温度约 51°C比理论估算值高 8°C 左右但这在安全范围内。如果环境温度到 70°C结温就会接近 120°C这时 eFuse 的热关断会介入需要评估散热设计是否要再加码。4.3 供电和电平匹配TM4C129XKCZAD 的工作电压是 3.3V但 TPS259483 的 I2C 引脚逻辑电平也恰好兼容 3.3V所以不需要额外电平转换。如果是 5V 逻辑的 MCU 就得注意加电平转换这块板子选型时特意避免了这个问题。FAULT 和 PG 引脚是开漏输出通过 10kΩ 上拉到 MCU 侧 3.3V。这样处理的好处是故障信号即使在 eFuse 自身断电的情况下也能被 MCU 正常读取不会出现因供电差异导致无法感知故障的尴尬场景。5. 固件实现细节与故障处理的完整链路硬件只解决了能做什么真正决定价值的是固件怎么把这些能力用起来。这部分我给出可以直接参考的代码思路和配置流程。5.1 I2C 通信初始化与寄存器读写封装TM4C129XKCZAD 的 I2C 模块用 TI 的 TivaWare 驱动库操作非常方便。初始化代码框架如下#include driverlib/i2c.h #include driverlib/pin_map.h #include driverlib/sysctl.h #define EFUSE_I2C_BASE I2C1_BASE #define EFUSE_I2C_ADDR 0x70 // TPS259483 7-bit address void eFuse_InitI2C(void) { // 使能 I2C1 外设时钟和 GPIO 时钟 SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C1); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); // 配置 PB6/PB7 为 I2C1 的 SCL/SDA GPIOPinConfigure(GPIO_PB6_I2C1SCL); GPIOPinConfigure(GPIO_PB7_I2C1SDA); GPIOPinTypeI2C(GPIO_PORTB_BASE, GPIO_PIN_6); GPIOPinTypeI2C(GPIO_PORTB_BASE, GPIO_PIN_7); // I2C 主模式速率 100kHz I2CMasterInitExpClk(I2C1_BASE, SysCtlClockGet(), 100000); }注意一个坑TM4C129 系列 I2C 外设时钟使能之后要等 GPIO 配置完成再初始化 I2C 主模式否则偶尔会出现第一个字节 ACK 丢失的情况。我在代码里加了短暂的 delay实际工程中这是值得投资的防御性编程。读寄存器时用 I2C 的发送地址寄存器地址后读数据的时序这里我遇到过一个写多字节不生效的问题原因就是前面提到的 PMBus 写 WORD 的格式差异用轮询多次写入的方式解决后稳定了uint16_t eFuse_ReadWord(uint8_t regAddr) { uint16_t value 0; // 先写寄存器地址 I2CMasterSlaveAddrSet(I2C1_BASE, EFUSE_I2C_ADDR, false); I2CMasterDataPut(I2C1_BASE, regAddr); I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_SINGLE_SEND); while(I2CMasterBusy(I2C1_BASE)); // 连续读两个字节先高后低 I2CMasterSlaveAddrSet(I2C1_BASE, EFUSE_I2C_ADDR, true); I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_RECEIVE_START); while(I2CMasterBusy(I2C1_BASE)); value I2CMasterDataGet(I2C1_BASE) 8; I2CMasterControl(I2C1_BASE, I2C_MASTER_CMD_BURST_RECEIVE_CONT); while(I2CMasterBusy(I2C1_BASE)); value | I2CMasterDataGet(I2C1_BASE); return value; }5.2 状态机调度主循环逻辑我在裸机环境下用 SysTick 做 1ms 时基加一个简单的协作式调度器。电源管理任务按 10ms 周期运行内部状态迁移逻辑可以先调整优先级再继续运行核心思路用伪代码表达如下void PowerMgmt_Task_10ms(void) { static uint64_t preAlertTick 0; // 故障中断事件优先处理 if (efuseFaultFlag) { efuseFaultFlag false; state STATE_FAULT_LATCH; } switch (state) { case STATE_INIT: eFuse_ConfigureAllRegs(); // 写所有保护阈值 eFuse_EnableOutput(); state STATE_RUNNING; break; case STATE_RUNNING: if (eFuse_ReadCurrent() CURRENT_WARN_THRESHOLD) { preAlertTick SysTick_GetTick(); state STATE_CURRENT_WARN; } break; case STATE_CURRENT_WARN: if (eFuse_ReadCurrent() CURRENT_CRITICAL_THRESHOLD) { eFuse_DisableOutput(); // 主动断电 state STATE_FAULT_LATCH; } else if (SysTick_GetTick() - preAlertTick 3000) { state STATE_RUNNING; // 3 秒后回归正常 } break; case STATE_FAULT_LATCH: LogFaultToFlash(); // 等待用户通过外部命令或拨码复位 break; } }为什么设置了一个 3000ms 的返回时间因为我实测过很多工业负载存在启动瞬时大电流的情况比如电机启动、继电器吸合这些瞬态通常在几百毫秒到一两秒内消退。给 3 秒窗口可以让系统在预警状态短暂停留而不被误杀3 秒不消退继续上升说明是真故障而不是瞬态此时主动处理才会更准确。5.3 故障记录与诊断思路故障日志的格式设计也是实际项目中容易被忽视的部分。我用了 Flash 的一片独立扇区每条日志包含时间戳、故障类型、故障时的输入电压、输出电压、电流、芯片结温一条日志 32 字节循环覆盖旧记录。这样后续如果设备返回分析可以直接读取完整的故障上下文。这里要强调一个排查技巧eFuse 的故障寄存器里通常包含多个标志位读出来之后先判断是哪种故障。TPS25948 系列的故障寄存器有明确的位定义具体到项目中使用时务必拿到最新版数据手册的寄存器表例如不同版本对热关断标志的定义可能不同。我的处理方式是先把所有可读寄存器读出来存一个结构体再逐步解析避免只关注单一标志导致误判。6. 实测关键数据过流、短路、浪涌、热性能全记录理论设计和代码逻辑写再多最终还是要用实测数据说话。以下数据来自这台 24V 输入、5V/3A 输出的工业控制器主板环境温度 25°C自然对流。6.1 过流保护响应实测用电子负载做恒流模式把输出电流从 800mA 逐步往上调记录每个阶段的保护动作特性。设定电流 (A)输出状态eFuse 行为0.8正常无动作1.5正常无动作2.5正常无动作3.0临界电流被限制在 3.2A 左右输出接近启动预警电流值MCU 进入预警3.5触发保护电流钳位1s 后 MCU 主动断电故障锁存值得注意的一个现象eFuse 的限流值不是一条绝对硬的线在接近设定限流点时输出电流会在设定值附近有轻微的纹波这属于正常行为。真要区分设定点的精度需要做多点测试取包络线。6.2 短路保护实测输出端口直接短接示波器记录输出电压和电流波形。测试结果短路发生后约 8µs 输出电压开始跌落15µs 内降低到接近 0V电流峰值限制在 4A 以内限流点 3A 加 30% 容差范围28µs 后完全关断。这个速度是 PPTC 完全比不了的——PPTC 的动作时间在毫秒到秒级意味着短路期间能量已经在导线和器件上积累对敏感元器件已经是致命伤害。6.3 上电浪涌抑制实测测试条件输出端接 220µF 10µF 电容组合使能信号由 MCU 控制。压摆率配置实测冲击电流峰值输出电压爬升时间0.4ms22A0.6ms4ms4.5A5.2ms8ms1.8A9.8ms16ms0.9A18.1ms最终量产配置选了 8ms。原因冲击电流峰值 1.8A输入电压跌落不超过 200mV同时爬升时间不至于太慢影响系统启动速度。如果你带着 400ms 的启动时序16ms 也无妨但如果负载设备对供电时序要求苛刻必须权衡好爬升时间和浪涌抑制的平衡。6.4 热性能实测满负荷 3A 连续运行 24 小时用热电偶贴在芯片表面测量环境温度 25°C芯片表面 51°C环境温度 55°C芯片表面 82°C环境温度 70°C芯片表面 96°C此时结温约 115°C接近热关断阈值这个结果说明在室温环境下27mm² 左右的 GND 铜皮散热区就够了如果工业场景长期 70°C 环境运行要么提高限流阈值降低持续电流要么加强风冷散热。对于 3.5A 以上的持续负载强烈建议在 PCB 阶段就把散热铜皮面积规划好后面保住布局阶段能省很多事。7. 实际踩过的坑与排查经验最后这部分按惯例分享几个我在这个项目中实打实踩过的坑希望对后面做类似设计的朋友有借鉴价值。7.1 坑一I2C 写入偶尔丢失花了两天才定位现象很奇怪固件每 100ms 读一次 eFuse 状态大部分时间正常但偶尔有一个字节读回来是 0xFF 或 0x00。刚开始怀疑是时序问题、I2C 速率问题、甚至线路干扰查了很久。最后定位到根因TM4C129XKCZAD 的 I2C 模块在处理重复起始位Repeated Start时如果前一次通信刚结束后立刻发起下一次通信硬件偶尔会漏掉起始条件导致后一个字节没拿到正确数据。解决办法是在每次通信前加一个极短的延时约 50µs让 I2C 外设恢复稳定之后问题彻底消失。7.2 坑二PMBus 写寄存器格式和想象不一样原本以为和普通 I2C 从机一样直接寄存器地址数据就能写进去。实际调试发现寄存器根本没变查了 TI 的例程才发现 TPS259483 配置寄存器支持的是写两个字节的格式高字节在后低字节在前。这个细节一旦踩到会浪费一整天的排查时间。7.3 坑三故障恢复策略选错把继电器打成了电铃最初设计故障恢复用的是自动重试模式想着故障恢复后能自行恢复系统。结果在现场测试时遇到输出端继电器线圈短路eFuse 每次上电过流不到 100ms 就再次关断然后又自动重新上电继电器的触点反复拉弧发出哒哒哒的连续响声把现场的人吓一跳。后来痛定思痛把默认恢复策略改成锁存模式故障发生后保持关断状态只有 MCU 收到外部复位命令后才会重新使能。自动重试留给了非关键路径比如风扇电源这类即使反复尝试也无害的负载。这个经验我写进了团队的设计规范安全相关电源路径首选锁存模式自动重试只在负载不会引起二次故障的场景下使用。7.4 坑四输出端大电容导致上电瞬间的振荡用 220µF 电容做输出滤波时上电瞬间偶尔出现输出电压过冲到 5.6V 再跌回 5V 的现象虽然幅度不大但看起来不舒服。排查后确认是压摆率设得太慢导致环路响应振荡把压摆率从 16ms 调整到 8ms 后波形变得干净多了。如果调整后仍然过冲可以尝试在输出端并在电解电容旁边加一个 1Ω 串联阻尼电阻。8. 进一步扩展多路电源路径管理的系统化设计思路如果你看了上面的内容开始做类似的设计最后分享一个可以扩展的方向。一块工业控制板上往往不止一路电源路径。以一个典型设备为例MCU 主供电 3.3V、传感器供电 24V、通信模块供电 5V、风扇供电 12V。如果每一路都单独设计一个 eFuse 加 MCU 控制引脚PCB 面积和布局复杂度会明显增加。好在 TPS259483 的地址可通过 ADDR 引脚扩展到多个地址在一根 I2C 总线上挂多片 eFuse 是很自然的做法。这时建议给每一片 eFuse 分配一个独立且明确的电源域 ID并在固件里用一张配置表维护以下信息每个电源域的限流阈值、压摆率设定每个电源域的使能时序先谁后谁、间隔多少每个电源域的预警电流阈值和持续判断时间每个电源域的故障恢复策略锁存/自动重试每个电源域的故障优先级哪个域的故障需要整机停机这些信息集中维护之后新增一个电源域只需要在配置表里增加一行固件代码几乎不用改。我在这台设备上就是这么做的后来客户追加了第二路传感器电源需求只花了半小时就完成了参数配置和验证这个效率正是数字 eFuse 加主控管理方案的魅力。好了这趟从选型、计算、设计、调试到实测的全流程就到这里。我不太习惯写太收尾感的东西最后补一句最实在的电源路径保护这件事做够用不难但要做到可控、可感知、可预测数字 eFuse 加 MCU 这一套确实是目前实践下来最顺手的方向。如果你也在做类似的工业控制板设计本文中的寄存器时序坑、故障恢复策略、以及 PCB 散热处理这几块值得在下板之前反复对照一遍。
返回列表