正文
1.收发器硬件唤醒功能
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文章
3485浏览量
106317 -
AUTOSAR
+关注
关注
10文章
363浏览量
21826
原文标题:AUTOSAR架构下CanTrcv休眠唤醒问题再探
文章出处:【微信号:汽车电子嵌入式,微信公众号:汽车电子嵌入式】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
STM32休眠不能唤醒的原因?
如何获取休眠唤醒源函数MAP_PRCMHibernateWakeupCauseGet
如何实现rk3288在irq上增加休眠和唤醒的功能呢
唤醒事件屏蔽掉RTC,为啥RTC还是能唤醒休眠?
CH554电脑休眠时有哪个标志可获取当前状态?
CAT1模块在liteos下实现休眠唤醒功能
![CAT1模块在liteos<b class='flag-5'>下</b>实现<b class='flag-5'>休眠</b><b class='flag-5'>唤醒</b>功能](https://file1.elecfans.com//web2/M00/A4/C9/wKgaomUEPciAIA3aAAN7XR9rZGo917.png)
CAT1模块在liteos下实现休眠唤醒功能
单片机休眠与唤醒二三事
![单片机<b class='flag-5'>休眠</b>与<b class='flag-5'>唤醒</b>二三事](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
评论