news 2026/4/23 5:25:23

LIN总线

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LIN总线

LIN总线

全称

LIN:Local Interconnect Net

本地连接网络

连接方式

1根信号线

1个主节点,最多16个从节点

主节点:通常既可以接收CAN总线信号,也可以接收LIN总线信号

从节点:可以根据主节点的请求,发送信号

特点

  1. 速度不高,容错率低

    速度:1-20kbit/s

    长度:最多40米

  2. 数据长度可变

    2,4,8字节

  3. 错误检查,校验,配置

    数据内容包含

  4. 工作电压 12V

  5. 没有信号优先级的概念(总线仲裁),只有按顺序发送数据

应用场景

汽车车窗,雨刮器,空调,座椅控制等设备

报文格式

同步间隔段

作用:提示整个总线上的设备,告诉它们我要发消息了。

方法:常见连续13+1或者20个0表示

注意

在LIN总线中,0用低电平0V表示,1用高电平12V表示。整个总线上的显性电平是0V,如果同时遇到12V和0V,则以0V表示

同步段

由于时序等原因,不同设备间的信号读取可能不同步,因此设置同步段使得各设备之间实现同步读取

通常同不断使用0x55表示,即二进制01010101。LIN主节点发送同步段信号是从低位向高位发送,即首次应发送1.

这里注意,对照上图中发现第一位是0,这是因为同步段发送的第一位是起始位,这一位不算。必须从第二个开始计算。同时,最后一位也不算,同步段将其定义为停止位

受保护段(PID)

全称:Protected ID

长度:8位

组成:6位ID和2位校验

作用:告诉总线上的设备,现在要干什么

ID定义
ID值帧类型
0x00~0x3B信号携带帧:无条件帧,事件触发帧,偶发帧
0x3C诊断帧:主机请求帧
0x3D诊断帧:从机应答帧
0x3E用户定义帧
0x3F保留帧

其中,低4位组成了设备在总线中的ID值,6位中的高2位为校验位,只能是0,1,2,3

校验位

作用:保证报文传输正确

计算公式:

p0 = ID0 xor ID1 xor ID2 xor ID4 p1 = NOT( ID1 xor ID3 xor ID4 xor ID5)

从节点读取受保护段数据后分析校验位是否正确以判断报文是否正确。

------------上述部分一定是主节点发送------------

接下来的部分是主节点或从节点发送

帧应答

长度:2,4,8字节

校验和段

作用:对帧传输内容进行校验

类型:标准型校验,增强型校验

  • 标准型校验:校验数据段各字节,计算公式如下,忽略所有的进位
Checksum_Classic = ~(Data_0 + Data_1 + ... + Data_7)

比如,现在有8个字节的数据

02 07 00 00 00 00 00 00

根据行数公式计算结果为F6

如果存在进位,则需要进行自动回卷,即当和超过0xFF(即255)时,仅保留低8位加1(处理进位),无需额外的进位检查。

比如,现在有数据如下

80 80

相加后进行自动回卷,其值为0x01,取反后的校验和结果为0xFE

  • 增强型校验:数据段各字节+PID,计算公式如下,忽略所有的进位
Checksum_Enhanced = ~(Protected_ID + Data_0 + Data_1 + ... + Data_n)

假设 PID =0x30(帧 ID 0x30 经过奇偶校验后得到的值)

数据为 2 字节:0x4A0x55

  1. 求和(带进位回卷)
    sum = 0x30 + 0x4A + 0x55 = 0xCF
    无进位,sum = 0xCF
  2. 取反
    checksum = ~0xCF = 0x30

校验和 = 0x30

进位的例子

假设 PID =0x80

数据为0x80,0x80

  1. 求和(带进位回卷)

0x80 + 0x80 + 0x80 = 0x180
低 8 位 =0x80,进位 =0x01
回卷:0x80 + 0x01 = 0x81

  1. 取反

~0x81 = 0x7E
校验和 = 0x7E

帧分类及用途

无条件帧(最常用)

主节点发送报文头给指定从节点请求信息,从节点一定会应答

上图是无条件帧的三种情况。这里要说明,其核心思想是想要从机做什么,则主机发送什么报文

例如:

想要从机1发送报文给主机,那么主机1就发送ID=0x30的PID

想要主机1发送报文给所有主机,因为主机即可以发送也可以接收,所以主机可以看作master+slave,那么发送ID=0x31的PID

想要从机2向从机1发送报文,那么主机发送ID=0x32的PID到LIN总线

事件触发帧

主机不挨个点名,而是问“谁有情况?”,有情况(数据更新)的从机再自己站出来回答

如果有且仅有一个从机有数据更新,它就发送。响应数据的第一个字节是它自己的保护ID(PID),这样主机就知道是谁汇报的

如果多个从机同时有数据更新,它们会同时发送响应,导致总线冲突。当主机检测到冲突时,它会暂停当前调度表,并跳转到“冲突解决调度表”。这个特殊调度表会依次单独询问所有相关的从机,保证不遗漏任何重要数据。

偶发帧

实际用的很少

诊断帧

主节点向从节点发送0x3CPID,数据段带上请求让从节点进行某种诊断。紧接着主节点向从节点发送0x3dPID,让从节点将诊断数据发回主节点。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 5:16:30

Qwen3.5-9B-AWQ-4bit数据库课程设计辅助:从ER图到SQL语句生成

Qwen3.5-9B-AWQ-4bit数据库课程设计辅助:从ER图到SQL语句生成 1. 数据库课程设计的痛点与挑战 每到学期末,计算机专业的学生们都会面临一个共同的难题——数据库课程设计。这个看似简单的任务,实际上包含了从需求分析到ER图绘制&#xff0c…

作者头像 李华
网站建设 2026/4/23 5:08:44

告别输入法词库迁移烦恼:深蓝词库转换工具的完整实战指南

告别输入法词库迁移烦恼:深蓝词库转换工具的完整实战指南 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾经因为更换电脑、操作系统或者输入法&a…

作者头像 李华
网站建设 2026/4/23 5:04:32

# 发散创新:用Python构建高保真虚拟原型——从概念到可运行代码的全流程实践在嵌入式开发、物联网设备设计与工业

发散创新:用Python构建高保真虚拟原型——从概念到可运行代码的全流程实践 在嵌入式开发、物联网设备设计与工业仿真中,虚拟原型(Virtual Prototype) 正逐步取代传统硬件搭建流程。它不仅大幅降低试错成本,还能实现早期…

作者头像 李华
网站建设 2026/4/23 5:02:57

nli-MiniLM2-L6-H768从零开始:小白也能掌握的零样本文本分类方法论

nli-MiniLM2-L6-H768从零开始:小白也能掌握的零样本文本分类方法论 1. 工具介绍 1.1 什么是nli-MiniLM2-L6-H768 nli-MiniLM2-L6-H768是一个基于轻量级自然语言推理(NLI)模型开发的本地零样本文本分类工具。它最大的特点是无需任何训练数据,只需要输入…

作者头像 李华