电源管理芯片PMIC的安全策略

1.概述

PMIC作为系统的电源管理模块,其输入电压一般会比较高,为保证芯片自身的安全,PMIC芯片会有独立的安全域,和功能域完全隔离,拥有独立的电压和电流输入,独立的晶振模块,内部运行监控状态机,实时监控芯片的运行状况,保障芯片的安全和稳定运行,故障安全域需要满足QM、ASIL B或ASIL D级别的功能安全等级。

2.解决的问题

PMIC的安全域,主要作用是监控系统运行、系统故障恢复,系统运行中,随时可能出现过压、欠压、程序跑飞等各种问题,PMIC的安全域正是为了解决这些问题而发明的,当系统出现这些故障,要根据故障级别,执行对应的故障恢复策略。

下面以VR5510进行详细分析

3.VR5510安全域

3.1 系统框图

3.2 功能模块

1.初始化

VR5510在电源上电复位或从待机模式或深度睡眠模式唤醒后,RSTB引脚被释放,故障安全状态机将进入INIT_FS阶段,为各个寄存器写入值,进行初始化操作。为了确保在INIT_FS期间的写入过程的安全性,MCU必须对所有INIT_FS寄存器执行以下序列操作:

在FS_I_Register_A(DATA)中写入所需的数据,在FS_I_NOT_Register_A(DATA_NOT)中写入FS_I_Register_A数据的一位补码。

例如,如果FS_I_Register_A = 0xABCD,则必须将0x5432(0xABCD的一位补码)写入FS_I_NOT_Register_A。

也就是说,INIT_FS阶段,所有INIT_FS相关的寄存器,都存在寄存器和它的互补寄存器。

VR5510实时计算DATA XOR  DATA_NOT的异或结果。如果计算结果为真,则FS_STATES寄存器中的REG_CORRUPT位被设置为0。如果计算结果为假,则REG_CORRUPT位被设置为1。在INIT_FS阶段第一次有效的看门狗刷新而关闭后,REG_CORRUPT的监控立即激活。

INIT_FS必须在看门狗窗口超时之前通过第一次有效的看门狗刷新来关闭。窗口持续时间可以通过WD_INIT_TIMEOUT_OTP[1:0]位(CFG_2_OTP寄存器)进行编程。

在INIT_FS关闭后,可以通过设置FS_SAFE_IOS寄存器中的GOTO_INITFS位,从任何其他FS_state状态重新进入INIT_FS阶段。

2.看门狗

看门狗有Simple和Challenger两种类型,都是带有窗口的监控。窗口的第一部分被称为“CLOSED”窗口,而第二部分被称为“OPEN”窗口。

在“OPEN”窗口期间进行的正确看门狗响应被视为好的看门狗刷新。而坏的看门狗刷新则包括以下几种情况:在“OPEN”窗口期间进行的错误看门狗响应、在“OPEN”窗口期间没有进行任何看门狗刷新,或者在“CLOSED”窗口期间进行了正确的看门狗响应。

无论是好的还是坏的看门狗刷新之后,都会立即开始一个新的窗口周期,以确保微控制器(MCU)与带窗口的看门狗保持同步。

首次成功的看门狗刷新会关闭INIT_FS。看门狗窗口继续运行,MCU必须在看门狗窗口周期的“OPEN”窗口内刷新看门狗。看门狗窗口的持续时间可以通过FS_WD_WINDOW寄存器中的WD_WINDOW[3:0]位进行配置,范围从1毫秒到1024毫秒。新的看门狗窗口设置将在下一次看门狗刷新后生效。

看门狗窗口只能在INIT_FS阶段被禁用。一旦INIT_FS阶段关闭,看门狗禁用的操作才会生效。在INIT_FS阶段结束后,如果看门狗窗口被禁用,它将不再监控MCU的运行状态,将无法恢复MCU故障。

Simple看门狗使用了一个独特的种子值。微控制器(MCU)可以将自己的种子值发送到WD_SEED位字段(FS_WD_SEED寄存器)中,或者它可以使用默认值0x5AB2。这个种子值必须在OPEN看门狗窗口期间写入到WD_ANSWER位字段(FS_WD_ANSWER寄存器)中。当结果正确时,看门狗窗口会重新启动。如果结果不正确,WD错误计数器会增加,并且看门狗窗口也会重新启动。

在Simple看门狗配置中,不能将0xFFFF和0x0000的值写入WD_SEED。如果尝试写入0x0000或0xFFFF,则会报告通信错误。这是因为这些值可能被看门狗机制用作特殊标记或保留值,以防止意外的配置错误。因此,在配置Simple看门狗时,应确保使用有效的种子值,并遵循看门狗机制的规定来刷新看门狗,以确保系统的稳定运行。

Challenger看门狗是基于VR5510和微控制器(MCU)之间的问答交互机制。在INIT_FS阶段,VR5510使用线性反馈移位寄存器(LFSR)来生成一个16位的伪随机数。

MCU可以发送一个不同的LFSR种子,或者使用VR5510默认的LFSR值(0x5AB2)来执行一个预定义的计算。计算结果在OPEN看门狗窗口期间通过I2C接口发送,并由VR5510进行验证。当结果正确时,看门狗窗口会重新启动,并生成一个新的LFSR值。如果结果错误,WD错误计数器会增加,看门狗窗口会重新启动,但LFSR值不会改变。

在初始化阶段(INIT_FS),MCU发送LFSR的种子,或者使用VR5510生成的默认LFSR值(0x5AB2),该值存储在WD_SEED寄存器中。使用此LFSR,MCU根据以下公式执行一个简单的计算,并将结果发送到WD_ANSWER寄存器中。

通过这种方式,Challenger看门狗提供了一种比Simple看门狗更高级别的保护,可以防止未经授权的访问或篡改。如果MCU在OPEN窗口期间无法提供正确的答案,那么看门狗会认为系统可能出现了故障,并采取相应的恢复措施,如重启MCU。

看门狗错误策略适用于Challenger看门狗和Simple看门狗。设备中实现了看门狗错误计数器,用于过滤不正确的看门狗刷新。每次发生看门狗失败时,设备会将计数器增加2。每当看门狗被正确刷新时,错误计数器就会减少1。这一原则确保了循环的“OK/NOK”行为最终会收敛到故障检测上。

为了在应用中提供灵活性,在INIT_FS阶段,可以通过FS_I_WD_CFG寄存器中的WD_ERR_LIMIT[1:0]位字段来配置看门狗错误计数器的最大值。这样,开发者可以根据具体的应用场景和需求,设置合适的错误计数阈值,以便在检测到一定数量的错误后采取相应的恢复措施。

MCU故障恢复

当MCU通过其FCCU(故障捕获和纠正单元)引脚触发故障时,设备会激活FS0B引脚,并将看门狗窗口的持续时间自动转换为一个开放窗口状态,即在此期间不再受原有的占空比限制。这个开放窗口的持续时间在INIT_FS(故障安全初始化)阶段可以通过FS_WD_WINDOW寄存器中的WDW_RECOVERY[3:0]位字段进行配置。

3.FCCU监控

FCCU(故障捕获和纠正单元)的负责监测来自MCU的硬件故障。这些输入引脚可以按对配置,也可以作为单独独立的输入。一旦INIT_FS通过第一个有效的看门狗刷新信号关闭,FCCU的监测功能就会立即激活。

4.电压监视器

负责监测VCOREMON、HVLDO、VDDIO以及VMON1/2/3/4输入引脚上的过压和欠压情况。当这些引脚中任何发生过压时,相关的稳压器将被关闭,直到故障被清除。电压监测功能在FS_ENABLE=1时立即激活。故障发生时,会报告欠压(UV)和过压(OV)标志。

电压监视器能够实时地检测和处理电源供应中的异常情况,从而保护微控制器和其他敏感电路免受损坏。当检测到过压或欠压时,电压监视器可以通过关闭受影响的稳压器来防止进一步的损害,并等待故障被修复后再重新启用稳压器。同时,通过报告UV/OV标志,VR5510还可以向MCU提供关于电源状态的信息,以便MCU处理故障。

5.故障管理

R5510集成了一个可配置的故障错误计数器,用于统计与设备本身相关的故障数以及与外部事件相关的故障数,包括过压、欠压、FCCU、看门狗刷新错误。故障错误计数器具有两个输出值:中间值和最终值。中间值可以根据FS_I_FSSM寄存器中FLT_ERR_IMPACT[1:0]位字段的配置,用于强制激活FS0B(故障安全信号0)或生成RSTB(复位信号)脉冲。

当故障错误计数器记录到中间值时,系统可以根据FLT_ERR_IMPACT[1:0]的设置来决定是触发FS0B以启动故障安全机制,还是发送RSTB脉冲来复位系统。

在正常工作状态下,当FS0B和RSTB被释放时,如果VR5510的故障安全状态机检测到故障,则故障错误计数器会增加。如果未将故障配置为断言RSTB和FS0B,则不会增加故障错误计数器的值。在这种情况下,仅提供标志供微控制器(MCU)进行诊断。

6.引脚说明

三个安全输出引脚(PGOOD、RSTB、FS0B)在层次上被赋予了优先级,以确保系统能够安全地达到稳定状态。

PGOOD(电源良好)具有最高优先级(一级)。如果PGOOD被断言(即电源良好信号被激活),则RSTB和FS0B也会被断言。

RSTB(复位)具有次高优先级(二级)。如果RSTB被断言,FS0B也会被断言,但PGOOD可能不被断言。

FS0B(故障安全)具有最低优先级(三级)。如果FS0B被断言,RSTB和PGOOD可能不被断言。

STBY 引脚,可以在应用中连接到 MCU。STBY(待机)输入引脚的极性可以通过 STBY_POLARITY_OTP 位(CFG_DEVID_OTP 寄存器)进行配置,以选择是在待机模式下高电平有效/正常模式下低电平有效,还是在待机模式下低电平有效/正常模式下高电平有效。

STBY 功能通过 STBY_EN_OTP 位(CFG_2_OTP 寄存器)启用。

进入待机模式有两种可能的路径,这取决于 STBY_SAFE_DIS_OTP 位(CFG_2_OTP 寄存器)的设置:

标准路径:仅使用 STBY 引脚的电平变化。

安全路径:使用 I2C 请求(FS_SAFE_IOS 寄存器中的 STBY_REQ 位)以及 STBY 引脚的电平变化。

7.自测试

故障安全状态机包含一个逻辑内置自测试(LBIST),用于验证安全逻辑监控的正确功能。LBIST 在每次上电复位(POR)之后,或者在每次从待机模式唤醒后进行。如果 LBIST 失败,RSTB 和 PGOOD 会被释放,但 FS0B 会保持在低电平状态并且无法被释放。

故障安全状态机包括两个模拟内置自测试(ABIST),用于验证安全模拟监控的正确功能。

ABIST1 在每次上电复位(POR)之后,或者在每次从待机模式唤醒后自动执行。在 ABIST1 期间,要检查的稳压器的分配是通过 OTP(一次性可编程存储器)完成的。

ABIST2 是在 INIT_FS 阶段之后通过 I2C 使用 Vxxx_ABIST2 位(FS_I_ABIST2_CTRL 寄存器)来执行的。

如果 ABIST 失败(无论是 ABIST1 还是 ABIST2),RSTB 和 PGOOD 会被释放,但 FS0B 会保持在低电平状态并且无法被释放。这表示系统已进入故障安全状态,以防止在不安全条件下继续运行。

5.总结

本文对PMIC的安全策略进行了讲解,拿VR5510进行具体分析,其他PMIC芯片也是类似的原理。

本文的实操,已在github公开,需要深入研究的自取。
https://github.com/sydyg/Vehicle_Soft_Class.git

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/769820.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

谷粒商城笔记-02-项目整体效果展示

这是整个项目的第2集。 主要内容是: 演示了谷粒商城的后台管理系统 演示了商城系统 项目第一阶段[分布式基础篇]的主要内容及这个阶段完成后能达到的技能水平项目第一阶段[分布式高级篇]的主要内容及这个阶段完成后能达到的技能水平项目第一阶段[高可用集群篇]的主…

专利优先权是什么

专利优先权:定义、分类与重要性 在专利的世界中,专利优先权是一个至关重要的概念。它不仅是专利申请人权益的保障,更是确保创新成果得到及时和充分保护的重要工具。 一、专利优先权的定义 专利优先权是指专利申请人就其发明创造第一次在某…

【期末复习】数据库系统概论(附带考点汇总)

第1章.绪论 目录 第1章.绪论1.1. 数据库系统概述1.1.1.基本概念1.1.2.产生和发展 1.2.概念模型1.2.1.三种模型1.2.2.概念模型1.2.3.关系模型 1.3.数据库系统结构1.3.1三级模式结构1.3.2.两级映像与数据独立性 第2章.关系型数据库2.1.关系2.2.关系操作2.2.1.基本关系操作2.2.2.关…

从关键新闻和最新技术看AI行业发展(2024.6.17-6.30第二十六期) |【WeThinkIn老实人报】

写在前面 【WeThinkIn老实人报】旨在整理&挖掘AI行业的关键新闻和最新技术,同时Rocky会对这些关键信息进行解读,力求让读者们能从容跟随AI科技潮流。也欢迎大家提出宝贵的优化建议,一起交流学习💪 欢迎大家关注Rocky的公众号&…

万界星空科技QMS系统:重塑质量管理新纪元

万界星空科技QMS(Quality Management System)质量管理系统是一套全面、高效的质量管理工具,旨在帮助企业提升产品质量、优化生产流程、降低质量成本。该系统具备多个具体功能模块,以下是对其主要功能模块的详细介绍: 一…

数据泄露时代的安全之道:访问认证的重要性

引言 想象一下:你一觉醒来,收到一条通知——你的公司遭遇了数据泄露。你感到恐惧,因为这意味着客户数据被曝光,公司声誉受损,还有巨额罚款在等着你。在当今的数字化环境中,这种情况太常见了。全球各地的组…

Android sdk 安装已经环境配置

🍎个人博客:个人主页 🏆个人专栏:Android ⛳️ 功不唐捐,玉汝于成 目录 正文 一、下载 二、安装 三、环境配置 我的其他博客 正文 一、下载 1、大家可去官网下载 因为需要魔法 所以就不展示了 2、去下面这…

【启明智显分享】启明智显2.8寸COF触摸串口屏:一体黑设计与塑料框架相结合

在我们不断追求智能化、科技化生活的年代,越来越多的高科技产品为我们的日常生活带来了无与伦比的便利。智能屏已经成为智能化进程中的重要组成部分,其设计的美观性、便携性、耐用性都成为产品选型的重要依据。 启明智显近期推出了一款基于乐鑫ESP32-S3R…

城镇居民社区再生资源回收系统-计算机毕业设计源码04175

摘 要 本论文介绍了一个基于SSM(Spring Spring MVC MyBatis)技术的城镇居民社区再生资源回收系统的设计与实现。随着社会对环境保护意识的不断提高,再生资源回收成为了一种重要的环保行动。然而,传统的再生资源回收方式存在着信…

ELISA实验前,需要做好哪些准备?

进行ELISA试剂盒实验前,需要进行周密的准备工作以确保实验的顺利进行和实验的准确性。那么,具体应该做哪些准备呢?欣博盛生物为您总结了一些关键的准备工作步骤: 1. 阅读说明书 仔细阅读ELISA试剂盒的说明书,了解试剂…

Day03-Jenkins与集成案例

Day03-Jenkins与集成案例 6. CD持续交付,持续部署实现方案7. 案例04: basketball案例,搭建开发测试专用的任务7.1 任务要求7.2 步骤7.3 详细步骤1)安装插件2)创建任务 7.4 gitlab配置钩子1) 解除钩子局域网访问限制2) gitlab配置钩子 7.5 与部…

IDEA开发必备的插件,实测非常好用

1、Lombok -- 简化Java代码开发 推荐指数: ★★★★★ Lombok:首当其冲的非常推荐的当然是Lombok Lombok能以简单的注解形式来简化Java代码,提高开发人员的开发效率。例如开发中经常需要写的JavaBean,都需要花时间去添加相应的ge…

实战大数据:分布式大数据分析处理系统的开发与应用

💂 个人网站:【 摸鱼游戏】【网址导航】【神级代码资源网站】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…

linux服务器安全级别提升配置修改

linux服务器安全级别提升配置修改 说明修改登录密码策略步骤 设置用户密码定期更新登录失败次数锁定步骤 锁定系统重要文件文件说明锁定文件解锁文件 防火墙设置firewalld防火墙查看防火墙状态开启防火墙关闭防火墙重新加载防火墙配置添加端口移除端口添加IP到白名单移除白名单…

JAVA 实现拍卖框架及拍卖详情流程介绍(包含代码示咧)

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

Java项目:基于SSM框架实现的网上医院预约挂号系统【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的网上医院预约挂号系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…

9.计算机视觉—目标检测

目录 1.物体检测边缘框目标检测数据集总结边缘框代码实现2.锚框:目标检测的一种方法IoU—交并比赋予锚框标号使用非极大值抑制(NMS)输出总结代码实现1.物体检测 边缘框 一个边缘框可以通过四个数字定义 (左上x,左上y),(右下x,右下y)(左上x,左上y,宽,高)(中间x,中间y…

铜排载流量计算

母线载流量的理论计算 有些设计规范给出了根据电流密度确定母线大小的标准,一般铜母线的要求是每平方毫米载流量1.55A,但只可以作为设计“自由空气中的单导体母线”的参考,不可以作为实际设备中选择母线截面积的方法。也有些设计手册里给出了…

使用Ckman部署ClickHouse集群介绍

使用Ckman部署ClickHouse集群介绍 1. Ckman简介 ClickHouse Manager是一个为ClickHouse数据库量身定制的管理工具,它是由擎创科技数据库团队主导研发的一款用来管理和监控ClickHouse集群的可视化运维工具。目前该工具已在github上开源,开源地址为&…

WordPress主题大前端DUX v8.7源码下载

全新:用户注册流程,验证邮箱,设置密码 新增:列表显示小视频和横幅视频 新增:文章内容中的外链全部增加 nofollow 新增:客服功能中的链接添加 nofollow 优化:产品分类的价格显示