AUTOSAR实战篇:手把手带你搞定Watchdog协议栈

AUTOSAR实战篇:手把手带你搞定Watchdog协议栈

前言

小T出品,必是精品!
手把手搞定Watchdog协议栈,你值得拥有!

image-20230910100220755


正文

在进行Watchdog协议栈实战之前,建议先阅读小T之前有关Watchdog协议栈的两篇文章《Watchdog协议栈上》与《Watchdog协议栈下》先了解下在AUTOSAR框架下的Watchdog协议栈到底存在哪些概念与内容,有哪些需要注意的点。

为了便于大家针对实战内容的理解,小T将之前协议栈的基础内容介绍在本文中做个总体的介绍与总结,方便大家抓住重点,快速完成实战配置的理解。

Watchdog协议栈总体介绍

本文以AUTOSAR标准4.2.2为例,如下图1所示,整个Watchdog协议栈可以分为如下三个主要的模块:

image-20230910101926859

图1 Watchdog协议栈总览
  • WdgM模块:全称“Watchdog Manager”,首先它是一项BSW Service, 该Service提供的就是从硬件看门狗实体监控的过程抽象出来完成软件程序执行监控抽象;
  • WdgIf模块:全称“Watchdog Interface”,它属于ECU抽象层,能够允许上层WdgM模块来同时处理多个看门狗实体,比如外部看门狗或者内部看门狗等;
  • Wdg模块:全称“Watchdog Driver”,它属于MCAL的一部分,用于完成看门狗初始化,模式设置以及喂狗设置等。

对于上述三个模块,其中整个Watchdog协议栈最为关键的部分就是WdgM模块,由于其存在十分重要的监控类别,监控对象按照AUTOSAR概念将其称为Supervised Entities,俗称"监控实体"。

我们可以通过针对不同的应用场景需要设置不同的监控类别,从而完成整个软件执行过程中偶发的异常状态。

Watchdog监控类别

针对Watchdog Manager模块的监控类别,我们可以将其分为如下三种:

  • Alive Supervision:用于需要监控周期性任务调度周期是否稳定的场景;
  • Deadline Supervision:用于需要监控非周期性任务某段代码区间执行时间是否在预期内的场景;
  • Logical Supervision:用于需要监控程序执行顺序是否符合代码设计的场景。

典型的对于一个监控实体就是一个SWC或者一个runnable,它们在其内部存在一个或者多个Checkpoint来完成彼此之间的Transition,这种迁移变化就被称为Graph,接下来我们将更为细致的分析下上述三种监控方式的特点。

  • Alive Supervision: 用于检查某一个监控实体是否执行时间过快或者过慢,通过参数设定固定的一个时间段,检查下期望调用Checkpoint函数的次数是否在预期设定的阈值范围内,如果在范围内则监控结果为correct,否则监控结果则为incorrect;
  • Deadline Supervision:检查两个checkpoint之间的执行时间是否在设置的阈值范围内,如果在范围内则监控结果为correct,否则监控结果则为incorrect,其中最为关键的两个参数就是监控阈值的最小值与最大值;
  • Logical Supervision: 检查程序的执行时序是否在预期的设定范围内,本质上来讲就是看这些checkpoint之间的Transition是否在预期的Transition列表中,如果在列表中则监控结果为correct,否则监控结果则为incorrect。

Watchdog协议栈状态机

WdgM模块能够及时处理多个监控实体的多个监控类别以及多个看门狗,正因如此,因为需要针对每一个监控实体都需要通过唯一的状态进行表示,我们将其称为Local Status,每一个监控实体均有唯一的Local Status来进行表示,其状态可以分为监控OK,监控失败,监控超时,如下图2是AUTOSAR标准文档中的监控实体的Local Status状态机图:

image-20230910105316641

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
AutoSAR是一种用于汽车电子系统开发的开放式标准,可以提高汽车电子系统的可重用性和可扩展性。对于初学者来说,入门手册是理解AutoSAR概念和使用方法的重要参考资料。而基于DaVinci平台的入门手册是一本介绍如何在DaVinci开发环境中应用AutoSAR的实战指南。 在这本入门手册中,首先会对AutoSAR的基本概念进行简要介绍,如软件构建、软件构件、软件组件和ECU等。然后,会详细介绍DaVinci平台的各个模块和工具的功能和用法,如DaVinci Developer、DaVinci Configurator Pro和DaVinci OS。通过这些模块和工具,用户可以创建和配置AutoSAR软件构件和软件组件,并将其部署到特定的ECU上。 在手册的后半部分,会提供一些实际案例,指导读者如何在DaVinci平台上实际开发AutoSAR应用。这些案例包括创建和配置软件构件、定义接口、实现软件组件逻辑、进行故障诊断等。每个案例都会提供详细的步骤和示例代码,帮助读者理解和运用AutoSAR的各个概念和技术。 此外,手册还会介绍一些实际开发中常见的问题和解决方案,如内存管理、通信与排错等。这些内容可以帮助读者更好地解决实际问题并优化AutoSAR应用。 总之,基于DaVinci平台的AutoSAR实战篇入门手册是一本提供AutoSAR开发基础知识和实践经验的重要参考书籍。通过学习和实践,读者可以掌握AutoSAR的基本概念和技术,并能在DaVinci平台上进行实际应用开发
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车小T

感谢打赏,我会继续努力奉献精彩

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值