一文带你全面了解功能安全软件监控方案

news2024/11/26 0:40:34

        引言:功能安全标准(ISO26262 Part6)提到了用于错误探测的安全机制,其中就有程序流监控,如图1所示;本文主要探讨在AUTOSAR CP以及AP的场景下,怎么实现程序流监控。

图1  ISO26262 Part6

 一、CP场景下的程序流监控

       CP场景下执行程序流监控的工作栈如图2所示,包含软件部分以及硬件部分。硬件部分就是通常所指的“硬件看门狗”,其本质是个定时器,初始阶段会被设置一个定时值,称为“timeout”。硬件看门狗被使能工作之后,便会开始计时,当超过时间阈值,“timeout”没有被重置(通常重置时间阈值的操作被称为“喂狗”),硬件看门狗便会复位MCU,进入安全状态。

图2 CP场景下的程序监控工作流

        程序监控以及“喂狗操作”需要软件部分的参与,软件堆栈参考的是AUTOSAR CP架构,包含三个部分:WdgM、WdgIf以及Wdg Driver:

        WdgM负责对软件进行监控,如果程序运行正确,则WdgM调用WdgIf提供的接口进行“喂狗”,WdgIf进一步调用Wdg Driver提供的接口进行“喂狗”,而最终的“喂狗”操作实际由Wdg Driver完成。

        如果WdgM监控到程序运行错误,则会引发相应的故障处理措施:通常是停止喂狗或者将硬件看门狗的定时值置为0,引发看门狗的立即复位。接下来,对此三个软件模块展开详细说明。

1、WdgM模块

       WdgM模块的作用是监控软件是否正常运行,如果软件正常运行,则WdgM调用WdgIf模块提供的接口进行喂狗;如果软件运行中出现错误,则执行相应的错误处理,主要包括:通过RTE将错误通知给软件,让其执行恢复处理、将错误报告给DEM(Diagnostic Event Manager)模块、停止喂狗、将timeout设置为0,MCU立即重置或发出中断信号。

相应术语解释

(1)SE:Supervised Entities ,监控实体

        一种软件实体,包括在WdgM的监控之下。每个受监控的实体只有一个标识符。监控实体表示软件组件或基础软件模块中的检查点集合。在软件组件或基础软件模块中可能有零个、一个或多个受监控的实体

        监控实体和AUTOSAR中的架构模块之间没有固定的关系,即SW-Cs、CDDs、RTE、BSW模块,但通常情况下,一个监督实体可以代表一个SW-C、一个BSW模块或CDD中的一个可运行对象  

(2)CP:Checkpoint,检查点

        被监控实体中的一个点,在那里活动被报告给WdgM

1)三种监控

      WdgM监控程序是否正常运行主要包括三种类型:

  • Alive supervision:程序是否周期运行
  • Deadline supervision:程序运行时间是否正确
  • Logical supervision:程序的执行逻辑是否正确

2)本地状态和全局状态

      本地状态表示的是WdgM监控的单个SE的程序运行状态,主要包含以下几种:

  • 状态一:OK:监控的SE未出现三种监控错误 
  • 状态二:FAILED:监控的SE出现Alive错误,且错误没有超过Alive错误容忍值;同时,SE没有出现Deadline和Logical错误
  • 状态三:EXPIRED:监控的SE出现Deadline或Logical错误,或者出现Alive错误并且Alive错误次数超出容忍值
  • 状态四:DEACTIVATED:SE程序流监控没有使能

图3 本地状态转移关系

图4 本地状态转移情况说明

        全局状态表示的是WdgM监控的所有SE的状态汇总,主要包含以下几种:

  • 状态一:DEACTIVATED:全局状态的初始值
  • 状态二:OK: 所有SE的状态都为OK或者DEACTIVATED 
  • 状态三:FAILED:至少一个SE的状态为FAILED且没有SE的状态为EXPIRED
  • 状态四:EXPIRED:至少一个SE的状态为EXPIRED且次数没有超过监控错误容忍度值
  • 状态五:STOPPED:至少一个SE的状态为EXPIRED且次数超过监控错误容忍度值

图5 全局状态转移关系

图6 全局状态转移情况说明

3)WdgM函数接口

图 7 初始化WdgM模块流程图

图8  WdgM_MainFunction与WdgM_CheckpointReached交互

2、WdgIf模块

        WdgIf模块的功能是为WdgM与看门狗驱动的交互提供函数接口。

3、Wdg Driver模块

        Wdg Driver模块的功能是与看门狗硬件通信,负责实际的喂狗操作。

二、AP场景下的程序流监控

        AP场景下实现程序流监控如图9所示,也包含软件部分和硬件部分。软件部分主要是AUTOSAR-AP协议栈的PHM、SM、EM软件模块,硬件部分则是硬件看门狗。

        AP场景进行程序流监控的相关术语、本地状态和全局状态、状态之间的转移关系和CP场景下的差不多,本文不再赘述。有区别的主要是执行程序流监控的软件模块和故障处理方式,接下来主要介绍这两方面的内容。

图9 AP场景下的程序监控工作流

1、AP软件模块

        AP中和程序流监控相关的主要软件模块是PHM、SM以及EM,具体来说,PHM负责执行具体的程序流监控,并基于监控的结果决定和其它模块的交互方式;SM负责状态管理;EM根据SM的状态切换请求执行具体的状态切换。

2、故障处理方式

        程序执行出现问题,存在三条故障处理链路。

链路一

        PHM监控到程序流出现问题,PHM报告给SM模块,SM根据注册的相应故障处理程序进行处理,包括停止出错的应用程序;重启出错的应用程序以及重启平台;

链路二

        如果SM超时没有将错误处理的结果返回给PHM,PHM则直接将故障上报给EM,EM处理也分三种不同的级别:停止应用程序、重启应用程序以及重启平台; 

链路三 

        如果EM出错,没有及时返回故障处理的结果,则PHM通知硬件看门狗复位整个平台。

三、程序流监控总结

        程序流监控的目的是避免程序在执行逻辑以及执行时序上出现非预期行为。程序流监控由软件来实现相应的监控逻辑,具体到CP以及AP端,采用的软件模块会有所不同,两者相同的是都会采用硬件看门狗复位的方式来处理故障。

        为了满足功能安全的要求,仅仅了解不同监控软件模块的功能以及硬件看门狗是不够的,还需要结合具体的系统设计(例如故障处理时间间隔  Fault Handling Time Interval ,FHTI)来正确设置不同的软硬件参数,达到最优的程序流监控效果。

        经纬恒润功能安全团队成立于2008年,系国内较早从事功能安全技术研究的团队。作为功能安全、预期功能安全国家标准委员会成员,经纬恒润的研发流程、生产流程已通过功能安全开发过程认证,功能安全开发过程达到ASIL-D,相关产品已成功服务于近百家国内外整车及零部件企业。

        经纬恒润功能安全软件团队可提供功能安全软件开发技术咨询服务,包括功能安全软件阶段流程/产品咨询、L2监控算法开发集成和L3安全机制(安全通信、隔离、监控、执行和芯片AOU)的开发集成,控制器覆盖动力域、底盘域、智驾域和车身域等。

        未来,经纬恒润将紧跟行业发展趋势和市场需求,结合自身汽车电子产品研发和国内外咨询实践,一如既往地坚持自主创新道路,为智能汽车安全保驾护航。

了解更多:请致电 010-64840808转6115 或发邮件至market_dept@hirain.com(联系时请说明来自CSDN)

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

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

相关文章

Android设备使用DS file远程访问群晖NAS管理本地文件

文章目录 1. 群晖安装Cpolar2. 创建TCP公网地址3. 远程访问群晖文件4. 固定TCP公网地址5. 固定TCP地址连接 DS file 是一个由群晖公司开发的文件管理应用程序,主要用于浏览、访问和管理存储在群晖NAS(网络附加存储)中的文件。这个应用程序具有…

JS--demo实现随机点名

逻辑就是通过点击事件得到数组里面的随机一个值&#xff0c;再把这个值给删除&#xff0c;当数组长度为1的时候&#xff0c;停止点名&#xff0c;用disabled属性让用户不能进行点击。 <!DOCTYPE html> <html lang"en"><head><meta charset&quo…

基于springboot实现校园资料分享平台系统项目【项目源码+论文说明】

基于springboot实现校园资料分享平台系统演示 摘要 随着信息互联网购物的飞速发展&#xff0c;国内放开了自媒体的政策&#xff0c;一般企业都开始开发属于自己内容分发平台的网站。本文介绍了校园资料分享平台的开发全过程。通过分析企业对于校园资料分享平台的需求&#xff…

电脑微信双开,微信微信多开支持多个微信同时登录,快速切换,方便快捷 电脑最简单的微信双开多开方法 电脑上怎么登录两个微信账号?电脑微信怎么能够双开?

支持多个微信账号同时登录&#xff0c;不限微信登录个数&#xff0c;运行快速&#xff0c;稳定不卡顿 集成所有聊天窗口&#xff0c;一键快捷切换&#xff0c;窗口再多也不乱&#xff0c;提高你的工作效率 同时管理多个微信号&#xff0c;且需要分别维护用户关系、粉丝社群 …

Oracle表空间满清理方案汇总分享

目录 前言思考 一、第一种增加表空间的数据文件数量达到总容量的提升 二、第二种解决方案针对system和sysaux的操作 2.1SYSTEM表空间优化 2.2sysaux表空间回收 2.2.1针对sysaux的表空间爆满还有第二套方案维护 三、第三种解决方案使用alter tablespace resize更改表空间的…

HTML转EXE工具(HTML App Build)永久免费版:24.4.9.0

最新版本的HTML2EXE即将发布了。自从去年发布了HTML2EXE之后&#xff0c;我就正式上班了&#xff0c;一直忙于工作&#xff0c;实在没有时间更新&#xff08;上班时间不能做&#xff09;&#xff0c;很多网友下载使用&#xff0c;反应很好&#xff0c;提出了一些改进的建议&…

Tomcat项目部署spring mvc项目,压测出现的问题

Tomcat项目部署spring mvc项目&#xff0c;压测出现的问题 项目部署&#xff1a;docker部署时候设置的内存是80G&#xff0c;JVM堆内存的初始堆和最大堆设置的内存都是64G 1、压测的时候&#xff0c;并发1000&#xff0c;循环1次 日志显示&#xff1a;堆内存溢出 2、排查出…

蓝桥杯单片机之PCF8591的使用

下文仅仅讲怎么使用。 本文章参考&#xff1a; 【蓝桥杯】PCF8591 A/D D/A转换应用_pcf8591中输出电压2v怎么表示-CSDN博客 蓝桥杯电子类单片机学习三——PCF8591 AD/DA转化器&#xff0c;AT24C02 EEPROM存储器&#xff08;iic驱动&#xff09;_蓝桥杯da转换输出的是什么-CS…

dg_mmld部分复现

Ours ( K ˆ \^{K} Kˆ2)复现结果– Photo&#xff1a;0.9634730538922156 (at Epoch 23) Art&#xff1a;0.8125 (at Epoch 23) Cartoon&#xff1a;0.7713310580204779 (at Epoch 18) 差距在可接受范围内 辅助信息 If you send 作者 an e-mail, 作者 will tell you a URL w…

C/C++中const关键字用法总结

C基础专栏&#xff1a;http://t.csdnimg.cn/4FdOH 目录 1.引言 2.修饰变量 2.1.修饰普通变量 2.2.修饰指针 2.3.修饰对象 3.修饰函数形参 4.修饰函数返回值 5.修饰类成员函数 6.const与constexpr区别 7.总结 1.引言 在面试的过程&#xff0c;面试官经常都会问到const…

arm-linux-gnueabihf-gcc默认目录

默认编译的头文件目录&#xff1a; /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/lib 默认编译的库文件目录&#xff1a; /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/include/ …

[C++]哈希应用之位图布隆过滤器

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 前言&#xff1a; 我们之前…

Hadoop安装部署-NameNode高可用版

Hadoop分布式文件系统支持NameNode的高可用性&#xff0c;本文主要描述NameNode多节点高可用性的安装部署。 如上所示&#xff0c;Hadoop分布式文件系统部署了NameNode的Master主节点以及NameNode的Slave副节点&#xff0c;当Master主节点发生故障变得不可用时&#xff0c;ZooK…

Vulnhub:DEVCONTAINER: 1

目录 信息收集 arp nmap nikto whatweb WEB 信息收集 dirmap 文件上传 提权 系统信息收集 横向提权 信息泄露 get root 信息收集 arp ┌──(root㉿ru)-[~/kali/vulnhub] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:50:56:2f:dd…

Windows Server 2008添加Web服务器(IIS)、WebDAV服务、网络负载均衡

一、Windows Server 2008添加Web服务器&#xff08;IIS&#xff09; &#xff08;1&#xff09;添加角色&#xff0c;搭建web服务器&#xff08;IIS&#xff09; &#xff08;2&#xff09;添加网站&#xff0c;关闭默认网页&#xff0c;添加默认文档 在客户端浏览器输入服务器…

无需训练,这个新方法实现了生成图像尺寸、分辨率自由

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 近日&#xff0c;来自香港中文大学 - 商汤科技联合实验室等机构的研究者们提出了FouriScale&…

蓝桥杯-外卖店优先级

代码及其解析 #include<bits/stdc.h> using namespace std; const int N100010;int order[N]; //order[id] 第id号店上一次的订单,记录的是时间 int prior[N]; //prior[id] 第id号店的优先级 int flag[N]; //flag[id] 第id号店在不在优先缓存中struct node{int…

有关栈的算法

例题一 解法&#xff08;栈&#xff09;&#xff1a; 算法思路&#xff1a; 本题极像我们玩过的「开⼼消消乐」游戏&#xff0c;仔细观察消除过程&#xff0c;可以发现本题与我们之前做过的「括号匹配」问题是类似的。当前元素是否被消除&#xff0c;需要知道上⼀个元素的信息…

YOLOv8分类识别训练配置详细

目标&#xff1a; 实现自己的图像分类算法模型训练&#xff0c;应用。 掌握数据集配置方式&#xff1b; 掌握训练、预测命令语句 掌握训练结果分析 学习内容&#xff1a; 1.图像分类数据集配置方式 例如&#xff1a; 制作一个表情分类数据集。 # 0 - 6 文件夹分别label为&…

notion的使用心得

从老石的视频知道了notion是一个很强大的管理工具&#xff1a;这就是最棒的效率软件&#xff01;如果不是&#xff0c;我倒想试试你的 | Notion使用技巧分享_哔哩哔哩_bilibili 我一时半会不能全部学会&#xff0c;但是借用大家的好模板&#xff1a;如何用5分钟搭建简洁高效的…