LIN总线技术及应用——协议规范(三)
一、调度表(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
主节点接收状态信息位并识别从节点状态 :
LIN总线技术协议规 相关文章:
- LIN总线技术及应用——协议规范(一)(12-12)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)