英飞凌TC3xx SMU再述

目录

1. Safety和Security

2.SMU概述

2.1 为什么设计SMU

2.2 SMU整体框架

2.3 SMU Alarm配置

2.4 SMU状态机

3.小结


1. Safety和Security

SMU是英飞凌TC3xx系列功能安全架构里最重要的组成部分,用于管理MCU故障状态下的行为。

但在聊SMU之前,我们有必要搞清楚Safety和Security分别指的什么?

虽然从字面看二者都有“安全”之意,但是它们关注的范畴和方向不是一样。

  • Safety:功能安全,参考标准ISO26262、ISO21448;目的是尽量减少因系统设计问题导致的功能失效,同时也尽量保证功能按照预期功能实现,从而保证人财的安全;

  • Security:信息安全,参考标准ISO21434、SAE J3061;目的是保护车辆和车内设备免受恶意攻击和未经授权的访问,如防止车辆被盗、防止车载系统被黑客入侵、确保车辆数据的机密性和完整性等;

  • 虽然Safety和Security有各自的重点和侧重点,但它们的共同目标都是保护车辆、乘员和其他道路使用者的安全;同时二者关系也非常紧密,例如车辆的信息系统受到黑客攻击或恶意软件感染,可能会导致车辆失去控制、系统故障或其他安全问题,从而危及车辆和乘员的安全。

而针对Security和Safety,TC3xx分别设计了HSM子系统和FUSA架构(包含SMU)来满足需求,如下图:

 所以,今天我们就先聊聊SMU。

2.SMU概述

2.1 为什么设计SMU

MCU一般由内核子系统、系统管理子系统、外设子系统、电源子系统等等组成;

在设计时每个子系统不可能保证完全没有bug,也不能保证芯片在运行过程中不会出现随机硬件失效(例如ECC,位反转等);

针对系统失效:可以通过持续和严格的过程改进来尽量避免:

针对随机硬件失效:可以通过工艺设计预防、引入功能安全机制来探测和缓解;

如下:

在TC3xx里,每个功能安全机制都会产生一个名叫“SMU alarm”的信号;

试想,这么多的alarm如何管理?常规思路肯定是放到一个模块中来进行处理,为此SMU(Safety Management Unit)诞生了。

2.2 SMU整体框架

在TC3xx中,SMU的框架路径如下图:

当功能安全机制探测到失效后,会产生SMU alarm事件(可以是脉冲也可以是电平)给到SMU,SMU根据用于预定义配置触发相应行为,具体如下:

  • alarm在MCU内部行为:
    • 向CPUs发起中断请求
    • 产生NMI
    • 向CPUs发起CPU复位请求
    • 向SCU发起系统\应用复位请求
  • 向外部通知错误状态行为:
    • 通过ErrorPin(P 33.8和P21.2,一般用P33.8连接35584)

 当然一个alarm可以同时选择使用内部和外部行为。 

进一步,SMU内部又分为了SMU_Core和SMU_Standby,如下图:

特点如下:

  • SMU_core/stdby处于不同的时钟域和电源域
  • SMU_core 处理绝大部分alarms 与SCU\RCU\IR\CPUx交互
  • SMU_stdby 处理clock、power、温度等alarm
    • 处理SMU_core_alive alarm
    • 提供SMU self-test功能 

2.3 SMU Alarm配置

在TC3xx里Alarm以Group形式进行分组,在39x的手册里可以看到多达14组Alarm Group,每个alarm都有对应的功能安全机制,如下:

那么我们应该如何来配置alarm?敲重点了,根据内部行为和外部行为分别配置不同的寄存器,如下图:

以配置ALM1[0](第1组第0个功能安全机制)为例:

每个Alarm group有三个配置寄存器,AGi(0-11)CFj(0-2), 每个配置寄存器CF0-31表示对应机制,功能安全机制0-31;

如AG1CF0.CF0,对应group ALM[1] Configuration0中的CF0 以此类推 ;

而相应alarm的behavior由这三个寄存器相应位共同决定:

而内部行为的配置码如下:

 如果现在我们想把行为配置为SMU_RESET,那么对应AGCF寄存器就应该配置如下:

AGCF[1][0].CF0 =0
AGCF[1][1].CF0 =1
AGCF[1][2].CF0 =1

如果还想通过FSP向外报告MCU内存错误状态,就需要配置AGiFSP:AGFSP[1].FE0 = 1,如下图:

2.4 SMU状态机

SMU不是随时都会产生相应行为的,只有它进入RUN状态,才会处理alarm并触发相应行为;根据芯片手册,自身定义的状态机如下 

3.小结

本文主要描述了SMU的设计初衷,以及配置方法,但没有讲FSP的使用方法,因为在其官方推荐中它是要与TLF35584搭配使用,之前有相关文章进行描述,大家有兴趣可以回溯一下。

 

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

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

相关文章

数据结构笔记

重点 一、数据结构的定义 逻辑结构 集合结构:除了同属于一个集合之外,没有其他关系 线状结构:数据元素之间是一对一的关系 树形结构:数据元素之间是一对多的层次关系 图形结构:数据元素之间是多对多的关系 存储…

VRTK_强制瞬移/传送

VRTK_强制瞬移/传送 前言配置代码 前言 在使用VRTK制作虚拟仿真项目的时候,会遇到强制头盔至目标点的功能 VRTK内有封装好的移动方法。 VRTK_BasicTeleport脚本内的方法ForceTeleport() 配置 需要配置的传送组件 代码 本文代码是直接可以其他脚本调用&#x…

Python中基于 __del__ 方法销毁对象

函数中的__del__() 方法: 销毁对象 Python 通过调用__init__()方法构造当前类的实例化对象,而__del__() 方法,是用来销毁实例化对象。 事实上在编写程序时,如果之前我们创建的类实例化对象后续程序不再使用,最好在合适位置手动将…

springboot在使用 Servlet API中提供的javax.servlet.Filter 过滤器 对请求参数 和 响应参数 进行获取并记录日志方案

不多说 直接上代码 第一步 package com.xxx.init.webFilter;import com.alibaba.fastjson.JSONObject; import com.xxx.api.constant.CommonConstant; import com.xxx.api.entities.log.OperationLog; import com.xxx.init.utils.JwtHelper; import com.xxx.init.utils.Reques…

c++和java中常用语法对照

1.vector c #include<vector> std::vector<>a;//创建 a[i]//访问,获取 a[i]v;//修改 a.push_back(v)//添加元素 a.erase(a.beginw-1)//删除第w个元素 std::sort(a.begin,a.end); std::reverse(a.begin(),a.end());java import java.util.Vector; Vector<Inte…

antd+Vue 3实现table行内upload文件图片上传【超详细图解】

目录 一、背景 二、效果图 三、代码 一、背景 一名被组长逼着干前端的苦逼后端&#xff0c;在一个晴天霹雳的日子&#xff0c;被要求前端订单产品实现上传产品图片并立刻回显图片。 二、效果图 三、代码 <template><a-table :dataSource"dataSource" :c…

如何使用固定公网地址SSH远程访问本地内网openEuler系统

文章目录 1. 本地SSH连接测试2. openEuler安装Cpolar3. 配置 SSH公网地址4. 公网远程SSH连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 欧拉操作系统(openEuler, 简称“欧拉”)是面向数字基础设施的操作系统,支持服务器、云计算、边缘openEuler是面向数字基础设施的操作系…

javaScript Object.hasOwn()的用法

Object.hasOwn() 如果指定的对象自身有指定的属性&#xff0c;则静态方法 Object.hasOwn() 返回 true。如果属性是继承的或者不存在&#xff0c;该方法返回 false。 备注&#xff1a; Object.hasOwn() 旨在取代 Object.prototype.hasOwnProperty()。 **语法&#xff1a;**Objec…

洛谷 P1434滑雪

[SHOI2002] 滑雪 题目描述 Michael 喜欢滑雪。这并不奇怪&#xff0c;因为滑雪的确很刺激。可是为了获得速度&#xff0c;滑的区域必须向下倾斜&#xff0c;而且当你滑到坡底&#xff0c;你不得不再次走上坡或者等待升降机来载你。Michael 想知道在一个区域中最长的滑坡。区域…

【图论】Dijkstra单源最短路径-朴素方法-简单模板(迪杰斯特拉算法)

Dijkstra单源最短路径 问题描述 输入n 表示n个结点&#xff0c;m表示m条边&#xff0c;求编号1的结点到每个点的最短路径 输出从第一个点到第n个点的最短路径 思路 将图g[][]中所有的权值初始化为0x3f表示正无穷 将dist[]中所有的值初始化为0x3f表示从第一个点到所有点的距离…

NX/UG二次开发—CAM—一些外挂刀路选择方案对比

在做一刀轨编辑工具时&#xff0c;大家希望实现类似NX刀轨编辑中选择刀路的功能&#xff0c;以下我罗列了几种目前外挂里使用的几种方式&#xff0c;自己也做了一些对比&#xff1a; 涉及一些运算时间&#xff0c;参考电脑配置(内存32G&#xff0c;CPUi9-12950HX) 1、刀路转成…

PCB封装库的创建及引入

法1 1.创建lib 2.放置 找到你想要画的封装的器件的数据手册了解相关信息。 直插式选Multi-layer 贴片选Top-layer 焊盘尺寸 焊盘空尺寸 法2 嘉立创eda直接copy 再嘉立创中找到你想要的pcb&#xff0c;导出为ad 然后再ad中找到我们导出的文件 复制他 然后再库中粘贴 pcb库…

sky光遇加速器推荐 steam光遇低延迟稳定的加速器推荐

在光遇游戏中&#xff0c;子民指的就是游戏中的人影&#xff0c;玩家在游戏里面需要找到蓝色人影并触碰它&#xff0c;然后跟随光点&#xff0c;这样的话我们就可以看到一个深灰色的石像&#xff0c;点燃石像上的火苗&#xff0c;它就会教我们一个新的互动姿势。玩家找到黄色人…

Python中Python-docx 包的run介绍

先对run做一个简单地介绍。每个paragraph对象都包含一个run对象的列表。举例&#xff1a; 这是一个简短的段落。 from docx import Document doc Document("1.docx") #上面这段话保存在1.docx中 print("这一段的run个数是&#xff1a;",len(doc.paragr…

C语言—每日选择题—Day70(需要看)

第一题&#xff08;注&#xff09; 1、关于内存管理&#xff0c;以下有误的是&#xff08; &#xff09; A: malloc在分配内存空间大小的时候是以字节为单位 B: 如果原有空间地址后面还有足够的空闲空间用来分配&#xff0c;则在原有空间后直接增加新的空间&#xff0c;使得增加…

《一》Qt的概述

1.1 什么是Qt Qt是一个跨平台的C图形用户界面应用程序框架。它为应用程序开发者提供建立图形界面所需的所有功能。它是完全面向对象的&#xff0c;很容易扩展&#xff0c;并且允许真正的组件编程。 1.2 Qt的发展史 1991年 Qt最早由芬兰奇趣科技开发 1996年 进入商业领域&#x…

未来课堂革命:OpenAI 发布 ChatGPT 使用指南,探索生成式 AI 如何重塑教育景观

随着新学期的来临&#xff0c;众多初登教师舞台的 00 后们&#xff0c;也完成了他们的第一个教师身份下的暑期生活。 对于开学的抵触情绪&#xff0c;不仅学生们普遍存在&#xff0c;许多 00 后的新晋教师们也同样感同身受。某种程度上&#xff0c;这些抗拒上班的年轻教师群体…

Go-学会 Go 中 interface 的基本使用

本节重点&#xff1a; 学会 Go 中 interface 的基本使用 在 Go 中&#xff0c;接口类型是一种抽象类型&#xff0c;是方法的集合&#xff0c;其他类型实现了这些方法就是实现了这个接口。 声明和实现接口 在 Go 中接口的声明如下&#xff1a; /* 定义接口 */ type interface…

Mac上的最佳3D建模工具-犀牛Rhinoceros 8 for Mac v8.6.24101.05002完美兼容激活

Rhino 8是一款计算机辅助设计&#xff08;CAD&#xff09;和三维建模软件&#xff0c;由美国公司McNeel & Associates开发。它是Rhino系列的最新版本&#xff0c;用于创建、编辑、分析、渲染和动画三维模型。 以下是Rhino 8的一些主要特点和功能&#xff1a; 1. **强大的…

Spring Boot与Vue联手打造智能化学生选课平台

末尾获取源码作者介绍&#xff1a;大厂全栈码农|毕设实战开发&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与…