一、开门狗管理有三种机制

1.定周期任务实时监控

2.非定周期任务执行时间监控

3.逻辑监控,执行顺序。

二、受监控的实体和检查点

Watchdog Manager监督软件的执行。监督的逻辑单位是受监督的实体。 AUTOSAR,SW-C,CDD,RTE,BSW模块中的架构块之间没有固定的关系,但通常受监督的实体可能代表SW-C中的一个SW-C或可运行的,a BSW模块或CDD取决于开发人员的选择。
受监督实体中的重要位置被定义为检查点。监督实体的代码与看门狗管理器的调用交织在一起。
每个受监督实体都有一个或多个检查点。受监督实体之间的检查点和过渡形成图。该图称为内部图。此外,来自不同受监督实体的检查点也可以通过外部过渡连接。每个看门狗管理器模式中可以有几个外部图形。

图表可以具有一个或多个初始检查点和一个或多个最终检查点。 最终检查点是正确的(假设检查点属于同一图表)。 在最终检查点之后,可以报告任何初始检查点。
在Watchdog Manager中,可以配置检查点所需的时间以及允许的外部和内部图形。
在运行时,监视程序管理器会验证是否已执行已配置的图。 这称为逻辑监督。 看门狗管理器因此破坏了检查点和转换的时间。 定期检查点的机制称为“活动监督”,对于非周期性检查点,称为“截止日期监督”

Watchdog管理器不会修复检查点的粒度。 很少粗粒度的检查点限制了Watchdog Manager的检测能力。 看门狗管理器只能检测到它是否可运行并检查时序约束。 相反,如果SW-C在每个块处具有检查点并且在可运行中具有分支,则看门狗管理器还可以检测该SW-C的控制流中的故障。 高粒度的检查点会导致监视程序管理器的复杂和大型配置

三个监督机制监督每个受监督实体。 受监督实体可以启用一个,两个或三个机制。 计算受监督实体的状态(称为本地状态)。
确定监督实体,然后根据每个监督状态确定整个MCU的状态(称为全局监督状态)。

三、监督职能

  1.Alive Supervision

定期受监管实体对其在给定时间段内执行的次数有限制。 通过“活动监督”,看门狗管理器会定期检查是否在给定限制内达到了受监管实体的检查点。 这意味着看门狗管理器会检查受监管实体是否运行得不太频繁或不太频繁。

  2.Deadline Supervision

非周期性或偶发性受监管实体对两个检查点之间的时间安排有各自的限制。 通过截止期限监督,看门狗管理器检查受监管实体的两个检查点之间的过渡时间。 这意味着Watchodog Manager会检查受监管实体中的某些步骤是否花费的时间不在配置的最小值和最大值之间

  3.Logical Supervision

逻辑监督是检查嵌入式系统软件是否正确执行的基本技术。 当需要逻辑监督时,请参考安全标准(IEC 61508或ISO26262)。逻辑监督着重于控制流错误,这些错误会导致在应用程序的无错误执行过程中偏离有效(即编码/编译)程序序列。 。 如果一个或多个程序指令以不正确的顺序处理甚至根本没有处理,就会发生错误的控制流程。 控制流错误可能导致数据损坏,微控制器复位或违反故障静默性。
对于控制流程图,这意味着每次受监管实体报告新的检查点时,都必须验证在先前的检查点和所报告的检查点之间配置了转换。

四、Watchdog Handling

门狗管理器与看门狗接口通信以控制硬件看门狗。
与版本V1.x.y相比,Watchdog Manager不再负责通过看门狗接口和看门狗驱动程序触发硬件看门狗。相反,看门狗管理器通过看门狗接口报告看门狗驱动程序的触发条件。然后,看门狗驱动程序负责在条件为真的情况下以正确的时序触发硬件看门狗。触发条件是看门狗管理器循环设置的计数器值。每次触发硬件看门狗时,看门狗驱动程序都会递减此计数器。当计数器达到0时,看门狗驱动程序停止触发硬件看门狗。因此,当看门狗管理器无法执行时,它会自动导致看门狗复位(在递减计数器所需的时间加上HW看门狗的超时值之后)。
看门狗管理器本身可能会发生看门狗管理器错误地设置触发条件并且不会导致看门狗复位的情况。因此,可能需要在Watchdog Manager本身内使用受监督实体和检查点,同时避免在Watchdog Manager中进行递归。

五、错误处理

1.受监管实体中的错误处理

  如果受监管实体是SW-C或CDD,则看门狗管理器可以通过RTE模式机制将受监管失败通知受监管实体。 然后,受监管实体可以采取措施从该故障中恢复。看门狗管理器可以在检测到监管故障时向诊断事件管理器(DEM)注册一个条目。 受监管实体可以根据该错误条目采取恢复措施。

2.分区关机

如果看门狗管理器模块检测到位于不受信任分区中的受监管实体中的监管失败,则看门狗管理器模块可以通过调用BswM来请求关闭分区。

3.由硬件看门狗复位

当看门狗接口不再触发硬件看门狗时,看门狗管理器向看门狗接口发出指示。 在硬件看门狗重置ECU或MCU之后。 这导致ECU和/或MCU硬件的重新初始化以及软件的完全重新初始化。

4.立即MCU复位

如果是立即的,看门狗管理器可能直接导致MCU复位。 这将导致MCU硬件和完整软件的重新初始化。 通常,MCU复位不会重新初始化其余的ECU硬件。
请注意,某些类型的微控制器上没有MCU复位功能。
MCU复位和看门狗复位是系统级错误反应。 在安全相关系统中,建议并行使用它们。 通过这种方式,这两种机制形成“冗余关闭路径”。

AUTOSAR-Specification of Watchdog Manager 阅读的更多相关文章

  1. CSR8670的A2DP与AVRCP的应用笔记

    1. A2DP1.1. 基本概念阅读A2DP SPEC V12的1.1章,可知: Advanced Audio Distribution Profile(A2DP)典型应用是立体声音乐播放器的音乐到耳 ...

  2. Linux是如何启动的?

    参考资料: An introduction to the Linux boot and startup processes 这篇随笔,可以理解为是对这篇英文文章的翻译与个人理解.笔记的整合. 扩展阅读 ...

  3. Programmer's Jokes

    1.   一天, 下着小雨, 和同事们一起去上班,一位同事差点滑倒,另一位同事笑话说:如果人走路用爬的就不会摔倒了!   遂反问他:能用两行代码搞定的事情为什么要用4行呢? 2.  有趣的公式( Fr ...

  4. AUTOSAR-关于配置文件的思考

    基于Can: 1. Can_Cfg.h contains compile time configurations. It should be included by Can.h which is sp ...

  5. Adaptive AUTOSAR 学习笔记 2 - 官方文档下载及阅读建议

    目前互联网上没有太多的 Adaptive AUTOSAR 的学习资料,官方文档是一个很不错的途径.看过官方文档才发现,目前很多关于 Adaptive AUTOSAR 的文章都是官方文档的简化翻译,不如 ...

  6. 如何阅读《ECMAScript 2015 Language Specification》

    你不需要把<ECMAScript 2015 Language Specification>通读一遍,因为没那个必要.   阮一峰建议: 对于一般用户来说,除了第4章,其他章节都涉及某一方面 ...

  7. tomcat源码阅读之session管理器(Manager)

    一.UML图分析: (一) Session: Session保存了一个客户端访问服务器时,服务器专门为这个客户端建立一个session用来保存相关的会话信息,session有一个有效时间,这个时间默认 ...

  8. MINIBASE源代码阅读笔记之buffer manager

    BufDesc frame 们的 descriptor(见BufHashTbl注释),包括 pageNo: 这个 frame 在文件里的id,page number prevframe: -1 表示此 ...

  9. 阅读The Java® Language Specification需要知道的英文单词

      In any case/on any account  在任何情况下 “Varargs”是“variable number of arguments”的意思.有时候也被简单的称为“variable ...

随机推荐

  1. python常用代码、问题汇总

    1.生成dataframe数据 5.读取带 ','分隔符的txt文件 4.DataFrame格式数据处理中报错 2.安装库时出现如下错误: 3.得到股票交易日数据 1.生成dataframe数据 im ...

  2. 手把手教你用Python实现“坦克大战”,附详细代码!

    小时候玩的“坦克大战”,你还记得吗? ​ 满满的回忆 ! 今天,我们使用Python以及强大的第三方库来实现一个简单的坦克大战游戏. ​ 整体效果 环境依赖 python3.7 pygame1.9.6 ...

  3. 文献阅读报告 - Social GAN: Socially Acceptable Trajectories with Generative Adversarial Networks

    paper:Gupta A , Johnson J , Fei-Fei L , et al. Social GAN: Socially Acceptable Trajectories with Gen ...

  4. php序列化(serialize)和反序列化(unserialize)函数

    用法:serialize().unserialize() 适用情境:serialize()返回字符串,此字符串包含了表示value的字节流,可以存储于任何地方.这有利于存储或传递 PHP 的值,同时不 ...

  5. 简单makefile示例

    Makefile cmd: - g++ 相信在linux下编程的没有不知道makefile的,刚开始学习linux平台下的东西,了解了下makefile的制作,觉得有点东西可以记录下. 下面是一个极其 ...

  6. Sequence Models Week 3 Neural Machine Translation

    Neural Machine Translation Welcome to your first programming assignment for this week! You will buil ...

  7. torch文档学习笔记

    下面为官方文档学习笔记    http://pytorch.org/docs/0.3.0/index.html 1.torch.Tensor from __future__ import print_ ...

  8. python爬取招聘网站数据

    # -*- coding: utf-8 -*- # 爬虫分析 from bs4 import BeautifulSoup from lxml import etree from selenium im ...

  9. golang实现单链表

    package main import "fmt" type Object interface{} type Node struct { data Object next *Nod ...

  10. python基础2--进制、字符编码和文件处理

    一.进制 1.二进制 定义 二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是"逢二进一"   转换方式 二进制转换为十进制: 把二进制数按权展开.相加即得十进制数. ...