干货分享 | TSMaster—LIN 唤醒与休眠机制

描述

 

在汽车总线中常见的唤醒方式有硬线唤醒、网络唤醒和特定信号唤醒,而LIN总线则是通过休眠帧与唤醒电平来实现的,本文将介绍LIN的唤醒与休眠机制。

 

目录

Catalog

1. 网络管理

2. 唤醒

3. 休眠

 

1

网络管理

在LIN2.1协议当中网络管理指的是网络的休眠和唤醒管理,图1为LIN从节点的通讯状态。

 

初始化:在复位和唤醒之后进入该状态,从节点将进行必要的初始化然后进入工作状态。这里的初始化指的是LIN相关的初始化,重置和唤醒意味着是不同的初始化,同时初始化在100ms内完成。

 

工作:LIN网络上存在LIN报文的收发

 

总线睡眠模式:LIN总线上保持隐形电平,只有唤醒电平可以出现在LIN总线上。

休眠唤醒

图1  LIN从节点通讯状态

 

2

唤醒

在休眠的LIN网络中任意一个节点(主节点和从节点)都可以发送唤醒电平来唤醒LIN网络,唤醒电平持续250us~5ms。其他节点应该检测大于150us的脉冲,并准备好在100ms内监听LIN总线,即在脉冲结束处算起100ms以内准备接收来至主节点的报头,如图2所示;如果是从节点发送的唤醒电平,它将准备立即接收报文帧头或者传输报文,主节点也必须在100ms内发送帧头开始通信。

休眠唤醒

图2  唤醒从节点的信号接收

 

如果发出唤醒电平后在150ms~250ms内总线没有接收任何帧信息,则发送唤醒电平的节点应发送新的唤醒信号,唤醒信号最多可以发三次,如图3所示:

休眠唤醒

图3  一个唤醒信号块

 

如果在三次唤醒请求失败后,节点应该至少等待1.5s。然后发出第四次唤醒电平。如图4所示:

休眠唤醒

图4  长时间的唤醒信号

 

为了满足上述要求,TSMaster提供了WakeUp电平信号参数配置模块,如图5所示:

休眠唤醒

图5  TSMaster唤醒电平信号参数配置

 

唤醒电平长度=1000000/Baudrate*(BitNum),比如波特率为19.2k,设置BitNum = 5,则电平宽度为260.4,如图6所示:

休眠唤醒

图6  唤醒电平信号示波器波形

 

当设置Tirgger Times等于3,触发间隔时间等于3ms,则TSMaster会发出多帧唤醒报文,报文间隔等于3ms,如图8所示,先发送唤醒电平(260.4us),然后过3ms过后再次发送唤醒电平,循环发送了三次。

休眠唤醒

图7  TSMaster多次触发唤醒配置

休眠唤醒

图8  多次触发唤醒示波器波形

 

3

休眠

LIN总线有两种情况下进入休眠:

1)利用诊断帧的主节点请求帧0x3C作休眠命令

2)当LIN总线中不存在隐形和显示电平的切换(4~10s)时,节点自动进入休眠;LIN2.1协议规定,休眠报文必须由主节点发出,休眠报文帧内容如图9:

休眠唤醒

图9  LIN休眠报文帧

 

在TSMaster的LIN发送窗口中,如图10所示,选择节点和通道,然后点击Goto Sleep按钮,即可通过示波器查看到波形报文(图11)。

休眠唤醒

图10  TSMaster LIN休眠帧发送

休眠唤醒

图11  LIN休眠帧示波器波形

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分