嵌入式 > 嵌入式开发 > 详情

LIN总线技术及应用——协议规范(三)

发布时间:2020-08-12 发布时间:
|

 

一、调度表(Schedule Table)

——主任务发送报头,从任务用响应来补充报头形成完整的报文。那么报头到底是怎么发送的呢?

——这是在调度表中定义的。

  • 调度表负责调度网络中各报文发送的顺序

  • 调度表为每帧报文分配发送时隙(slot)(发送时隙是报文可以被发送的时间)

  • 不同报文的发送时隙可能不同

  • 报文发送的顺序可以在调度表中设定

  • 调度表在网络系统设计阶段确定

  • 调度表使得LIN通信具有可预测性

  • 切换调度表

  • 主任务可以拥有多个调度表,并在不同的调度表之间切换

  • 增加通信的灵活性

  • 调度表可以保证总线永远不会过载,同时还可以保证信号的周期性。

  • LIN总线最小时间单位是时基(Tbase)。

  • 调度表中用来发送一帧报文的时间称为帧时隙(Frame_Slot),帧时隙必须是时基的整数倍,调度表是由帧时隙组成的。

TFrame_Slot = Tbase * n

  • 偏移(jitter)是指一帧报文实际开始发送的时刻与帧时隙起点的时间差。

TFrame_Slot > jitter + TFrame_Maximum

二、网络管理(Network Management)

1、睡眠(Go To Sleep)

  • 主节点可以发送一帧ID为60(0x3c),第一个字节为0x00其余全为0xFF的主请求帧来使处于工作状态的从节点进入睡眠。这帧报文称为睡眠指令。

  • 从节点在接到睡眠指令之后,也可以选择不进入睡眠状态而继续工作,这根据应用层程序而定。

  • 当总线空闲4到10秒的时候,所有从节点自动进入睡眠状态。

注:空闲的定义是没有显性位和隐性位之间的转换。

2、唤醒(Wake Up)

  • 在一个处于睡眠状态的LIN网络中,任何一个节点都可以发送唤醒信号。

  • 唤醒信号是一个250us(在20Kbit/s波特率)到5ms(在1Kbit/s波特率)的显性电平(5个位)。

  • 每一个从节点都需要检测唤醒信号,当检测到唤醒信号之后,在100ms以内完成初始化工作。

  • 当从节点发出唤醒信号之后150ms,主节点仍未发送报头时,从节点可以再次发送唤醒信号。当连续发送了3次唤醒信号之后如果主节点仍未发送报头,从节点要至少等待1.5秒以后才可以发送第四次唤醒信号。

  • 唤醒过程

三、状态管理(Status Management)

状态管理的目的是用来发现工作状态中总线上产生的错误。

  • response error

每一个从节点必须通过状态管理帧发送response error信号(一个位长),当在响应帧中检测到错误时,这个信号由从节点的驱动器自动设定,发送完状态管理帧之后又将该位清除。

  • Interpretation

主节点接收状态信息位并识别从节点状态 :



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
定时器CTC模式的测试