您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
AUTOSAR-内部与外部Watchdog应用逻辑
 
 
   次浏览      
 2024-05-06
 
编辑推荐:
本文介绍基于AUTOSAR的内部与外部watchdog的区别。希望对你的学习有帮助。
本文来自于汽车电子嵌入式,由火龙果软件Elaine编辑,推荐。

基于AUTOSAR的内部与外部watchdog的区别:

内部watchdog:可以基于STM32的片内wdg理解

  • 片内看门狗的特点是Wdg模块是直接访问相关硬件寄存器。内部看门狗服务程序可以通过独立于其他外设的内部硬件计时器(Timer)中断来实现,也可以通过GPT驱动模块的回调函数来实现。当内狗使能以后,如果程序运行异常,没有有效喂狗,内狗会触发SMU(Safety Management Unit)的Alarm,进行异常处理,eg:通知复位控制单元(RCU:Reset Control Unit)进行复位。
  • 内部watchdog主要监控程序运行后的软件状态,如监控OS启动后,周期性Task、非周期性Task、软件时序的运行状态。需要注意就是,内部watchdog存在程序初始化和程序shutdown的监控盲区。
  • STM32 有两个看门狗,独立看门狗和窗口看门狗,独立看门狗又称宠物狗,此独立看门狗外设可检测并解决由软件错误导致的故障,并在计数器达到给定的超时值时触发系统复位。

  • 独立立看门狗 (IWDG) 由其专用低速时钟 (LSI) 驱动,因此即便在主时钟发生故障时仍然保持工作状态。IWDG 最适合应用于需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的应用。

  • 窗口看门狗又称警犬,系统窗口看门狗 (WWDG) 通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。
  • 除非程序在 T6 位变成 0 前刷新递减计数器的值,否则看门狗电路在达到预置的时间周期时,会产生一个复位。如果在递减计数器达到窗口寄存器值之前刷新控制寄存器中的 7 位递减计数器值,也会产生复位。这意味着必须在限定的时间窗口内刷新计数器。
  • WWDG 时钟由 APB 时钟经预分频后提供,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。WWDG 最适合那些要求看门狗在精确计时窗口起作用的应用程序。

    外部watchdog:

  • 内部watchdog存在程序初始化和程序shutdown存在监控盲区,所以外部wdg可以fix这部分问题。如果uC没有及时喂外狗,导致外狗超时,同时拉低ROT Pin,也就是拉低uC的Reset Pin,触发uC的复位。注意:外狗一旦被外部使能,一般不会关闭 。
  • 是Autosar EcuM启动阶段的软件运行行为。如果软件只是开启了内狗,eg:仅使能 Alive Supervision。需要等到OS启动以后,内狗功能才发挥作用。但是,在程序的初始阶 段,OS启动之前,如果程序异常跑飞,内狗则无法起到监控作用。
  • 软件Shutdown阶段的监控盲区
  • 关于外部watchdog的需求,基于TLF35584

    外部PMIC的watchdog

    TLF35584

    TI TPS6594

    AUTOSAR中如果使用WdgM_MainFunction来喂狗:

  • 如果系统对看门狗的响应时间和实时性要求较高,那么使用WdgM_MainFunction可以确保看门狗定时器的定期重置。WdgM_MainFunction通常会在主循环或周期性任务中被调用,以确保看门狗定时器得到及时重置。如果系统中有专用的定时任务或硬件定时器,可以直接在这些任务或定时器中处理看门狗的重置操作,而不需要额外的WdgM_MainFunction。
  • 如果使用WdgM_MainFunction,那么在程序初始化和程序shutdown存在监控盲区,为了解决这个问题,可以采取以下措施:
  • 初始化阶段的监控:在程序初始化阶段,在调用WdgM_MainFunction函数之前,确保所有的关键模块和功能已经初始化完毕,并且系统已经稳定运行。只有在系统达到稳定状态后,才启动对外部看门狗的监控。

    关闭阶段的监控:在程序关闭阶段,在调用WdgM_MainFunction函数之前,确保所有需要监控的模块和功能尚未关闭,并且系统仍然处于可响应的状态。只有在系统完全停止之前,才停止对外部看门狗的监控。

    考虑额外的保护措施:除了使用WdgM_MainFunction函数外,可以考虑在程序初始化和关闭阶段使用其他机制或组件来保证系统的稳定性和可靠性。例如,可以使用硬件看门狗或其他监控机制来监控系统的初始化和关闭过程,以提供额外的保护。

    在函数WdgM_MainFunction函数中,它主要执行的功能是

  • 检查看门狗的状态,根据配置的监控策略进行处理。
  • 如果看门狗未被及时喂养或超时,WdgM_mainfunction 函数会触发相应的错误处理操作。
  • 管理看门狗模式切换,根据系统需求和配置,切换看门狗的工作模式,如从开发模式切换到运行模式,或者根据系统状态进行动态切换。

    在 WdgM_MainFunction 函数中触发底层喂狗,从TI和Inf可以看出,主要就是高低电平触发模式和Q&A模式.]

    如果喂狗的状态错误,重启Watchdog.

    End

  •  
       
    次浏览       
    相关文章

    中央计算的软件定义汽车架构设计
    汽车电子控制系统中的软件开发过程
    一文读懂汽车芯片-有线通信芯片
    OTA在汽车上有哪些难点痛点?
    相关文档

    汽车设计-汽车的整体结构及动力系统
    自动驾驶汽车软件计算框架
    SysML在汽车领域的应用实践
    电子电气架构-大陆汽车系统架构平台
    相关课程

    AutoSAR原理与实践
    功能安全管理体系(基于ISO26262)
    MBSE(基于模型的系统工程)
    基于SOA的汽车电子架构设计与开发

    最新活动计划
    SysML和EA系统设计与建模 7-26[特惠]
    Python、数据分析与机器学习 8-23[特惠]
    软件架构设计方法、案例与实践 8-23[特惠]
    嵌入式软件架构设计 8-22[线上]
    Linux内核编程及设备驱动 7-25[北京]
     
     
    最新文章
    中央计算的软件定义汽车架构设计方案解析
    汽车电子控制系统中的软件开发过程
    一文读懂汽车芯片-有线通信芯片
    OTA在汽车上有哪些难点痛点?
    智能汽车车用基础软件的内核和中间件
    最新课程
    Auto SAR原理与实践
    MBSE(基于模型的系统工程)
    基于SOA的汽车电子架构设计与开发(域控模式)
    人工智能助力汽车行业升级
    基于UML和EA进行系统分析设计
    SysML和EA进行系统设计建模
    更多...   
    成功案例
    奇瑞商用车 购买建模工具EA完全版
    航空发动机研究院 购买建模工具EA完全版
    联创汽车 购买建模工具EA完全版
    江淮汽车 购买建模工具EA
    更多...