PMIC

电源在系统中有着举足轻重的地位,本篇文章介绍了PMIC电源调试中最为棘手的问题,以及相应的解决办法。该产品具有故障安全输出机制,支持多输出轨、输出电压可配置及工作频率和上电时序可设置、看门狗监控等强大功能。

这个问题太棘手

电源是系统的重要组成部分,电源的调试又是工程师们最头痛的问题之一,读者中有没有遇到过棘手的问题呢?

最近,小编在调试某平台时,遇到一个很诡异的现象:PMIC输出几秒,突然又断开几秒,紧接着又开始输出,如此循环,并且很有规律性。

这个器件够强大

小编在分析问题之前,先展示一下这颗非常具有潜力的PMIC-FS8530器件。

PMIC最高支持ASIL-D的安全等级,其具有故障安全输出机制,支持多输出轨、输出电压可配置及工作频率和上电时序可设置,并且支持看门狗监控等体现安全的功能。

  •   三路低压Buck,两路线性稳压器(LDO);

  •   通过SPI或I2C接口进行配置和诊断执行;

  •   通过OTP编程进行配置;

  •   VPRE同步降压控制器,带有外部MOSFET,可配置的输出电压,开关频率,最高10A峰值的电流能力;

  •   低压集成同步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的安全性监控,但随着汽车设计安全性的需求越来越高,节点系统的各个部分将拥有越来越多的安全机制......

转自: 周立功单片机

围观 910
订阅 RSS - PMIC