《LIN通信协议-普通页面.ppt》由会员分享,可在线阅读,更多相关《LIN通信协议-普通页面.ppt(55页珍藏版)》请在三一办公上搜索。
1、一、基本概念1、LIN协议的分层结构:,2、信息的传送(报文帧),LIN 报文帧,LIN 报文帧,3、信息传送方式(信息路由)LIN网络中的数据交换方式有以下 3 种方式:(1)数据由主机到从机通信:,(2)数据由从机到主机通信;,(3)数据由从机到从机通信。,4、位传输速度 受单线传输介质电磁干扰(EMI)的限制,LIN最大位流传输速度为29Kbps;另一方面,为了避免与实际系统定时溢出时间发生冲突,最小位流传输速度限定为1Kbps。实际应用系统中,建议使用下面的位速率:,5、故障检测位错误校验和错误标识符奇偶校验从机不响应错误同步场不一致错误没有总线活动,6、故障界定主节点控制单元 主节点
2、的主任务发送:主节点的从任务发送。从节点控制单元 从任务发送:从任务接收。,7、连接总线LIN网络节点的最大数量不仅由标识符的数量限制(见上面的信息路由)也由总线的物理特性限制。建议LIN网络的节点数量不应超过16。否则,网络阻抗降低,在最坏工作情况下会发生通信故障。每增加一个额外的节点大约降低3%的网络阻抗(30k|1k)。网络中积累的“电”线长度应少于或等于40m。主机节点的总线端电阻典型值是1k,从机节点是30k。,8、休眠方式与唤醒为了降低系统的功耗,LIN系统支持没有任何内部活动而且总线驱动器无源的休眠模式。当主节点向网络上发送一个休眠命令时,所有节点进入休眠状态,直到被唤醒之前总线
3、上不会有任何活动。当总线上出现任何活动或节点出现任何内部活动时,节点结束休眠状态。从节点唤醒时,输出一个唤醒信号唤醒主节点,主节点开始初始化内部活动,从节点要等到同步信号后才参与总线通信活动。,二、信息格式与信息传送1、信息格式一个LIN信息帧包括两部分:头信息/帧头:由主任务发送到从任务的同步和标示符信息响应/应答:由一个从任务发送到所有其他从任务的数据信息,一个LIN信息帧有同步间隔、同步域、标示符域(受保护ID域)、数据域、校验码域以及响应间隔构成。除起始域与响应间隔,其他部分都是以字节为单位传送,每个字节都有自己的格式,称之为字节域(Byte Field)。字节之间有字节间隔(Inte
4、r Byte Space),在头信息和响应之间有一个响应间隔(Response Space)。这两个间隔的最小值为0。,2、头信息LIN网络中,每个信息的传送都是以主节点发送头信息开始的。头信息包括同步间隔域、同步域以及PID(Protected Identifier,受保护ID)域。,同步间隔域(Break Field)同步间隔域由同步间隔(Break)和同步间隔域间隔符(Break Delimiter)构成。,3.2 LIN通信协议,同步域(Sync Byte Field)字节域(Byte Field):1 位起始位(Start Bit,显性)+8位数据位+1 位停止位(Stop Bit,
5、隐性),是一种标准UART 数据传输格式。,从机节点可以不采用精度高的时钟,而采用片上振荡器等精度和成本相对较低的时钟,由此带来的与主机节点时钟产生的偏差,需要通过同步域进行调整,调整的结果是使从机节点数据的位速率与主机节点一致。同步段用于同步的基准时钟为主机节点的时钟。从机节点通过接收主机节点发出的同步段,计算出主机节点位速率,根据计算结果对自身的位速率重新作调整。,受保护ID域(Protected Identifier Field)受保护ID 段的前6位叫作帧ID(Frame ID),加上两个奇偶校验位后称作受保护ID。,帧ID 的范围在0 x000 x3F 之间,共64 个。帧ID标识了
6、帧的类别。从机任务对于帧头作出的反应(接收/发送/忽略应答部分)都是依据帧ID 判断的。如果帧ID传输错误,将会导致信号无法正确到达目的地。,因此引入奇偶校验位。其中 ID6 是 ID0、ID1、ID2、ID4 的奇校验,ID7 是 ID1、ID3、ID4、ID5 的偶校验。校验公式如下,其中“”代表“异或”运算,“”代表“取非”运算。P0=ID0 ID1 ID2 ID4P1=(ID1 ID3 ID4 ID5)由公式可以看出,PID不会出现全0或全1的情况,因此,如果从机节点收到了“0 xFF”或“0 x00”,可判断为传输错误。,3、响应域 LIN协议中,一帧信息的响应域由数据域和校验码域两
7、部分构成。数据域长度(字节数)由标示符域的ID4、ID5决定。数据域(Data Field)节点发送的数据位于数据段,包含1到8个字节。,数据段包含了两种数据类型:信号(Signal)和诊断消息(Diagnostic messages)。信号(Signal)由信号携带帧传递,一个帧ID 对应的数据段可能包含一个或多个信号。信号更新时要保证其完整性,不能只更新一部分。一个信号通常由一个固定的节点发出,此节点称为该信号的发布节点(Publisher);其余的一个或多个节点接收,它们称为信号的收听节点(Subscriber)。诊断消息(Diagnostic message)由诊断帧传递,对消息内容的
8、解析由数据自身和节点状态决定。,帧的类型无条件帧(Unconditional Frame)事件触发帧(Event Triggered Frame)偶发帧(Sporadic Frame)诊断帧(Diagnostic Frame)保留帧(Reserved Frame),无条件帧(Unconditional Frame)无条件帧是具有单一发布节点,无论信号是否发生变化,帧头都被无条件应答的帧。无条件帧在主机任务分配给它的固定的帧时隙中传输。总线上一旦有帧头发送出去,必须有从机任务作应答(即无条件发送应答)。,无条件帧(Unconditional Frame),事件触发帧(Event Triggere
9、d Frame)事件触发帧是主机节点在一个帧时隙中查询各从机节点的信号是否发生变化时使用的帧,当存在多个发布节点时,通过冲突解决进度表来解决冲突。原先用作轮询的无条件帧,称为与该事件触发帧关联的无条件帧,即事件触发帧的应答部分是与其关联的无条件帧所提供的应答。当发生冲突时,需要立刻中断当前的进度表,启动冲突解决进度表(Collision Resolving Schedule),重新调用这些关联的无条件帧。其中,冲突解决进度表要求包含所有关联的无条件帧。,事件触发帧(Event Triggered Frame),事件触发帧(Event Triggered Frame)与事件触发帧关联的多个无条件
10、帧需要满足以下5 个条件:数据段包含的数据字节数等长;使用相同的校验和类型;数据段的第一个字节为该无条件帧的受保护ID,这样才能够知道应答是哪个关联的无条件帧发送出来的;由不同的从机节点发布;不能与事件触发帧处于同一个进度表中。,偶发帧(Sporadic Frame)偶发帧是主机节点在同一帧时隙中当自身信号发生变化时向总线启动发送的帧。当存在多个关联的应答信号变化时,通过事先设定的优先级来仲裁。,偶发帧(Sporadic Frame),诊断帧(Diagnostic Frame)诊断帧包括主机请求帧和从机应答帧,主要用于配置、识别和诊断用。主机请求帧(Master Request Frame,M
11、RF),帧ID=0 x3C,应答部分的发布节点为主机节点;从机应答帧(Slave Response Frame,SRF),帧ID=0 x3D,应答部分的发布节点为从机节点。数据段规定为8 个字节,一律采用标准型校验和。,保留帧(Reserved Frame)保留帧的帧ID 为0 x3E 和0 x3F,为将来扩展用。,校验码域(Checksum Field)校验码域是对帧中所传输的内容进行校验。,校验和分为标准型校验和(Classic Checksum)及增强型校验和(Enhanced Checksum),采用标准型校验和还是增强型校验和由主机节点管理,发布节点和各收听节点根据帧ID来判断采用哪
12、种校验和。校验方法为将校验对象的各字节作带进位二进制加法(每当结果大于等于256 时就减去255),并将所得最终的和逐位取反,以该结果作为要发送的校验和。接收方根据校验和类型,对接收数据作相同的带进位二进制加法,最终的和不取反,并将该和与接收到的校验和作加法,如果结果为0 xFF,则校验和无误。这在一定程度上保证了数据传输的正确性。,例:采用标准型校验和,Data1=0 x4A,Data2=0 x55,Data3=0 x93,Data4=0 xE5,4、报文帧的长度和总线睡眠检测,TFrame_Maximum:帧在总线上传输的最大时间;THeader_Maximum:帧头在总线上传输的最大时间
13、;TResponse_Maximum:应答在总线上传输的最大时间;THeader_Nominal:帧头额定传输时间:同步间隔段(包含同步间隔和同步间隔段间隔符)的最小传输时间+同步段传输时间+受保护ID段传输时间;,THeader_Rest:帧头的余量:包含字节间间隔,规定为帧头额定传输时间的0.4 倍;TResponse_Nominal:应答额定传输时间:数据段传输时间+校验和段传输时间;TResponse_Rest:应答的余量:包含应答间隔以及字节间间隔,规定为应答额定传输时间的0.4 倍;Ndata表示数据段包含N个字节。,THeader_Rest:帧头的余量:包含字节间间隔,规定为帧头
14、额定传输时间的0.4 倍;TResponse_Nominal:应答额定传输时间:数据段传输时间+校验和段传输时间;TResponse_Rest:应答的余量:包含应答间隔以及字节间间隔,规定为应答额定传输时间的0.4 倍;Ndata表示数据段包含N个字节。,帧在总线上的传输波形,5、进度表 进度表是帧的调度表,规定总线上帧的传输次序以及各帧在总线上的传输时间。进度表位于主机节点,主机任务根据应用层需要进行调度。这样保证了总线信号的周期性,也能保证总线永远不会发生过载。,6、状态机(State Machine)实现主机任务的状态机当进度表启动后,主机任务依次发送同步间隔段、同步段和受保护ID 段。,从机任务的状态机从机任务负责发布或者接听帧的应答。包括两个状态机:1.同步间隔段和同步段检查器2.帧处理器,从机任务的状态机,7、振荡器容差当在 LIN 的时钟发生器中使用内部校准时,可以让频率的容差做到比15%精度更高。这个频率容差的精度能保证在报文流中能检测到同步间隔。同时,使用同步场的精细校准能保证接收报文和发送报文的正确性。在考虑到操作中的电压漂移和温度等因素对振荡器频率的影响的情况下,片振荡器就必须考虑到位速率产生以及测量的精确性。,三、LIN 与 CAN 的比较,三、LIN 与 CAN 的比较,