TC3xx SMU、PMIC和Tranceiver的功能安全闭环

目录

1.TLF35584安全状态输出响应对象

1.1 响应ERR 收集到的错误信号

1.2 响应监控功能引发的ROT

1.3 响应看门狗引发的错误

1.4 环境过温引发的错误状态

1.5 为什么设计SSx?

2. 安全状态输出给谁 

3.小结


在之前文章里,我们简述了TC3xx SMU如何与PMIC TLF35584协同工作,并且主要从datasheet推荐的应用连接分析了功能安全方面的实现机制,如下图:

但是仍然遗漏了一个关键点,从ECU级别来看,35584的SS1\2到底可以输出给谁? 

1.TLF35584安全状态输出响应对象

那么首先,我们来看SS1\2可以输出哪些状态?根据DataSheet,SS1\2根据不同错误状态会产生输出波形,具体如下:

1.1 响应ERR 收集到的错误信号

该错误信号,一般由TC3xx SMU模块的error pin根据FSP协议输出,35584通过ERR pin这个引脚收集。

当检测到波形异常后,35584会立即设置SS1\2两个引脚产生错误信号,如下图:

可以看到,此时SS1\2对外输出的是低电平,并且两者是有时间间隔的。

当然,由于SMU的FSP协议支持多种波形输出,35584为此也做了适配。

1.2 响应监控功能引发的ROT

 当35584发现某些受监控电压异常时,有可能会向MCU发起复位信号,同时SS1\2也会根据复位类型(软复位和硬复位)将电平下拉,如下图:

软复位 

硬复位 

1.3 响应看门狗引发的错误

当没有及时喂狗的情况下,会引发SS1\2变为低电平,如下图:

1.4 环境过温引发的错误状态

当环境温度过高时,同样也会触发SS1\2的低电平产生.

1.5 为什么设计SSx?

一方面,我们可以看到有这么多种不同种类的错误状态都会导致SS1、SS2变成低电平,那么我们可以用到什么场合呢?

从另一方面来想,TC3xx既然是ASIL D的芯片,那么为啥不用芯片本身来做安全状态管理呢? 

这就不得不考虑这个系统安全状态是什么概念?

从应用角度来看,在汽车上所谓进入安全状态,常见的有整车进跛行,电压异常IVI关闭屏幕并停发车内报文等。通常情况,上述安全状态一般是有某主控MCU来进行控制,但是如果MCU里面出现了随机硬件失效,那是不是就需要另一个独立的路径来让整车或者MCU进入到安全状态?

所以我理解,在功能安全设计方面,35584是作为MCU之外的独立功能安全控制路径补充。

即:当主路径失效后,第二安全路径仍然能够使得系统进入到安全状态。

如下图:

2. 安全状态输出给谁 

上一章节我们讲到,在汽车领域常见的安全状态有:某些执行器的关闭,MCU的通信通道关闭、甚至某些系统的全部关闭。这些安全状态的进入路径至少应该有两条相互独立的路径进入。

为了方便描述,我们以最简单的关闭CAN通信为例。

要关闭通信,其实从MCU角度来看,只要直接关闭Transceiver即可。

以TLE9252V为例,其引脚定义如下:

 通过EN和NSTB可以使其进入standby或者监听模式,

 很明显,如果想要两条独立路径控制,最好就是MCU(TC3xx)和PMIC(35584)单独控制一个transceiver引脚的输入。

例如,MCU控制NSTB,PMIC控制EN脚,MCU和PMIC之间通过ErrorPin连接,如果MCU内部出现错误,PMIC可以直接将SS1\2设置为低电平,从而使收发器进入到监听或者stand-by模式。

当然,如果出现了共因失效,例如TLF35584的QCO过大,有可能会烧毁TLE9252V,这时候就要考虑到给TLE9252V断电,同时也就关闭了transceiver。

3.小结

通过上面简单的例子,我们完成了MCU、PMIC、Transceiver之间的功能安全逻辑闭环,也进一步勾起了我对功能安全的兴趣。

接下来,我会继续从功能安全的项目是如何定义、安全目标的设置来源、应用的功能安全概念:例如如何定义安全状态、监控通道独立性等等方面继续梳理自己的思路,充实弹药库。

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

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

相关文章

js 面试题--事件循环event loop--宏任务和微任务

1 事件循环event loop概念: js 是非阻塞单线程语言,js在执行过程中会产生执行环境,执行环境会按顺序添加到执行栈中,先执行同步栈中的任务,当遇到异步任务时会添加到task队列中,同步栈执行完后&#xff0c…

Python学习系列 -初探标准库之logging库

系列文章目录 第一章 初始 Python 第二章 认识 Python 变量、类型、运算符 第三章 认识 条件分支、循环结构 第四章 认识 Python的五种数据结构 第五章 认识 Python 函数、模块 第六章 认识面向对象三大特性 第七章 初探标准库之os库 第八章 初探标准库之pathlib库 第九章 初探…

【数据结构(C语言)】排序详解

目录 文章目录 前言 一、排序的概念 1.1 排序的概念 1.2 常见的排序算法 二、插入排序 2.1 直接插入排序 2.1.1 基本思想 2.1.2 特性总结 2.1.3 代码实现 2.2 希尔排序 2.2.1 基本思想 2.2.2 特性总结 2.2.3 代码实现 三、选择排序 3.1 直接选择排序 3.1.1…

【数据结构和算法初阶(C语言)】空间复杂度(例题剖析一起探究空间如何评价算法)

目录 1.衔接前言-时间复杂度的回顾 2.关于算法复杂度 3.本文主角-空间复杂度 3.1大O的渐进表示方法 4.空间复杂度例题----实际感受空间复杂度 4.1冒泡排序的空间复杂度 4.2计算递归函数的空间复杂度 4.3动态开辟内存版本求斐波那契数列的空间复杂度 4.4(…

蓝桥杯_定时器的基本原理与应用

一 什么是定时器 定时器/计数器是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向cpu提出中断处理请求,从而实现,定时或者计数功能的外设。 二 51单片机的定时/计数器 单片机外部晶振12MHZ,…

如何实现双向循环链表

博主主页:17_Kevin-CSDN博客 收录专栏:《数据结构》 引言 双向带头循环链表是一种常见的数据结构,它具有双向遍历的特性,并且在表头和表尾之间形成一个循环。本文将深入探讨双向带头循环链表的结构、操作和应用场景,帮…

el-table通过这样封装可以实现校验-表格校验的原理

我们一般在后台系统中&#xff0c;很常见的操作时表格里面嵌套表单&#xff0c;之前我的网上找到了一些封装的用法&#xff1a; <el-form :model"formData" :rules"ruleData" ref"formDom"><el-table :data"formData.tableData&q…

Vue.js入门指南:简介、环境配置与Yarn创建项目

一、Vue.js简介 Vue.js&#xff0c;一个流行的JavaScript框架&#xff0c;以其直观、灵活和高效的特点&#xff0c;在前端开发者中赢得了广泛的赞誉。Vue.js的核心库专注于视图层&#xff0c;使得开发者能够构建出响应式的数据绑定和组合的视图组件。Vue.js的目标是通过尽可能简…

CPU、GPU 混合推理,非常见大模型量化方案:“二三五六” 位量化,模型量化详细实现方案

CPU、GPU 混合推理&#xff0c;非常见大模型量化方案&#xff1a;“二三五六” 位量化&#xff0c;模型量化详细实现方案。 非常见整型位数的量化&#xff0c;来自让各种开源模型能够在 CPU 环境、CPU & GPU 环境混合推理的技术方案&#xff1a;llama.cpp 。为了能够在低配…

iOS群控软件功能分析与代码分享!

随着移动互联网的迅猛发展&#xff0c;iOS设备作为市场上一大主流平台&#xff0c;其应用开发和管理越来越受到开发者和企业的重视&#xff0c;iOS群控软件&#xff0c;作为一种能够批量控制、管理和监控iOS设备的工具&#xff0c;逐渐展现出其强大的实用价值。 本文将详细分析…

React回顾

一、基础 1、使用babel解析 2、不直接使用jsx&#xff0c;jsx写起来很繁琐 3、jsx语法规则 4、函数式组件的使用 5、函数式组件渲染 6、类组件渲染 7、类组件中事件调用this指向问题 8、类组件不能直接改变状态 9、props接收数据类型限制 类型限制放到类组件内部&#xff0c;用…

StarRocks实战——滴滴OLAP的技术实践与发展方向

原文大佬的这篇StarRocks实践文章整体写的很深入&#xff0c;介绍了StarRocks数仓架构设计、物化视图加速实时看板、全局字典精确去重等内容&#xff0c;这里直接摘抄下来用作学习和知识沉淀。 目录 一、背景介绍 1.1 滴滴OLAP的发展历程 1.2 OLAP引擎存在的痛点 1.2.1 运维…

IOC 和 AOP

IOC 所谓的IOC&#xff08;inversion of control&#xff09;&#xff0c;就是控制反转的意思。何为控制反转&#xff1f; 在传统的程序设计中&#xff0c;应用程序代码通常控制着对象的创建和管理。例如&#xff0c;一个对象需要依赖其他对象&#xff0c;那么它会直接new出来…

express+mysql+vue,从零搭建一个商城管理系统6--数据校验和登录

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、修改models/user.js二、修改routes下的user.js三、Api新建user/login接口四、删除数据库原有数据&#xff0c;添加新验证规则的用户四、用户登录总结 前言 需求&#xff1a;主要学习express&#xff0c;…

【Linux】基础篇-Linux四种环境搭建的方式(详细安装说明步骤,搭载下载安装地址)

目录 1. 使用虚拟机&#xff08;推荐VMware&#xff09;centos 7版本 1.1VMware虚拟机下载 1.2VMware 安装 1.3centos-7 清华大学镜像下载 1.4 centos-7 清华大学镜像导入虚拟机VMware 2.使用虚拟机ubuntu 20.04版本 2.1虚拟机下载同上 2.2虚拟机安装同上 2.3ubunt…

ROS-Ubuntu 版本相关

ROS-Ubuntu 版本相关&#xff1a;安装指引 年代ROS1版本Ubuntu 版本2014Indigo14.042016Kinetic16.042018Melodic18.042020Noetic20.04 & 22.04 ROS2兼顾了工业使用上的问题。 年代ROS2版本Ubuntu 版本2022Humble20.04 & 22.042023Iron16.04 相关参考&#xff1a; […

【Qt 学习之路】使用 cmake 在Windows上 编译 ZeroMQ

文章目录 1、概述2、编译2.1、用 Visual Studio 的解决方案方式2.1.1、找到 Builds 文件夹2.1.2、查看 deprecated-msvc 下的 libzmq.sln 文件2.1.3、使用 Visual Studio 打开 libzmq.sln 解决方案2.1.4、修改 libzmq.import.props 文件2.1.5、编译生成 2.2、用 C 的cmake方式2…

【前端入门】设计模式+单多页+React

设计模式是一种解决特定问题的经验总结&#xff0c;它提供了经过验证的解决方案&#xff0c;可以在软件开发过程中使用。设计模式可以帮助前端开发人员更有效地组织和管理代码&#xff0c;并提供一种共享的语言和框架&#xff0c;以便与其他开发人员进行交流。 以下是一些常见…

十二、Qt自定义Widget组件、静态库与动态库

一、自定义Widget组件 1、自定义Widget组件 使用步骤采用提升法&#xff08;promotion&#xff09;重新定义paintEvent事件 2、实现程序 &#xff08;1&#xff09;创建项目&#xff0c;基于QWidget &#xff08;2&#xff09;添加类&#xff0c;为Widget组件提升类 #inclu…

Delegate(P29 5.5delegate)

一、Delegate简介 每个代理都可以访问许多附加的属性&#xff0c;其中一些来自数据模型&#xff0c;另一些来自视图。 从模型中&#xff08;Model&#xff09;&#xff1a;属性将每个项目的数据传递给 delegate。 从视图中&#xff08;View&#xff09;&#xff1a;属性将状…
最新文章