汽车总线LIN总线协议

一、介绍
LIN的全称为Local Interconnect Network,是一种汽车上用的总线,实现一根信号线和多台设备通信

二、原理
1、硬件原理
本质上就是串口+LIN驱动芯片
在这里插入图片描述
当然需要单片机串口支持lin模式,也就是能发出11bit的低电平

2、软件上
常用速率波特率:最大传输速率为20Kbps。建议的通信速率如下,低速2400bps,中速9600bps,高速19200bps

流程上
和i2c类似,因为只有一根数据线,收发都是在上面,所以用的应答模式,分为lin主机和lin从机,一个网络里面只有一个主机,多个从机,上图中,mcu就是主机,其他就是从机

帧协议
在这里插入图片描述
header:显性间隔break+同步场sync+标识符pid
break就是11bit以上的低电平
sync就是0x55
pid就是id+校验,id 6bit,校验2bit
在这里插入图片描述
pid校验算法

short pid_check(unsigned char LIN_ID)
{
	short PID=0x00;
	short p0=0,p1=0;

	p0 = (LIN_ID & 0x01) ^ ((LIN_ID & 0x02) >> 1) ^ ((LIN_ID & 0x04) >> 2) ^ ((LIN_ID & 0x10) >> 4); //按位异或
        p0 = p0 & 0x01; 
        p1 = ~(((LIN_ID & 0x02) >> 1) ^ ((LIN_ID & 0x08) >> 3) ^ ((LIN_ID & 0x10) >> 4) ^ ((LIN_ID & 0x20) >> 5));
        p1 = p1 & 0x01; 

	PID = (p1 << 7) | (p0 << 6) | LIN_ID;
	return PID;
}

所谓奇偶校验就是在发送的每一个字节后都加上一位,使得每个字节中1的个数为奇数个或偶数个。接收方通过计算数据中1的个数是否满足奇偶性来确定数据是否有错

response:数据字节+校验和场
数据字节:就是要发送的数据或者从机要回的数据
校验和场:校验
校验和算法:
累加所有字节。对每次加和进行判断,如果和大于0xFF,那么就把高八位的1,与低八位相加,其实就是低八位加1(翻转八位和)。得到最后的结果后,取其反码,

unsigned char Lin_Checksum(unsigned char id , unsigned char *data)
{
	unsigned char t ;
	unsigned short sum ;

	sum = data[0];
	if(id == 0x3c)			// 如果是诊断帧,用经典校验
	{
		
		for(t=1;t<8;t++)
		{
			sum += data[t];
			if(sum&0xff00)
			{
				sum&=0x00ff;
				sum+=1;
			}
		}
		sum = ~sum;	
		
		return (u8)sum ;
	}
	
	for(t=1;t<8;t++)
	{
		sum += data[t];
		if(sum&0xff00)
		{
			sum&=0x00ff;
			sum+=1;
		}
	}
	sum+=Lin_CheckPID(id);
	if(sum&0xff00)
	{
		sum&=0x00ff;
		sum+=1;
	}
	sum = ~sum;	
	return (u8)sum ;
}

分为header和响应,header是主机发出,响应是从机发或者主机发
当主机给从机发送数据:主机发送header和响应
当主机读从机数据:主机发header,从机收到header给出相应
在这里插入图片描述

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《汽车LIN总线基本协议概述》是一份关于LIN(Local Interconnect Network,局域互连网络)总线基本协议的概述文档。LIN总线是一种用于汽车电子控制系统中的串行通信总线。 该文档主要介绍了LIN总线的基本概念和工作原理。LIN总线的主要目标是在汽车内部各个电子控制单元(ECU)之间提供低成本、低功耗、低带宽的通信方式。它的设计主要针对一些辅助功能或低速数据传输的应用,例如车门控制、窗户操作、座椅调节等。 文档首先介绍了LIN总线的物理特性,包括总线线缆、电压电平、波特率等方面。LIN总线采用单线传输数据,通过电平变化来传输0和1的信息。波特率通常较低,通常在10Kbps到20Kbps之间,以满足低速应用的需求。 接着,文档介绍了LIN总线的组成和架构。LIN总线由一个主节点和多个从节点组成。主节点负责控制整个通信过程,而从节点则负责接收指令并执行相应的功能。主节点和从节点之间通过命令和数据帧进行通信。其中,命令帧用于主节点向从节点发送指令,而数据帧用于从节点向主节点发送数据。 文档还详细介绍了LIN总线协议和通信流程。LIN总线采用主从式通信方式,主节点负责向从节点发送命令和控制信息,从节点则负责向主节点发送数据和状态信息。通信过程中,主节点发送帧头、帧ID、数据和校验位,从节点接收数据并进行校验和处理。 最后,文档介绍了LIN总线的优点和应用范围。由于LIN总线具有低成本、低功耗和低带宽的特点,它在汽车电子控制系统中得到广泛应用。特别适合一些辅助功能和低速数据传输的场景。 总的来说,《汽车LIN总线基本协议概述》是一份对LIN总线基本协议进行概述的文档,详细介绍了LIN总线的物理特性、组成架构、协议流程以及应用范围。通过阅读该文档,读者可以了解到LIN总线作为汽车电子控制系统中的一种串行通信总线的基本工作原理和应用背景。 ### 回答2: 《汽车LIN总线基本协议概述.pdf》是一份关于汽车LIN总线基本协议的文档概述。LIN(Local Interconnect Network)总线是一种低成本、低速率的串行通信协议,主要用于汽车电子系统的通信。 该文档主要介绍了LIN总线协议的基本原理和功能。LIN总线是一种单总线拓扑结构,用于连接车内各个电子控制单元(ECU)。它通过一个主节点(Master)和多个从节点(Slave)之间的通信实现数据传输和控制。 LIN总线协议的核心是帧(Frame)结构。每个帧由一个起始位(Sync Byte)和多个数据位(Data Byte)组成。起始位用于同步节点之间的数据传输,数据位用于传输具体的信息。帧中还包含了识别节点和数据校验的位。整个通信过程由主节点发起并控制。 文档进一步介绍了LIN总线的通信速率和错误检测机制。LIN总线的通信速率通常在10kbps到20kbps之间,远低于其他更高速的总线标准如CAN(Controller Area Network)。这使得LIN总线更适合于低带宽、低成本的应用场景。为了保证数据传输的可靠性,LIN总线使用了校验和和冗余功能来检测和纠正错误。 此外,文档还涵盖了LIN总线协议的应用领域和优点。LIN总线广泛应用于汽车电子系统中的低速传感器和执行器,如车载仪表板、窗户控制、座椅调节等。相比于其他高速总线协议LIN总线具有低成本、易于集成和实现的优势。 总之,《汽车LIN总线基本协议概述.pdf》这份文档提供了关于LIN总线协议的基本原理、功能和应用领域的概述,对于了解和应用LIN总线协议的人员具有一定的参考价值。 ### 回答3: 《汽车LIN总线基本协议概述.pdf》 是关于汽车LIN总线基本协议的概述文件。LIN总线是一种局域网协议,主要用于控制车辆内部电子设备的通信和控制。 该文件详细介绍了LIN总线协议的基本原理和功能。LIN总线协议是在ISO 9141-2标准上定义的,主要用于实现车内不同电子设备之间的通信。相比于CAN总线协议LIN总线协议的成本更低,适用于低速和简单通信环境。 根据该文件,LIN总线协议主要包括以下几个基本组件和功能: 首先是主-从结构。在LIN总线中,有一个主节点和多个从节点。主节点负责发送命令和控制信息,从节点负责接收命令并执行相应的动作。主节点通常是车辆的电子控制单元(ECU),从节点可以是各种车内设备,如仪表板、空调系统等。 其次是帧和帧顺序。LIN总线协议通过定义不同的帧类型来传输数据。帧包括同步域、标识域、数据域和校验域。帧的顺序由主节点控制,通过标识域来区分不同的帧类型。 再次是数据传输。LIN总线协议支持不同的数据传输方式,包括广播传输和单点传输。广播传输是指主节点向所有从节点发送相同的数据,而单点传输是指主节点向特定的从节点发送数据。 最后是错误处理和故障诊断。由于车辆电子系统的复杂性和环境的不可靠性,错误处理和故障诊断是LIN总线协议的重要部分。该协议定义了不同的错误和故障码,并提供了相应的处理机制和诊断方法。 总的来说,《汽车LIN总线基本协议概述.pdf》提供了对LIN总线协议的基本了解和概述。通过该文件,读者可以了解LIN总线的基本原理、功能和应用,以及如何实现有效的车辆内部设备通信和控制。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值