英飞凌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…

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…

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是面向数字基础设施的操作系…

【图论】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…

《一》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;这些抗拒上班的年轻教师群体…

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;不能慢一步。 目录 一、项目简介 二、开发技术与…

Scaffold-GS 代码阅读笔记

1. 系统启动部分 使用 python 中的 parser 库 为配置系统的参数设定, 和3DGS 类似&#xff0c;并且使用safe_state(args.quiet) 函数 为每一次的 log 输出加上对应的 时间戳 ## 配置参数的设定lp ModelParams(parser)op OptimizationParams(parser)pp PipelineParams(pars…

分布式向量数据库-安装部署

下载 GitHub - pgvector/pgvector: Open-source vector similarity search for Postgres 源码编译 ##文件解压缩 unzip pgvector-0.6.2.zip ##编译 make && make install 功能验证 #安装扩展CREATE EXTENSION vector;#创建测试表CREATE TABLE items (id bigseri…

【算法】哈希表

个人主页 &#xff1a; zxctscl 如有转载请先通知 题目 1. 1. 两数之和1.1 分析1.2 代码 2. 面试题 01.02. 判定是否互为字符重排2.1 分析2.2 代码 3. 217. 存在重复元素3.1 分析3.2 代码 4. 219. 存在重复元素 II4.1 分析4.2 代码 5. 49. 字母异位词分组5.1 分析5.2 代码 1. 1…

Gateway的简单介绍和使用

1、Gateway简介&#xff1a; Gateway 是一种 API 网关&#xff08;API Gateway&#xff09;技术&#xff0c;它作为微服务架构中的关键组件&#xff0c;负责为系统的外部请求与内部服务之间提供统一的接入点。Spring Cloud Gateway 是基于 Spring 生态系统实现的一个高性能、易…

2024.4.11

1.思维导图 2.指针形式验证大小端存储 #include<myhead.h>int main(int argc, const char *argv[]) {int num 0x12345678;char* ptr (char *)&num;if(*ptr 0x12){printf("big endian\n");}else if(*ptr 0x78){printf("little endian\n");}r…

MINI2440 开发板 给他干出来了

环境是ubuntu14.04。不要问我为什么是这个版本&#xff0c;因为之前的ubuntu12.04 环境干不出来&#xff0c;你去试试就知道了&#xff01;各种资源包下载不下来。 输入启动参数&#xff1a; 进入MINI2440&#xff1a;别说心里一万个开心&#xff0c;启动完成&#xff0c;输入p…