正文
1.1 什么是唤醒标志Wake flag
TJA1043收发器供电正常(供电不正常也会切换收发器状态)时候的硬件状态切换条件有三个硬件信号组成:
STB_N(低有效,拉低进入到Standby状态)
EN引脚(拉高,使能收发器)
Wake flag
STB_N和EN就是收发器的两个IO引脚,那Wake flag啥了?
TJA1043收发器内部有很多硬件Internal flags,这里我们着重介绍下唤醒相关的UVNOM和Wake flag.
1.1.1 UVNOMflag
以下两种场景会置位UVNOMflag:
VCC < Vuvd(VCC), 维持时间超过 tdet(uv)(100ms~350ms)
VIO < Vuvd(VIO) 维持时间超过 tdet(uv) (100ms~350ms)
UVNOM置位后的动作:TJA1043收发器进入到Sleep Mode
以下场景会清除UVNOM:
任何唤醒行为, 设置Pwon flag
STB_N 引脚出现LOW-to-HIGH变化
VCC 和VIO 都恢复。CAN transceiver会基于引脚STB_N 和EN当前状态切换到对应的状态
1.1.2 Wake flag
以下场景置位Wake flag:
收发器硬件检测到远程唤醒事件(Wake pattern)
置位Wake flag后的动作:
清除UVNOM及对应的Timer
以下场景会清除Wake flag:
UVNOM被设置
收发器进入Normal Mode
1.2 什么是本地唤醒和远程唤醒
1.2.1 本地唤醒
WAKE引脚上电压水平由低到高或者由高到低,并且新切换的电平维持至少twake的时间。
1.2.2 远程唤醒
当CAN总线上收到一个完整的Wake-Up Pattern (ISO 11898-2) 会远程唤醒TJA1043收发器。
一个完整的WakeUp Pattern如下图所示,至少在tto(wake)bus这段时间内收到显性位(0)-隐性位(1)-显性位(0),显性位的持续时间大于等于twake(busdom)隐性位的持续时间大于等于twake(busrec)。
1.3 收发器的ERR_N引脚
顾名思义,ERR_N引脚好像是用来标识TJA1043收发器的错误状态的,但不仅仅如此。
通过ERR_N可以检测Internal flag. 以Wake flag为例,Wake flag置位后可以通过ERR_N引脚来检测Wake flag有没有被置位。
也就是说,TJA1043收发器的本地唤醒可以通过WAKE引脚来检测,远程唤醒可以通过ERR_N引脚来检测。
注意:一般收发器在Sleep模式下等待唤醒事件,如果发生远程唤醒,则:
STB_N引脚低电平
EN引脚为高电平
Wake flag set
这个时候如果软件要检测唤醒事件,应该同时检测STB_N引脚及ERR_N引脚,也就是说STB_N引脚既当输出引脚又是输入引脚。
2. CanTrcv模块检测唤醒事件
审核编辑:刘清
-
收发器
+关注
关注
10文章
3425浏览量
105974 -
AUTOSAR
+关注
关注
10文章
362浏览量
21565
原文标题:AUTOSAR架构下CanTrcv休眠唤醒问题再探
文章出处:【微信号:汽车电子嵌入式,微信公众号:汽车电子嵌入式】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论