前言
ECU的上下电/休眠唤醒在ECU开发设计过程中最容易出问题且都为严重问题,最近在项目开发过程中遇到ECU休眠状态下连续发送NM报文3S后才能唤醒CAN网络的问题,解决问题比较顺利,但分析过程中涉及到的网络休眠唤醒的知识点还挺有代表性,写下此文,希望能给各位读者带来启发。
CAN网络休眠唤醒,我们写了很多相关的问题文章,参考文章如下:
AUTOSAR架构下唤醒源检测函数EcuM_CheckWakeup详解
AUTOSAR BSW: Vector
MCAL: EB
HW Platform: TC3xx
缩略词
简写 |
全称 |
ComM |
Communication Manager |
CanNM |
CAN Network Management |
EcuM |
ECU State Manager |
CanSM |
CAN State Manager |
正文
1.问题描述
问题背景:使用CanTrcv_TJA1043收发器硬件,收发器软件使用Polling模式检测唤醒源。EcuM,CanIf模块配置了唤醒源校验。
问题描述:ECU休眠后,10ms周期发送0x611报文唤醒ECU且期望快速唤醒网络。
实际情况是上位机连续发送了3S NM报文后才唤醒CAN网络(ECU唤醒没有问题)。
2.问题分析
正常情况下的网络唤醒过程为:
1. NM报文唤醒ECU,ECU软件正常跑起来 。
2. CanTrcv的Mainfunction轮询到唤醒事件(CanTrcv_MainFunction --> EcuM_CheckWakeup --> CanIf_CheckWakeup --> CanTrcv_ChekckWakeup,TJA1043识别STB和ERR引脚)调用EcuM_SetWakeupEvent设置唤醒源,唤醒源状态设置为Pending.
原文始发于微信公众号(汽车电子嵌入式):AUTOSAR架构下ECU休眠后连续发送NM报文3S后ECU网络才被唤醒问题分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论