ARTICLE DETAIL

资讯详情

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

基于TPS259631 eFuse的NVMe SSD供电保护设计与实测

基于TPS259631 eFuse的NVMe SSD供电保护设计与实测 写这几篇电子相关的项目记录前我一直在调一块存储卡的高速读写板卡。板卡本身问题不大麻烦的是供电保护。后端挂的R7KA8D2KFLCAC是一块满载功耗能冲到十几瓦的NVMe SSD前端的供电轨稍有不干净轻则掉盘、重则固件损坏。为了在故障条件下把电流和电压限制在安全水平我最后用TPS259631这颗eFuse做了整个输入端保护方案从参数计算到短路实测整个流程走下来有不少值得记录的细节这篇东西就当作一次完整的踩坑总结给同样在做存储设备供电保护的朋友参考。1. 项目概述与设计思路拆解1.1 为什么需要把电流/电压限制在安全水平先说背景。存储设备不像普通数字板卡它对供电的容忍度其实相当低。NVMe SSD内部有主控、DRAM缓存、NAND颗粒任何一个供电异常都可能导致掉固件、映射表损坏甚至颗粒寿命衰减。尤其是SSD处于高负载写入时电流消耗会瞬间拉高这时候前端电源若出现短路、过压、电压跌落后端设备连一点缓冲时间都没有。很多人第一反应是加保险丝。传统熔断器确实能切断过流但问题在于熔断器是“一次性”的而且在短路初期熔断速度往往不够快可能已经让后端设备承受了数毫秒的危险电流。自恢复保险丝PPTC虽然能自动恢复但它的动作精度低、温度漂移大用在对电流限制要求严格的场合并不合适。这次项目需要面对的真实故障场景包括电源热插拔瞬间的冲击电流、后端设备异常短路、输入电源过压或欠压、以及感性负载断开时产生的尖峰。要求是无论出现哪种故障都必须在微秒级时间内把电流/电压钳制在安全范围内并且在故障排除后能够安全恢复。1.2 方案选型TPS259631和R7KA8D2KFLCAC的角色分配先说清楚这两个器件在系统中的分工。TPS259631是TI的电子保险丝eFuse控制芯片它集成了功率FET、电流检测、电压监测和热关断功能。在电路中的位置是输入端也就是电源进来的第一道关卡。它的工作是持续监测输入电压和流过自身的电流一旦发现异常立刻通过关断或限制功率管的方式来保护后级电路。R7KA8D2KFLCAC是后端被保护的负载具体来说是一块高性能NVMe存储设备。整个方案的最终目标就是保证这块设备在异常供电条件下不被损坏具体包括三个方面限制输入浪涌电流在安全范围内、将输出电压钳制在设备允许的额定范围、短路时迅速切断电流回路。选TPS259631而不是用分立MOSFET加控制IC核心原因是体积和可靠性的平衡。eFuse把采样电阻、驱动电路和保护逻辑全部集成在芯片内部PCB上只需要几个外围电阻电容就能工作。同时它的限流精度相比分立方案高不少电流限制点的误差可以做到±7%以内这对需要精确设置保护阈值的场合非常重要。1.3 设计目标与技术指标根据R7KA8D2KFLCAC的供电规格我设计时定下以下几项硬指标供电输入12V DC允许波动范围11.4V~12.6V正常工作电流峰值不超过5ASSD高负载写入瞬间限流点设置为6.6A保证正常工作余量约30%过压保护阈值13.5V超过后立即关断输出欠压保护阈值9.5V防止电压跌落时设备工作在不正常状态软启动时间约10ms避免上电瞬间对输入电源造成冲击这里有个设计取舍需要说明限流点不能设得太靠近正常工作电流。一方面SSD启动瞬间或者做坏块管理时会有短暂的电流尖峰余量太小时容易误触发另一方面限流点太高又起不到保护作用。6.6A这个值在实际测试中既不会误动作也能在短路时把电流限制在芯片和SSD都能承受的范围。2. 核心器件原理与关键参数解析2.1 TPS259631电子保险丝的工作机制TPS259631这颗芯片的内部架构可以简单理解成三部分功率通路、检测反馈通道和保护逻辑。功率通路就是一颗低导通电阻的N沟道MOSFET正常工作时它完全导通压降非常小不会对供电造成明显影响。检测反馈通道是内置的电流采样放大器它不断比较负载电流和设定的阈值一旦发现电流超过限制点就会主动调整功率管的栅极驱动电压让电流被“钳住”而不是直接切断。这就是eFuse和保险丝最本质的区别保险丝是“断了就没了”eFuse是“先限制、再切断”。在限流状态下输出电压会随负载阻抗降低而下降电流则保持在设定值附近。如果这个状态持续太久芯片内部温度升高到热关断点它才会彻底关断输出。这种两级保护机制非常适合存储设备因为某些瞬态过流可能只持续几百微秒直接切断反而会造成不必要的掉电。芯片的输入电压范围、输出使能逻辑、故障自动重试/锁存模式都在设计时需要仔细考虑。这次项目里我把故障模式配置为“锁存”也就是故障发生后保持关断状态直到重新上电或者把使能引脚拉到低电平再拉高。选锁存而不是自动重试是因为SSD这种设备在供电故障后往往需要人工介入检查自动恢复反而可能反复冲击设备。2.2 负载侧R7KA8D2KFLCAC的供电需求分析R7KA8D2KFLCAC作为NVMe存储设备它的供电特点值得单独说。它在空闲时电流可能只有几百毫安但一旦进入连续写入状态主控和NAND同时工作电流会快速攀升到好几安培。更关键的是它的负载变化是“脉冲式”的写入时电流上升沿非常陡这就对前端电源的动态响应提出了要求。从保护设计角度我关注的核心是它的电压容忍窗口。SSD的供电规范通常在标称电压附近会给一个比较宽的容忍范围比如12V供电的设备在9V~13.2V范围内还能工作但超过这个范围就可能损坏输入端口的ESD保护结构或DC-DC转换器。所以我把过压点设在13.5V、欠压点设在9.5V给设备留出了足够的正常工作区间又能在电压异常时及时断开。之所以把欠压点设在9.5V而不是更接近12V是因为考虑到SSD内部的DC-DC转换器有自己的输入范围短暂的电压跌落只要不低于它的最低工作电压就不会出问题。欠压保护设置得太灵敏反而容易在电源切换、负载波动时误触发得不偿失。2.3 限流、过压、欠压、软启动的参数设置TPS259631的限流点需要一颗电阻从ILIM引脚接地来设定具体的对照关系可以参考芯片数据手册中的公式曲线。我的计算方式是按照目标限流值6.6A反推需要的设置电阻阻值。这一步必须仔细因为电阻的精度直接影响最终限流精度建议使用1%精度的贴片电阻。过压和欠压阈值则是通过分压电阻网络设定到OVP和UVLO引脚上。计算分压电阻时需要考虑芯片内部比较器的基准电压以及输入迟滞。我一般会先根据目标阈值算出大概的电阻比值然后用标准阻值序列去凑最后在实测中微调。软启动时间通过dVdT引脚对地电容来设定。这个电容的容量越大输出电压爬升越慢。对于12V供电的存储设备我选择大约10ms的上升时间既能有效抑制浪涌电流又不会让设备的上电时序超时。3. 电路设计实操与关键计算3.1 限流点设置电阻的计算全流程先说限流电阻的计算。TPS259631的限流关系可以简化为Ilimit K / Rilim其中K是芯片决定的常量。具体数值要查芯片手册但计算思路是一致的先把目标限流值代入公式得到初步电阻值然后在标准E96系列电阻里选最接近的阻值再把实际电阻值代回去确认实际限流点。我这边的实际计算过程如下目标限流6.6A查手册得到K值假设手册给出公式参数计算得到Rilim约等于某个值选择标准阻值根据选择阻值反推实际限流点为6.55A满足±7%的精度要求选电阻时要注意功率等级虽然限流电阻本身流过电流极小但如果PCB布局离功率路径太近会因为热传导导致阻值漂移。所以这个电阻我会选1206或者0805封装并且放在远离功率MOSFET散热点的地方。3.2 过压/欠压保护分压网络的推导过压保护分压网络的设计需要理解芯片的比较器内部结构。OVP引脚内部有一个基准电压比如1.2V当引脚电压超过这个基准时就触发过压保护。我的目标是让输入电压升到13.5V时OVP引脚刚好达到1.2V由此可以列出一个简单等比关系。同样的方法处理UVLO引脚只不过它关注的是输入电压降到9.5V时引脚电压低于基准。两个引脚的分压网络可以独立设计但我习惯用相同的电阻系列方便BOM管理和备料。特地提醒一点分压电阻的精度直接决定保护阈值的准确性我全部使用的是1%的厚膜电阻。如果对阈值精度要求更高可以考虑用0.1%的精密电阻但价格会贵不少一般情况下1%够用了。分压网络的高压侧电阻还承担着为芯片内部比较器提供偏置电流的任务所以阻值不能太大否则偏置电流会在电阻上产生额外压降导致阈值偏移。我一般控制分压网络的电流在100μA左右据此确定电阻量级。3.3 启动时序设计与dVdT电容选择软启动的作用一定要从波形上去理解。如果没有软启动输入电源突然加到12V输出端的大容量电容会瞬间抽取巨大电流也就是浪涌电流。这个电流尖峰可能达到几十安培虽然持续时间很短但足以让前端的电源适配器触发过流保护或者导致电压跌落。TPS259631通过控制输出电压的上升斜率来限制浪涌电流。dVdT引脚对地接的电容越大则上升斜率越小。我选的10ms上升时间对应的电容值在数据手册中可以直接查到通常在这个范围附近。计算浪涌电流的方法是用输出总电容乘以上升斜率。比如输出端有220μF的电容电压在10ms内从0升到12V平均浪涌电流就是12V除以10ms再乘以220μF得到约264mA。这个值远小于正常工作电流说明软启动参数选得合理。测试中还发现如果把dVdT电容选得过大虽然浪涌电流更小但上电时间太长可能导致设备端的电源监控芯片触发欠压复位。所以软启动时间不是越长越好需要结合后端设备的时序要求来调节。3.4 热设计考量与PCB布局要点eFuse在工作时最容易被忽略的就是热设计。正常导通时电流流过芯片内部的MOSFET即使导通电阻只有几十毫欧5A电流下也会产生明显的功率损耗。限流状态下损耗更大因为芯片会有意让MOSFET工作在线性区此时压降和电流的乘积可能达到几十瓦。我实际测试过在6.6A限流点持续工作时芯片表面温度很快会超过100摄氏度。如果是靠空气自然散热芯片内部的过热保护会在几秒内触发。这其实是个合理的设计行为但如果板子散热条件太差正常工作在接近限流点时也可能误触发热关断。PCB布局上我建议把TPS259631的散热焊盘直接连接到大面积的地铜皮并且打过孔到内层地平面辅助散热。功率路径要短而宽输入输出电容尽量靠近芯片引脚。保护设置电阻要远离功率路径的热点区域避免因为温度变化导致限流点漂移。4. 故障场景实测与波形记录4.1 实测平台搭建参数设置完成后我在评估板上搭了一套完整的测试平台。工具包括可编程直流电源模拟输入、设置不同电压、电子负载模拟过流和短路、示波器测量电压电流波形、热像仪观察温升情况。测试分四个阶段正常上电、限流测试、过压测试、短路测试。每个阶段我都记录了关键波形参数包括响应时间、限流精度、恢复时间等。实测数据与数据手册参数的对比是验证设计是否达标的最直接方法。务必注意测试安全短路测试会产生很大的瞬态能量务必用带有恒流模式的电子负载或者专门设计的短路开关来操作不要直接用导线短接否则容易烧毁测试设备甚至引发安全事故。4.2 短路故障电流切断响应短路测试是衡量eFuse保护效果的关键。我用一个MOSFET开关控制输出端与地之间的连接模拟后端设备突然短路。在开关闭合瞬间示波器捕捉到电流迅速上升但TPS259631的限流环路几乎同时响应电流被钳制在设定的限流点附近而不是无限上升。从我记录的波形看短路发生到限流环路完全起作用的响应时间约几十微秒。与传统保险丝几毫秒到几十毫秒的熔断时间相比这个速度是数量级的提升。限流后的电流波形是一个平顶表明芯片正在线性区工作。如果短路状态持续芯片会在热关断点到达后彻底关断输出。正常情况下这个时间取决于散热条件我测试大约几百毫秒后才关断期间芯片温度逐步上升。选择锁存模式后即使去除短路故障输出也不会自动恢复必须重新上电或切换使能信号。4.3 过压故障输出电压钳位过压测试是让可编程电源缓慢升高输出电压观察保护动作点。我把电源电压从12V慢慢升到13.5V看TPS259631是否在预期阈值处关闭输出。实测结果与设计值非常接近说明分压电阻的设置是准确的。一个细节是过压保护动作时输出电压是缓慢下降还是迅速切断取决于芯片内部的功能逻辑。在我测试的这颗芯片上过压触发后输出会很快关断同时故障标志引脚输出低电平。这个信号可以接到板卡上的LED指示灯或者MCU的中断引脚方便系统快速感知故障。过压故障恢复时的波形也值得关注。当输入电压恢复到正常范围后由于设置了锁存模式输出不会自动恢复需要手动复位。这个逻辑在实际应用中非常重要否则反复过压可能让保护电路在故障状态下不断开关进一步损坏设备。4.4 连续故障模式热关断与自恢复测试我还做了一组连续故障模式测试模拟设备反复出现短时过流的情况。方法是给电子负载设定一个周期性的短路过流信号观察TPS259631在多次故障后的表现。测试结果表明芯片每次都能准确限流去除故障后立即恢复正常输出没有出现误锁存或参数漂移。热关断测试中我用大电流持续拉低输出让芯片进入热关断状态然后用热像仪记录芯片的温升路径。实测最高温点集中在芯片内部MOSFET对应的封装位置这符合预期也验证了PCB散热设计的效果。热关断后的恢复时间与板子冷却速度相关大约需要几秒才能再次启动。这里要特别说明自动重试模式和锁存模式的实际表现差异很大。如果在设计中选择了自动重试模式热关断后芯片会周期性尝试重新启动期间会反复向故障负载注入短脉冲电流。对于SSD这类设备我强烈建议用锁存模式避免反复冲击。5. 故障排查与避坑经验实录5.1 常见问题速查表整个调试过程中我记录了一张问题速查表这些现象基本都是第一次做eFuse保护设计的人容易遇到的整理出来供大家参考。现象可能原因排查方法与解决方案上电瞬间电源被拉死软启动电容失效或未焊接检查dVdT电容是否焊好是否用对了容值限流点与设定值偏差大限流设置电阻精度不够或走线过长确认Rilim使用1%精度电阻缩短到芯片引脚的走线过压保护阈值偏移分压电阻受热漂移改用低温漂电阻远离功率路径散热区域故障后无法复位使能引脚被下拉检查使能信号上拉电路确保高电平时正常使能正常工作时芯片烫手PCB散热焊盘没有良好接地加大散热铜皮面积增加过孔到内层地平面输出波纹明显加大输出电容容值不足增加输出端储能电容确保满足动态响应要求5.2 我踩过的几个坑第一个坑是关于限流设置电阻布局。最开始我把Rilim放在了离芯片较远的位置中间还绕了一根细长走线。结果出来的限流点总比设定值低5%左右怎么调都不对。后来才发现问题出在走线寄生电阻上它和限流电阻串联导致等效阻值偏大自然就拉低了限流点。把电阻移到芯片引脚旁边后问题立刻消失。第二个坑是示波器测量安全。测试过压保护时示波器探头的地线夹如果离测量点太远会形成一个环路电感在高带宽下产生振铃。这种振铃反射到示波器屏幕上很容易让人误以为电源输出有问题。后来我把探头的地线弹簧接到测量点附近波形立刻干净了。测量这种微秒级开关波形时探头的接地方式直接影响结果的真实性。第三个坑是关于故障标志的处理。设计时留了一个MCU读取故障标志的接口但最初没有加上拉电阻导致故障解除后标志引脚悬空MCU读取到不确定状态造成了误报。这是一个很低级但容易被忽略的问题GPIO检测外部开漏输出时上拉电阻是必不可少的。5.3 总结经验与实际应用扩展用TPS259631搭配R7KA8D2KFLCAC这套方案跑下来我的体会是eFuse这类器件特别适合存储供电保护场景它的限流精度、故障响应速度和可配置性是传统保险丝无法比拟的。把限流点、过压点、软启动时间这几个核心参数定清楚之后整个方案的可靠性就建立起来了。这个方案还可以做不少扩展。比如在故障标志引脚上接一个MCU中断实现故障日志记录或者用两颗eFuse做冗余供电提升数据中心场景下的可用性再或者通过监控限流状态来判断后端设备是否处于异常状态实现预警功能。对于同样在做供电保护设计的工程师我最后给一个非常具体的建议拿到芯片后先不要急着做板子用TI官方的评估板把限流精度和故障响应测一遍确认芯片特性和数据手册一致再投入自己的设计。这样到了正式板卡调试时你能更准确地判断问题是来自芯片选型还是外围电路省下很多排查时间。
返回列表