LIN - 基础

参考

https://blog.csdn.net/qq_41908302/article/details/129967309

概念

原理

基于UART数据格式、主从结构
串行通讯

拓扑

LIN网络中有且只有一个主节点,其他都是从节点

优缺点

功能简单
实时性低
成本低
单主多从,不存在冲突,无需仲裁

特点

从节点无需高精度晶振
采用调度表控制,网络通讯可预期
无需更改其他节点的硬件即可增加或减少从节点
支持多包报文传输,支持诊断服务

主任务/从任务

主任务:负责决定总线上的报文,在主节点上运行的,用于控制总线上所有的通信,负责报文的进度表、发送报文头的任务称为主任务;常见主任务:如定义传输速率,发送同步时间间隔、同步场、标识符ID场,监控并通过检查校验和(check sum)验证数据的有效性;接收从机节点发出的总线唤醒命令
从任务:提供每一帧的数据;从机任务不能直接向总线发送数据,需要接受到主节点发送的帧头后,根据帧头所包含的信息来判断:发送应答,接收应答,既不接收也不应答(从机任务接收帧头并对帧头所包含信息进行解析,然后决定是发送应答,还是接收应答,还是不作任何反应

主节点:包括主任务+从任务
从节点:只包括从任务

主节点负责调度通讯,从节点1和从结点2是按照主节点的调度表来按时发送信息的,因此从节点不会同时发送信息(主节点起老师的作用)
从节点不能发送命令控制其他的从节点(学生不能发送命令)
主节点决定总线上进行哪项通讯,从节点响应主机的任务(填哪些数据)

主节点控制整个网络的通信,控制不同节点的传输时间
每个报文帧的长度是预知的
采用调度表,可保证信号的周期传输,保证总线不会出现超负载的现象

CAN/LIN

LIN的主节点本身具有CAN的接口
LIN主节点相当于网关,可以将LIN网中的报文与CAN网进行交互

在这里插入图片描述

在这里插入图片描述

物理层

数据链路层

主任务发送报头,从任务响应,形成完成的报文,实现总线通信

帧格式

主节点发送报头(帧头),从节点应答后形成完整的一帧
从机任务接收帧头并对帧头所包含信息进行解析,然后决定是发送应答,还是接收应答,还是不作任何反应
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

字节间隔 位于每个字节之间
应答间隔或者响应间隔 位于报头和响应之间(为了留给MCU足够处理事件,如果MCU性能够高最小值可以是0)
在这里插入图片描述

在这里插入图片描述

同步间隔+同步间隔段 间隔符 组成
总是由主节点发出,代表新的一帧开始
同步间隔段最少13位显性电平(显性位),间隔符1位隐性
从节点只需检测到11位显性电平即可
在这里插入图片描述

(和串口数据类似) (串口:起始位(低电平)+8位数据位+ 停止位(高电平))
同步段:(显性位+ 8位数据位 + 隐性电平)
数据传输先发最低有效位,最后发最高有效位
如 0x55: 01010101 (7 6 5 4 3 2 1 0 二进制:最高有效位->最低有效位),而实际LIN发送的时候是先发低有效位再发高有效位

0x55 与同步段的作用:确保所有从节点使用与节点相同的波特率发送和接收数据
LIN通讯的同步段原理主要用于调整从机节点与主节点之间的时钟偏差。在LIN总线上,所有的通讯都是以主机节点的时钟为基准。
具体来说,当主机节点发出一个字节0x55 (01010101b)的同步段后,从机节点开始接收这个信号。由于LIN通讯以下降沿作为判断标志,所以从机节点能够准确地捕捉到这个信号,并根据此计算出主机节点的位速率。
接下来,从机节点会根据接收到的主机节点位速率和自身的位速率进行比较,如果两者之间存在偏差,那么从机节点就会根据这个偏差值对自身的位速率进行调整,以达到与主机节点的时钟同步。
总的来说,通过同步段的设计,LIN通讯能够在不要求从机节点使用高精度时钟的情况下,实现从机节点与主节点之间的时钟同步,降低了通讯成本和复杂性。

在这里插入图片描述

PID=报文ID(6位)+2位校验位 同样是(显性+8位+隐性)
6位:0x00-0x63;
其中0x00-0x59 信号携带帧
60(0x3C)和61(0x3D)用于诊断和节点配置
62和63为预留
同样,下面发送的时候也是先发低有效位,再发高有效位(图中都是按时序表示的发送顺序,0 1 2 3…)

在这里插入图片描述
在这里插入图片描述

数据场长度1~8个字节
低字节先发,低位先发
如果某一个信号长度超过1个字节,采用低位在前的方式发送(小端发送)
在这里插入图片描述
在这里插入图片描述

对于3C和3D的校验应该只用标准型校验,仅校验数据场
对于其他信号携带帧应该用增强型校验,校验标识符场与数据场内容
注意接收方和发送方的校验方式,以及256±的运算方法
在这里插入图片描述
在这里插入图片描述

帧类型

  • 无条件帧

具有单一发布节点,无论信号是否发生变化,帧头均会被无条件应答的帧
无条件帧在主机任务分配给它的固定的帧时隙中传输。总线上一旦有帧头发送出去,必须有从机任务作应答(即无条件发送应答)
帧 ID = 0x30 应答部分的发布节点为从机节点 1,收听节点为主机节点。典型应用如从机节点 1 向主机节点报告自身某信号的状态。
帧 ID = 0x31 应答部分的发布节点为主机节点,收听节点为从机节点 1 和从机节点 2。典型应用如主机节点向从机节点发布信息。
帧 ID = 0x32 应答部分的发布节点为从机节点 2,收听节点为从机节点 1。典型应用如从机节点之间彼此通信
在这里插入图片描述

  • 事件触发帧

处理偶发的事件:主机节点在一个帧时隙中查询各从机节点的信号是否发生变化时使用的帧,当存在多个发布节点时,通过冲突解决进度表来解决冲突
https://blog.csdn.net/qq_41908302/article/details/129969332 例子很重要!!!
在这里插入图片描述

  • 偶发帧

偶发帧是主机节点在同一帧时隙中当自身信号发生变化时向总线启动发送的帧。当存在多个关联的应答信号变化时,通过事先设定的优先级来仲裁

在这里插入图片描述

  • 零星帧
  • 诊断帧

诊断帧包括主机请求帧和从机应答帧,主要用于配置、识别和诊断用
主机请求帧(Master Request Frame,MRF),帧 ID = 0x3C,应答部分的发布节点为主机节点;
从机应答帧(Slave Response Frame,SRF),帧 ID = 0x3D,应答部分的发布节点为从机节点。数据段规定为 8 个字节,一律采用标准型校验和

在这里插入图片描述

调度表

调度表位于主节点中
负责调度网络各报文发送的顺序
为每帧报文分配不同的发送时间,分配发送的时间隙slot
发送时隙:报文可以被发送的时间
不同报文的发送时隙可能不同
调度表使得LIN通信具有可预测性
主任务可以有多个调度表
根据决策可以在不同的调度表之间切换

调度表规定了总线上帧的传输次序(调度Header)以及各帧在总线上的传输时间
主机任务根据应用层需要进行调度。调度表可以有多个,一般情况下,轮到某个调度表执行的时候,从该调度表规定的入口处开始顺序执行,到调度表的最后一个帧时,如果没有新的调度表启动,则返回到当前的调度表第一个帧循环执行;也有可能在执行某个调度表当中发生中断,执行另一个调度表后再返回,如事件触发帧的冲突解决过程就是一个典型的例子
切换到另外一个调度表时,一定要等到当前时隙的结束

在这里插入图片描述

帧时隙

调度表除规定了帧 ID 的传输次序外,还规定了帧时隙(Frame Slot)的大小
帧时隙是调度表规定的一个帧的帧头起始到下一个的帧的帧头起始的时间
每个帧的帧时隙都可以不同,帧时隙必须为时基的整数倍
时基(Time Base)为LIN子网的最小计时单位,通常设定为 5ms或 10ms

一个帧时隙对应了调度表的一个入口???
并且起始于时基的开始时刻(称为时基的节拍(Tick)),切换到另外一个调度表时一定要等到当前帧时隙的结束???
其中TFrame_Maximum 为帧在总线上传输的最大时间 。
抖动(Jitter)为帧的同步间隔段的下降沿与帧时隙起始时刻相差的时间

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

LIN报文

  • 信号报文

诊断报文

在这里插入图片描述

ID+PDU(8个字节)

一个PDU可以是一个完整的报文也可以是保温的一部分
请求:从客户端发出的报文
响应:从服务端发出的报文

PDU的第一个地址为NAD节点地址(相当于学生的学号)

SF: 单帧,只用一个PDU传递报文
FF:首帧,多帧传输时,被发送的首个报文
CF:连续帧,多PDU传输时,发送完首帧后紧接着发连续帧

NAD

7E:功能地址,
7F:广播地址

PCI

PCI=PCI type(4 bit)+Addition information(4 bit)
针对SF单帧:PCI type(0 0 0 0) + length(SID???)
针对FF多报文首帧:PCI type( 0 0 0 1)+Addition information(4 bit)+LEN(8bit) [4+8 一共12位表示长度]
针对CF多报文连续帧:PCI type(0 0 1 0)+Addition information(4 bit)[表示第几个续帧]

LEN

只在多报文中使用
只在多报文的首帧使用

SID / RSID

对于LIN协议,与uds服务是有区别的
SID: B0-B7

调度表

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: LIN 2.1(Local Interconnect Network)是一种用于汽车电子系统中的串行通信协议。它被广泛应用于汽车领域,主要用于连接车辆各个电子控制单元(ECU),如发动机控制单元、制动系统控制单元等,以实现各个模块之间的数据交换。 LIN 2.1协议是对之前版本LIN 1.x的一次改进。相比于1.x版本,2.1版本增加了一些新的特性和功能,提高了通信的可靠性和灵活性。 LIN 2.1协议的主要特点如下: 1. 数据传输速率:LIN 2.1支持最高19.2kbps的数据传输速率,相比于1.x版本的速率有所提高,可以更快地传输数据。 2. 数据帧结构:LIN 2.1采用了新的帧结构,包括帧同步、标识字节、数据字节数等信息,提高了帧的可靠性和稳定性。 3. 诊断服务:与1.x版本不同,LIN 2.1支持诊断服务,可以通过LIN总线对车辆进行故障检测和诊断,提高了车辆维护和故障排查的效率。 4. 多主控制:LIN 2.1支持多主控制,即多个LIN总线主控节点可以同时进行通信,提高了系统的灵活性和可扩展性。 5. 网络管理:LIN 2.1引入了网络管理功能,可以对总线上的节点进行配置和控制,包括节点的加入和离开,提高了网络管理的便捷性和效率。 总之,LIN 2.1是一种用于汽车电子系统中的串行通信协议,通过提高数据传输速率、改进数据帧结构、支持诊断服务、多主控制和网络管理,提高了通信的可靠性和灵活性,为汽车系统的互连和控制提供了有效的解决方案。 ### 回答2: LIN(局域网络互连)是一种用于汽车电子系统中的串行通信协议。LIN规范2.1是对LIN网络的技术要求和通信协议细节的规定。它在LIN 2.0的基础上进行了一些改进和完善。 首先,在LIN 2.1中引入了一个时间同步的机制,以保证网络中各个节点的同步性能更好。这样可以确保在多个节点同时发送消息时不会产生冲突,提高了数据传输的可靠性。 其次,LIN 2.1还引入了一种错误检测和纠正的机制。通过CRC校验算法可以检测数据传输过程中是否出现错误,并且可以纠正一定范围内的错误。这样可以提高数据传输的准确性和可靠性。 此外,LIN 2.1还增加了一些对数据包格式的规定,包括帧的类型、标识符、数据长度等。这些规定保证了不同节点之间的数据交换的一致性和可互操作性。 另外,LIN 2.1还增加了对网络识别和配置的支持。每个节点可以根据自身的地址信息来识别和定位在网络中的位置,从而实现更灵活的配置和管理。 总之,LIN规范2.1引入了时间同步、错误检测和纠正、数据包格式规定和网络识别等功能,提高了LIN网络的可靠性、准确性和可互操作性,为汽车电子系统的数据传输和通信提供了更好的支持。 ### 回答3: LIN规范2.1是指在汽车电子系统中使用的一种通信协议。LIN是Local Interconnect Network的缩写,意为本地互连网络。该技术广泛应用于汽车的底层通信系统中,用于在车身电子控制单元(ECU)之间进行低速数据通信LIN规范2.1是LIN协议的一种版本,它定义了消息的格式、数据传输速率、错误检测和纠正等重要的通信参数。该规范被制定为提供一种可靠和成本效益高的解决方案,可以实现车身电子控制单元之间的简单通信。 按照LIN规范2.1,通信速率可以达到最高19.2 kbps。LIN协议使用了一对双线,其中一根主线用于数据传输,另一根附属线用于电源和地连接。该协议采用了主从结构,其中一个ECU作为主节点,负责发送命令和控制通信过程,其他ECU作为从节点,接收主节点发送的命令并返回响应。 LIN规范2.1还定义了消息的标识符、数据格式和校验位等。标识符可以帮助从节点区分不同的消息类型。数据格式可以根据需要定义为8位或16位,以满足不同的应用要求。校验位用于控制和验证数据的完整性,以确保通信的可靠性。 通过LIN规范2.1,车身电子控制单元可以通过简单的通信方式进行数据交换,从而实现多个车身控制系统的协同工作。此外,LIN协议的低速特性也使得它适用于在封闭的环境中进行通信,能够有效地减少电磁干扰和噪音。 总之,LIN规范2.1是一种重要的汽车通信协议,它为车身电子控制单元之间的低速数据通信提供了可靠和成本效益高的解决方案。通过该规范,车辆的各个控制系统可以高效地进行数据交换,从而提高整车系统的性能和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值