汽车功能安全--AutoSAR中的功能安全机制

news2024/11/15 9:01:00

目录

1. Memory Partitioning

2. Timing\Excute Monitor

3. E2E

4.小结


大家好,这里是高温下认真码字的肌肉;许久没有聊中间件的问题,正巧可能要启动SafetyPack的开发,因此今天回顾回顾在AUTOSAR文档中关于Safety的一些机制。


在实际开发中,我们经常遇到不同功能安全等级的软件模块集成到一个ECU中,例如座舱域中MCU电源管理模块和IPC通信模块的ASIL等级在产品定义就不同,如何保证低ASIL等级的软件模块不对高ASIL等级软件模块的造成影响?

ISO26262 -6 附录D给出了思考角度,而AUTOSAR文档进一总结下来可以概括为四个大方向:

  • 内存:在软件开发部署过程中,AUTOSAR OS提出内存分区机制(Memory Partitioning Mechanisms)用于隔离不同软件程序;
  • 定时:使用WdgM的程序流监控、使用OS的时间保护机制;
  • 程序执行:使用WdgM的逻辑监控机制;
  • 信息交互:使用E2E等监测通信是否失效;

从方向上虽然是四个方面,但从实际产品看,内存保护、时序可以由OS、WdgM来保证,信息交互可以由E2E来保证。

1. Memory Partitioning

在ISO26262中提到,软件组件交互造成的与memory失效因素,主要有以下几个方面:

  • memory内容被破坏;
  • 各软件组件对外的读写访问权限;
  • 栈溢出;
  • ... 

因此,内存分区就是通过限制memory或者外设寄存器的访问权限来实现保护内存,避免出现上述问题;

我们知道,分区这个概念最早是在OS、RTE相关文档中进行描述,其中比较难以理解的就是OS提到的OS-Appliaction的概念,原文如下:

AUTOSAR OS-Applications are collections of Operating System objects such as Tasks, ISRs, Schedule Tables, Counters and Alarms that form a cohesive functional unit. All objects which belong to the same OS-Application have access to each other.

The Operating System objects within an OS-Application may belong to different AUTOSAR Software Components. The RTE implements a memory area which is accessible by all members of the OS-Application without restrictions to facilitate communication between the SW-Cs efficiently.

个人理解OS-Application像是大杂烩,包含了系统稳定运行的各种元素,同时是OS用于实现分区的一个抽象,包含如下成员:

因此我们就不难理解在代码里看到过的两种类型OS-Appliaction。

  • Trusted OS-Appllcation:权限比较高的一类,一般对memory、OS API的调用访问没有限制
  • Non-Trusted OS-Application:有限制访问权限,并且在运行时必须打开监控或者保护功能;

在OS配置时,我们通常会考虑将一些关键的Task、SWC分配到Trust OS-App,如下:

而Trust与Non-Trusted 之间的通信,一般只能通过RTE进行,如下图:

有了上述概念之后,我们来继续探讨内存分区。

实际上,提供内存保护大家可能都会想到MPU或者MMU;AUTOSAR也不能免俗,在具体实现上,可以通过MPU设置memory的不同访问属性(读写执行)来保证memory分区,如下图:

那这个MPU是属于哪个AUTOSAR模块? 毫无疑问,就是系统运行的基石--OS,配置示例如下:

不仅如下,OS的监控机制还包括栈监控、时间保护、服务保护等等,如下:

总结下来,内存分区关键点在于隔离,MPU可以进行实现,除此之外,MPU还可以保证栈的隔离。

2. Timing\Excute Monitor

时间是嵌入式实时系统的一个重要特性。一般要求系统的动作和反应在正确的时间内执行。

常见的失效模式有:死锁、任务执行时间分配错误、任务执行被阻塞。

在AutoSAR定义了OS、WdgM等模块用于实现时间监控机制。

OS提供了Timing Protection机制,主要包括如下三种:

  • Execution Time Protection:通过监控任务或者2类中断的Execution Budget,来防止时间错误;
  • Locking Time Protection:通过监控中断挂起、资源阻塞等的Lock Budget防止时间错误;
  • Inter-Arrival Time Protection:通过监控任务、2类中断的激活间隔时间下限,来防止时间错误

 WdgMd监控功能之前已经聊过了,包含:

  • Alive Monitoring:对周期性任务(软件)的时间进行监控;
  • Dealine Monitoring:对非周期性任务的时间进行监控;
  • Logical Monitoring:对程序执行顺序的正确性进行监控;

因此,关于时间保护,我们使用Alive和Dealine,关于程序流我们可以使用Logic监控。 

3. E2E

之前聊SecOC时简单提过E2E,主要面向Safety,保证了数据的完整性和时效性,它不仅可以用在板端通信,还可以用在不同SWC之间的通信。

通信常见的失效模式包括:通信丢失、通信数据损坏、通信数据重放、延迟等等;

因此E2E(End to End)从分别从如下几个方面进行保护:

  • 使用CRC对数据、数据ID、counter进行计算,可以探测到信号\数据的完整性;
  • 使用Counter计数来探测消息、数据的重放;
  • 接收端通过计时来探测消息的丢失、延迟等

回过头来,如果E2E仅用在板端通信,那么SecOC可以涵盖全大部分数据校验过程,包括完整性、身份识别、重放攻击等;因此在实际使用中,我们通常把会将Safety相关信号融合进CanFD,然后将该报文设置为SecOC属性,先校验SecOC,最后拆出信号校验E2E,既保证了Security(红框),又保证了Safety(蓝框),如下图:

4.小结

虽然AutoSAR对这些做了定义,但不管MICROSAR还是RTA-BSW,或多或少都有自己的独特实现。

所谓标准统一、实现竞争,最终到现在形成了用惯了一家产品,再去适应别家产品就有点困难的局面。

简单单叹口气,周末愉快!

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

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

相关文章

线性代数 第一讲 行列式_行列式定义_性质_计算_题型总结

线性代数 第一讲 行列式 文章目录 线性代数 第一讲 行列式1. 行列式的定义1.1 本质定义(几何定义)1.2 行列式的逆序数表示法(第二种定义)1.3 行列式的展开定理(第三种定义) 2.行列式的性质2.1 矩阵行列式的性质2.2 方阵行列式的性质 3.行列式的计算3.1 具体型行列式…

4056充电芯片,为什么要集成OVP,OVP是什么?

4056充电芯片呢,作为很常用的USB输入5V,给单节锂电池充电,还有2个LED指示灯。很少简单和方便的。PW4056HH也是有很多工厂和电子爱好者喜欢。 4056充电芯片,为什么要集成OVP呢和OVP是什么? 答:在18年快充没…

全网刷屏背后,《黑神话:悟空》的营销路径拆解

这几天不论打开什么网页,你都会被一只实力派的黑猴子刷屏。背负着国内首款3A游戏的寄托,这只猴子《黑神话:悟空》不负众望——上线即爆,并持续刷新着国产游戏的各项新纪录。 社交圈只剩下3种人,玩黑神话和不玩黑神话的…

【RAG】浅谈NVIDIA AI-AGENT在游戏中的应用

前言 2023-11-10 openai首发 多模态视觉模型 GPT 4 Turbo Vision preview,可以从图片中理解,但价格昂贵,只解析了5秒低分辨率视频就5美分,应用在游戏行业需要数十万美元。 2024-8-16 游戏行业已经注意到人工智能的水平发展可以做…

CDGA|数据治理落地实践指南:构建高效、安全的数据管理体系

在数字化转型的大潮中,数据已成为企业最宝贵的资产之一,而数据治理作为确保数据质量、提升数据价值、保障数据安全的关键环节,其重要性日益凸显。然而,数据治理并非一蹴而就,它需要系统性的规划、精细化的管理和持续性…

6款开麦即变声的电脑变声器,秒变声音只需一键!

在当今数字化时代,电脑变声器已成为许多用户在游戏、直播和社交互动中的重要工具。然而,传统变声器往往存在音效不真实、操作复杂、延迟高等问题,无法满足用户对于实时性和多样化的需求。为了解决这些问题,电脑AI变声器应运而生。…

Postman接口自动化测试:从入门到实践!

前言 在软件开发过程中,接口测试是确保软件各组件之间正确交互的关键环节。Postman作为一款强大的API开发工具,不仅支持接口请求的发送与调试,还提供了丰富的自动化测试功能,使得接口自动化测试变得更加高效和便捷。本文将从Post…

Excel的使用总结3

1、选择一列数据,除了表头 点击表头下的第一个数据,点击快捷键CTRLSHIFT ↓ 2、如何将00001,这样的数据前面的0去掉(前提是单元格格式已经是文本了) 可以直接使用text公式

微软RDL远程代码执行超高危漏洞(CVE-2024-38077)漏洞检测排查方式

漏洞名称:微软RDL远程代码执行超高危漏洞(CVE-2024-38077) CVSS core: 9.8 漏洞描述: CVE-2024-38077 是微软近期披露的一个极其严重的远程代码执行漏洞。该漏洞存在于Windows远程桌面许可管理服务(RDL&#xff09…

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——6.vector(模拟实现)

1.存储结构 namespace zone {template<class T> //需要模板class vector{public:private:iterator _start;iterator _finish;iterator _endofstorage;}; } 可见&#xff0c;vector内核是由三个指针实现的 2.默认成员函数 2.1.构造函数 1.初始化列表 vector() :_star…

【算法】粒子群优化

一、引言 粒子群优化算法&#xff08;Particle Swarm Optimization, PSO&#xff09;是一种基于群体智能的优化技术&#xff0c;由Eberhart和Kennedy在1995年提出。它模拟鸟群觅食行为&#xff0c;通过个体与群体的协作来寻找最优解。通过模拟一群粒子的运动来寻找最优解。每个…

uniapp微信小程序 分享功能

uniapp https://zh.uniapp.dcloud.io/api/plugins/share.html#onshareappmessage export default {onShareAppMessage(res) {if (res.from button) {// 来自页面内分享按钮console.log(res.target)}return {title: 自定义分享标题,path: /pages/test/test?id123}} }需要再真机…

通过运动延寿:对于普通人最佳的延寿运动是球拍类运动

文章目录 I 通过运动延寿1. 练多久?一周锻炼几次?——45~60 分钟,一周 3~5 次2. 练什么?重点锻炼什么?——有氧运动+力量训练3. 怎么练?锻炼到什么强度?——要达到中等强度运动II 运动类型与寿命之间的关联在男性中在女性中普通人最佳的延寿运动: 球拍类I 通过运动延…

使用shell命令写一个简单的购物小票

1、代码实现 #!/bin/bash goodName1"钢笔" goodName2"泡面" echo "请输入$goodName1的价格?" read price1 echo "请输入$goodName1的数量?" read num1 total$(expr $price1 \* $num1) echo $total echo "$goodName1:价格…

【Oracle点滴积累】Oracle 19c安装Critical Patch Update for January 2023

广告位招租&#xff01; 知识无价&#xff0c;人有情&#xff0c;无偿分享知识&#xff0c;希望本条信息对你有用&#xff01; 今天和大家分享如何为Oracle 19c(未启用RMAN的单实例)安装Critical Patch Update(Patch Number:34771828)&#xff0c;本指引不包含Roll Back部分&a…

连锁店收银系统源码-线下收银多端视频展示

千呼新零售2.0系统由零售行业连锁店一体化收银系统和多商户入驻平台商城两个板块组成&#xff0c;打造门店平台的本地生活即时零售模式。 其中连锁店收银系统包括线下收银私域商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。…

如何完美备份自己的微博,即使是封号之后

感谢 https://github.com/Chilfish/Weibo-archiver 工具和环境 可以用chrome插件的浏览器&#xff0c; 比如opera安装篡改猴插件安装nodejsvscode 第一步&#xff0c;安装浏览器插件 安装Tampermonkey 然后打开https://raw.githubusercontent.com/Chilfish/Weibo-archiver/m…

拼车系统开发方案

一、项目背景 随着城市化进程的加快和私家车数量的激增&#xff0c;交通拥堵和环境污染问题日益严峻。拼车作为一种绿色、经济的出行方式&#xff0c;逐渐成为缓解这些问题的重要途径。开发一个高效、安全、便捷的拼车系统不仅有助于提升出行效率&#xff0c;还能减少交通拥堵…

roles、通过roles实现lamp及lnmp、数据库的高可用和负载均衡的实现

roles(难点) 1、介绍 roles(⻆⾊): 就是通过分别将variables, tasks及handlers等放置于单独的⽬录中,并可以便捷地调⽤它们的⼀种机制。假设我们要写⼀个playbook来安装管理lamp环境&#xff0c;那么这个playbook就会写很⻓。所以我们希望把这个很⼤的⽂件分成多个功能拆分, …

Android SDK 遇到的坑之 AIUI(星火大模型)

目录 一、AIUI 二、常见错误 2.1 唤醒无效 2.2 错误码:600103 1、存放唤醒词等资源的路径 2、aiui_phone.cfg 文件配置 3、vtn.ini 文件配置 2.3 错误码:600022 相关推荐 一、AIUI 需要给桌面机器人(医康养)应用做语音指引/控制/健康咨询等功能&#xff0c;根据调研选择A…