FS8x 功能安全

   fail-safe是电独立的和物理隔离的。fail-safe由自己的参考电压和电流提供,有自己的振荡器,有重复的模拟路径以最小化常见的故障,并有LBIST/ABIST来覆盖潜在故障。fail-safe根据设备部件号提供ASIL B或ASIL D遵从性。除非另有规定,fail-safe定时来自故障安全振荡器,其精度为+/-6%。
  fail-safe和专用引脚如图45所示:在这里插入图片描述

ASIL D/B 安全功能

在这里插入图片描述

Fail-safe 初始化

  在POR或从待机状态中唤醒后,当RSTB引脚被释放时,故障安全状态机进入INIT_FS阶段以进行初始化。为了确保在INIT_FS阶段的写入过程,除了在SPI/I2C传输期间的CRC计算外,还要求MCU对所有INIT_FS寄存器执行以下顺序:

  • 在FS_I_Register_A(DATA)中写入所需的数据;
  • 在FS_I_NOT_Register_A中写相反的内容(DATA_NOT);
      由FS85/FS84执行实时比较过程(XOR),以确保DATA FS_I_Register_A = DATA_NOT FS_I_NOT_Register_A。必须在DATA_NOT内容中反转实用程序位。保留的位不被考虑在内,可以写成“0”。如果比较结果正确,则REG_CORRUPT被设置为“0”。如果比较结果错误,则将REG_CORRUPT位设置为“1”。一旦第一次良好的监视器刷新使INIT_FS关闭,REG_CORRUPT监控就会被激活。
      INIT_FS必须在256 ms超时前通过第一次正确的看门狗喂狗来关闭。
      在INIT_FS关闭之后,可以使用FS_SAFE_IOS寄存器中的GoTo_INITFS位回到INIT_FS,从INIT_FS之后的任何FS_state中获得。建议在一个正确的看门狗喂狗后立即发送GoTo_INITFS命令。

看门狗

看门狗是the Simple 和 the Challenger看门狗的窗口看门狗。窗口的前半部分叫CLOSED,后半部分叫OPEN。在OPEN窗口期间,一个正确的看门狗刷新是一个正确的看门狗喂狗。在OPEN窗口期间,一个错误的看门狗刷新是一个错误的看门狗喂狗,或者 在CLOSED窗口给一个正确的看门狗刷新也是一个错误的看门狗喂狗,或者在OPEN窗口没有对看门狗进行率先你也是一个错误的看门狗喂狗。在一个正确或者错误的看门狗刷新后,单片机立即启动一个新的窗口周期,以保持与窗口看门狗的同步。
  第一次正确的看门狗刷新就关闭了INIT_FS。然后看门狗窗口正在运行,单片机必须在OPEN窗口时正确刷新看门狗。监视器窗口的持续时间可从1.0 ms配置到1024 ms。新的看门狗窗口在下一次看门狗刷新后生效。只能在INIT_FS期间禁用看门狗窗口。当INIT_FS关闭时,看门狗禁用功能将有效。
  监督配置需要写入FS_WD_WINDOW和FS_NOT_WD_WINDOW寄存器,如INIT寄存器。
在这里插入图片描述  使用WDW_DC [2:0]位,看门狗窗口的占空比可从31.25 %配置到68.75 %。新的占空比在下一次监督更新后生效。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/68cbb43d6b2a4ff2ba05658ec419f6b4.png

Challenger watchdog

  Challenger watchdog监控功能是由OTP_WD_SELECTION位启用的。Challenger watchdog监督机构是基于MCU的问答过程。通过在FS85中实现一个线性反馈移位寄存器(LFSR)来生成一个16位的伪随机字。MCU可以发送LFSR的种子,或使用FS85在INIT_FS阶段生成的LFSR,并执行预定义的计算。该结果在打开监视器窗口期间通过SPI/I2C发送,并通过FS85进行验证。当结果正确时,将重新启动看门狗窗口,并生成一个新的LFSR。当结果是错误的时,WD错误计数器会增加,看门狗窗口会重新启动,LFSR值不改变。
  在初始化阶段(INIT_FS)中,MCU发送LFSR的种子,或使用WD_SEED寄存器中提供的FS85生成的默认LFSR值(0x5AB2)。使用这个LFSR,单片机根据下面的公式执行一个简单的计算,并将结果发送到WD_ANSWER寄存器中。
  在Challenger watchdog配置中,不可能在WD_SEED寄存器中写入0x0000。当0x0000暂定写时,报告通信错误,配置被忽略。
在这里插入图片描述

Simple watchdog

&emsp’ Simple watchdog监视功能由OTP_WD_SELECTION位启用。这个简单的看门狗使用了一种独特的种子。单片机可以在WD_S

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目模块十七:HttpServer模块

一、项目模块设计思路 目的:实现HTTP服务器搭建 思想:设计请求路由表,记录请求方法与对应业务的处理函数映射关系。用户实现请求方法和处理函数添加到路由表,服务器只接受请求并调用用户的处理函数即可。 处理流程: …

内网域环境、工作组、局域网等探针方案

1. 信息收集 1.1 网络收集 了解当前服务器的计算机基本信息,为后续判断服务器角色,网络环境做准备 systeminfo 详细信息 net start 启动服务 tasklist 进程列表 schtasks 计划任务(受权限影响) 了解当前服务器的网络接口信息…

什么是量化交易

课程大纲 内容初级初识量化,理解量化 初识量化 传统量化和AI量化的区别 量化思想挖掘 量化思想的挖掘及积累技巧 量化代码基础: python、pandas、SQL基础语法 金融数据分析 常用金融分析方式 常用因子分析方式 数据分析实战练习 回测及交易引擎 交易引擎…

OpenHarmony-1.启动流程

OpenHarmony启动流程 1.kernel的启动 流程图如下所示:   OpenHarmony(简称OH)的标准系统的底层系统是linux,所以调用如下代码: linux-5.10/init/main.c: noinline void __ref rest_init(void) {struct task_struct *tsk;int pid;rcu_sch…

简单理解回调函数

回调函数是编程中一个非常重要的概念,它是一种以函数作为参数并在某个事件或条件满足时被调用的函数。这种机制使得程序能够以非线性的方式执行,增加了代码的灵活性和模块化。下面我将详细解释回调函数的几个关键点: 定义和作用 回调函数是一…

C++:线程(thread)的创建、调用及销毁

在 C 中,线程的管理主要依赖于标准库 std::thread,自 C11 起,这一功能被标准化,使得我们能够更加方便地创建、管理和销毁线程。这里我们详细讲解线程的创建、调用和销毁流程。 1. 线程的创建 创建线程通常是为了在单独的线程中执…

【LeetCode】【算法】64. 最小路径和

LeetCode 64. 最小路径和 题目描述 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 思路 思路:这种题太典了,典…

什么时候需要复写hashcode()和compartTo方法

在Java编程中,复写(重写)hashCode()和compareTo()方法的需求通常与对象的比较逻辑和哈希集合的使用紧密相关。但请注意,您提到的compartTo可能是一个拼写错误,正确的方法名是compareTo()。以下是关于何时需要复写这两个…

1.7 JS性能优化

从输入url到页面加载完成都做了些什么 输入 URL - 资源定位符 http://www.zhaowa.com - http 协议 追问&#xff1a;http 与 TCP 1. http - 应用层 < > TCP - 传输层 2. 关联 - http基于TCP实现连接 < > UDP > 握手 & 挥手 &#xff08;传输速率上较…

批量修改文本的神器“多光标”(Multi-cursor)

“多光标”是许多文本编辑器和IDE&#xff08;如Visual Studio Code、Sublime Text或PyCharm&#xff09;中的一个功能&#xff0c;允许你在文本的不同位置放置多个光标并同时编辑它们。这在处理重复性任务时非常有用&#xff0c;比如重命名变量、同时编辑多行文本或在多个位置…

Spring Task详细讲解

✨Spring Task简介 Spring Task 是 Spring 提供的轻量级定时任务工具&#xff0c;也就意味着不需要再添加第三方依赖了&#xff0c;相比其他第三方类库更加方便易用。可以按照约定的时间自动执行某个代码逻辑。 使用场景&#xff1a; 信用卡每月还款提醒银行贷款每月还款提醒…

FreeRTOS源码(二) 任务调度

FreeRTOS源码(二) 任务调度 任务创建 1、任务结构体 typedef struct tskTaskControlBlock {volatile StackType_t *pxTopOfStack; /* Points to the location of the last item placed on the tasks stack. */ListItem_t xStateListItem; /* The list that holds…

Qt/C++ 海康SDK开发示例Demo

*** 工业相机在机器视觉中起到关键作用&#xff0c;本文基于海康 SDK 详细解读了设备连接与控制的各个步骤。内容涵盖设备枚举、句柄创建、图像采集回调以及设备异常处理&#xff0c;帮助开发者快速理解如何通过代码控制相机&#xff0c;实时采集并处理图像数据。*** 1. 搜索并…

ubuntu ros 解决建完图后 保存的地图非常小的问题

解决建完图后 保存的地图非常小的问题 在ROS中使用Gmapping等SLAM算法建图后&#xff0c;如果保存的地图非常小&#xff0c;通常是由于建图过程中的分辨率设置不当或地图边界没有覆盖到整个环境导致的。以下是详细的解决方案和具体步骤&#xff1a; 解决方案概述 调整地图分…

HDLBIts习题(5):移位寄存器

&#xff08;1&#xff09;易错习题1&#xff1a;109题&#xff08;shift18&#xff09; 对算数左移和算数右移概念不清&#xff0c;不知道该如何计算。 逻辑左移和算术左移之间没有区别。&#xff08;无论是有符号位数据还是无符号位数据&#xff0c;右侧补0&#xff09; 逻辑…

想要成为独立游戏作者 :通关!游戏设计之道 2-2 关卡设计

本文通过ai辅助总结加个人微调,不喜勿喷 前篇如下&#xff1a; 想要成为独立游戏作者 &#xff1a;通关&#xff01;游戏设计之道 2-1 HUD-CSDN博客 1.关卡的多重定义 在电子游戏行业里 “关卡” 有多种含义&#xff0c;如游戏行为发生的环境、分割的游戏体验单元、量…

【深圳大学】数据结构A+攻略(计软版)

1. 考试 1.1 形式 分为平时&#xff0c;笔试&#xff0c;机试三部分。其中&#xff1a; 平时占30%&#xff0c;包含平时OJ测验和课堂练习&#xff0c;注意这个可能会因老师的不同和课题组的新策略而改变。笔试占60%&#xff0c;是分值占比的主要部分。机试占10%。 1.2 题型…

Springboot 启动端口占用如何解决

Springboot 启动端口占用如何解决 1、报错信息如下 *************************** APPLICATION FAILED TO START ***************************Description:Web server failed to start. Port 9010 was already in use.Action:Identify and stop the process thats listening o…

名词解释-2-形状算数实验、潜在空间、3D生成模型

形状算术实验&#xff08;Shape Arithmetic&#xff09;是一种在3D生成模型中进行的实验&#xff0c;旨在通过在潜在空间中对形状的潜在向量进行算术操作来实现形状的变换。具体来说&#xff0c;该实验通过选择两个不同的3D形状实例&#xff0c;将其输入到编码器中生成两个潜在…

C++继承和参数化类型(模板)各自的优点

在C中&#xff0c;继承和参数化类型&#xff08;模板&#xff09;都是强大的代码重用机制&#xff0c;它们各自具有独特的优点。以下是对这两种机制优点的比较和归纳&#xff1a; C继承的优点 代码重用&#xff1a;继承允许子类继承父类的属性和方法&#xff0c;从而避免了重…