电源在系统中有着举足轻重的地位,本篇文章介绍了PMIC电源调试中最为棘手的问题,以及相应的解决办法。该产品具有故障安全输出机制,支持多输出轨、输出电压可配置及工作频率和上电时序可设置、看门狗监控等强大功能。◆◆这个问题太棘手◆◆
电源是系统的重要组成部分,电源的调试又是工程师们最头痛的问题之一,读者中有没有遇到过棘手的问题呢?
最近,小编在调试某平台时,遇到一个很诡异的现象:PMIC输出几秒,突然又断开几秒,紧接着又开始输出,如此循环,并且很有规律性。
◆◆这个器件够强大◆◆
小编在分析问题之前,先展示一下这颗非常具有潜力的PMIC-FS8530器件。
PMIC最高支持ASIL-D的安全等级,其具有故障安全输出机制,支持多输出轨、输出电压可配置及工作频率和上电时序可设置,并且支持看门狗监控等体现安全的功能。
-
通过OTP编程进行配置;
-
低压集成同步BUCK1/2转换器。可配置的输出电压,电流能力高达3.6A峰值;BUCK1/2的多相功能可在单轨上将电流能力扩展至7.2A峰值;
-
具有独立监控电路的ASIL-D,用于MCU监控的专用接口,具有watchdog,复位和中断,内置自检,故障安全输出功能。
回归正题,继续文章开始的问题。开始排查了PMIC的Reset,Wake等信号,都没发现异常,鉴于输出波形的规律性,经过小编的苦苦研究,问题终于找到答案。
原因出现在这里:因为OTP时启用了Challenger watchdog监视功能。
Challenger watchdog基于MCU的question/answer流程。在FS8530中通过LFSR(Linear Feedback Shift Register)实现生成16位伪随机字。
MCU可以在INIT_FS阶段发送LFSR的seed或使用FS85生成的LFSR,并执行预定义的计算。在watchdog OPEN窗口期间通过SPI / I2C发送,并由FS8530验证结果。
-
当结果正确时,将重新启动watchdog程序窗口并生成新的LFSR;
-
当结果错误时,watchdog错误计数器递增,watchdog窗口重新启动并且LFSR值不会改变。
在初始化阶段(INIT_FS)期间,MCU发送LFSR的seed,或使用由WD_SEED寄存器中提供的FS8530(0x5AB2)生成的默认LFSR值。使用此LFSR,MCU根据以下公式执行简单计算,并将结果发送到WD_ANSWER寄存器。
watchdog错误策略适用于Challenger watchdog和Simple watchdog。watchdog错误计数器在设备中实现,用来过滤不正确的watchdog刷新。
每次发生watchdog故障时,器件将此计数器递增2;每次正确刷新watchdog时,watchdog错误计数器将递减1。此原则可确保循环“OK / NOK”行为收敛到故障检测。为了实现应用程序的灵活性,此计数器的最大值可在INIT_FS阶段使用WD_ERR_LIMIT [1:0]位进行配置。
根据以上原因分析,解决该问题有两个方法:
-
使用Debug模式,此时,看门狗窗口完全打开,故障安全状态机的深度故障保护请求(DFS = 1)被屏蔽,RSTB引脚的8s定时器监控被禁用,不需要看门狗刷新(仅限于调试时使用);
-
MCU/CPU通过I2C/SPI在INIT_FS阶段发送LFSR的seed或使用FS8530生成的LFSR,并执行预定义的计算,避免watchdog错误次数达到预定值而复位,导致断断续续输出。
◆◆结束语◆◆
在清晰了PMIC工作的机制后,解决问题就水到渠成了。在往常,看门狗一般应用于主控MCU的安全性监控,但随着汽车设计安全性的需求越来越高,节点系统的各个部分将拥有越来越多的安全机制,我们将在后续的文章中一一为大家呈现,请大家敬请期待。
-
PMIC
+关注
关注
15文章
330浏览量
109469 -
OTP
+关注
关注
4文章
201浏览量
47136 -
asil
+关注
关注
0文章
43浏览量
9267
原文标题:PMIC输出断断续续,原来是它在作怪
文章出处:【微信号:Zlgmcu7890,微信公众号:周立功单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论