Lin协议介绍

LIN总线

LIN 是 Local Interconnect Network 的缩写,是基于 UART/SCI(通用异步收发器/串行通信接口)的低成本串行通信协议。

总线简介

Lin总线是一主多从的单总线,总线电平12V,位传输速率最高20kbps,最大连接数为16个节点,其中有一个主机节点,其它都为从机节点,主机节点包含主机任务和从机任务,而从节点只有从机任务。

在Lin协议中,信息是以帧为基本单元进行传输的,帧结构包含帧头和应答两个部分,值得注意的是,帧头和应答组成一个完整的帧结构,但是帧头和应答并不一定是同一个节点发出,帧头是由主机任务发出,而主机任务只有主节点有,所以帧头也可以说是只能由主节点发出,应答是由从机任务在收到帧头,对帧头进行解析后决定是否发送应答或接收应答,还是不作反应,所以应答由从机任务给出:

这种传输机制反映在单总线上就是总是一个完整的帧结构,但是对于各节点应答的接收发送则是根据主机任务类型而定:

主节点:

发送帧头+发送应答数据

发送帧头+接收应答数据

(若帧头发出后无响应则会触发报警机制)

从节点:

接收帧头+接收应答数据

接收帧头+发送应答数据

帧头包含同步间隔段,同步段,受保护ID段,应答包含数据段,校验和段,其共同组成了一个完整的帧。

帧结构

同步间隔段用来标识一个帧的起始,其长度大于等于13个显性电平("0"为显性电平,"1"为隐性电平)。

同步段用来给从节点进行统一通信速率的,不同节点之间可能存在时钟偏差,同步段是以主节点自身时钟为基准,通过UART格式发送的字节0x55,从节点可以根据该字节对自身位速率进行调整。

受保护 ID 段的前 6 位叫作帧ID,加上两个奇偶校验位后称作受保护 ID。 帧 ID 的范围在 0x00~0x3F 之间,共 64 个。帧 ID 标识了帧的类别和目的地。从机任务对于帧头作出的反应(接收/发送/忽略应答部分)都是依据帧 ID 判断的。如果帧 ID 传输错误,将会导致信号无法正确到达目的地,因此引入奇偶校验位。 这个帧ID在不同协议版本有所区别,1.2版本的ID4和ID5用来标识应答数据长度,后面的版本可能是为了扩展ID范围将这个功能取消了。

数据段是在应答中包含的,数据段长度为1~8字节,由设计者提前根据帧ID事先约定。

校验和段也是在应答中包含,是对一帧数据内容所做的校验。

协议版本不同,所使用到的校验和标准有所区别:

帧类型

协议根据帧ID划分了不同类型的帧,不同类型的帧包含的信息和作用也不相同:

无条件帧即当帧头发送到总线时,必须有从机任务对该帧头进行应答,当帧头发送到总线,此时从机任务必须对此帧头做出应答,从机任务可以是主节点的,也可以是从节点的。

事件触发帧是减少带宽占用引入的一个概念,当从节点信号变化频率较低时,如果主节点每次想要获取从节点状态时,采用轮询的方式会占用相当一部分带宽,所以采用事件触发帧,事件触发帧帧头发出后,当从机节点状态无变化时不作应答,但是当多个节点状态变化并进行应答后,主机节点则需要轮询各个节点状态。

偶发帧是主机节点自身状态变化后向总线启动发送的帧,偶发帧帧头和应答都由主节点进行发布。

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

保留帧的帧 ID 为 0x3E 和 0x3F,为将来扩展用。

相关推荐
碧海银沙音频科技研究院3 小时前
基于炬芯ATS308X 设计的上位机usb 串口音乐EQ调节工具
stm32·单片机·嵌入式硬件
三佛科技-134163842127 小时前
过认证72W碳化硅方案(12V6A)主控HN1562+HN36228V 典型应用电路、变压器参数分享
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
Zwawa8 小时前
串口为什么会丢字节:从轮询到中断和环形缓冲区
c语言·单片机·嵌入式
Brilliantwxx8 小时前
【STM32】 内部 Flash 详解:寄存器逐位拆解 + 工作流程顺序全讲 + EEPROM再实现
stm32·单片机·嵌入式硬件·1024程序员节
木子单片机8 小时前
基于单片机的DS18B20温度传感器测温系统设计
单片机·嵌入式硬件·51单片机·keil
华清远见IT开放实验室8 小时前
实验室建设案例 | 安徽三联学院物联网实验室
stm32·单片机·嵌入式硬件·物联网·华清远见
深圳光特通信豆子10 小时前
TTL 光模块在工业控制与串口通信中的应用指南(10M BIDI 单模系列)
单片机·嵌入式硬件
桀人10 小时前
SPI概念引入
stm32·单片机·嵌入式硬件
离凌寒11 小时前
一、基于stm32+freertos下LD2410D和R60ADB1两款雷达的使用效果
stm32·单片机·嵌入式硬件
NamoAmitabha12813 小时前
嵌入式开发中的定时器---deepseek
单片机·嵌入式硬件