汽车总线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给出相应
汽车总线LIN总线协议相关推荐
- 一文读懂CAN总线/LIN总线/FlexRay/以太网
20世纪80年代后, MCU和MPU开始在汽车中被广泛使用,汽车电子化进程开始逐年加快.近几年,智能化和网联化在汽车行业兴起,汽车电子化程度更上一层楼.据统计,当前汽车的创新70%来源于汽车电子产品, ...
- 细说汽车电子通信总线之LIN总线协议详解
内容提要 1. LIN总线概述 1.1 LIN总线特点及发展历史 1.2 LIN 总线协议的物理层(收发器) 2. LIN总线报文帧结构(Message Frame Structure)详解 2.1 ...
- LIN总线协议详解7(LIN帧收发的硬件实现)
帧收发的硬件实现 目录 帧收发的硬件实现 一.组成 二.协议控制器 1.协议控制器介绍 2.实现方法 三.总线收发器 1.实现方案 2.采用IC厂家的集成方案 四.LIN 总线 五.时钟源 六.EMI ...
- 测量汽车LIN总线信号及波形分析-示波器
汽车网络通信中除了CAN的通信方式外,还有另外一种低成本通信方式--LIN系统.它的英文是"Local Interconnect Network",LIN总线基于UART/SCI( ...
- 车载以太网3 时分多址TDMA和车载总线LIN
第一篇浅谈车载以太网聊了从传统以太网到车载以太网的演化和异同,从鲍勃梅特卡夫70年代的草图可以看出最早的传统以太网其实并不像现行的家用商用以太网一样.我们常见的以太网的结构一般是基于路由器的星型或复杂 ...
- 车用技术总线 | 从应用角度了解下LIN总线
注意:本文约4850字,完整阅读时间约13分钟. 主要内容 LIN总线概述 LIN总线的应用 示例:LIN总线和CAN总线的窗户控制 LIN总线的信号报文 记录LIN总线数据 LIN总线数据记录应用案 ...
- 汽车LIN总线协议(超详细)-1
LIN,Interconnect Network,适用于速度和可靠性要求不高.低成本的场合,LIN的使用场景包括车窗.天窗.座椅.门锁.空调.照明等舒适性相关的地方 LIN网络 主机节点/从机节点 不 ...
- lin总线可以控制几个节点_汽车上除了CAN通讯还有另外一种总线你需要知道
本文首发自微信公众号"汽车技术馆"! 在前几天的一篇关于UDS诊断的文章中给大家提到了LIN的UDS实现标准,原文链接如下: 李大人:UDS(ISO14229)诊断协议-LINz ...
- LIN总线增强型校验_雷洪钧:汽车总线及车载网技术概述
点击蓝字,一键关注 走进<公共交通资讯>,及时掌握公交领域的行业政策.管理理论.科技信息.专家观点和先进经验... ... 张晓亮:我国城市公共交通智能化发展情况分析 王竹:浅谈公交驾驶员 ...
- lin通讯从节点同步间隔场_基于LIN总线的汽车分级制网络结构
原标题:基于LIN总线的汽车分级制网络结构 1.引言 汽车总线中通讯节点和数据流量持续增加,节点日益复杂,使得汽车总线在重量.布置.成本.通信效率等方面面临困境,走出这一困境的出路在于实行汽车总线的网 ...
最新文章
- php pkcs 1格式的公钥,解说--2--微信支付RSA公钥PKCS1格式转化成PKCS8格式的公钥
- Web 开发中很实用的10个效果【附源码下载】
- c语言 内存搜索,怎么在一段内存中搜索一个十六进制串
- 基于EasyUI的Web应用程序及过去一年的总结
- 做自适应网站专业乐云seo_自适应网站方案品牌乐云seo
- 聊聊如何才能进大厂实习~
- long 雪花算法_雪花算法(snowflake)
- php自带解压缩,PHP自带ZIP压缩、解压缩类ZipArchiv使用指南_PHP教程
- 并查集应用——PAT甲级2019春季
- 【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
- ACWing 893. 集合-Nim游戏​​​​​​​ (SG函数模板题)
- Java scv文件处理类
- 00023 自考高等数学
- editormd图片编辑( 结合SpringBoot 实现)
- [数值计算-11]:多元函数求最小值 - 偏导数与梯度下降法Python法代码示例
- C语言 计算字符串长度的几种方法
- 负二项分布(一种离散分布)
- 2019圣诞节 — 徒步看风景
- android自定义控件(星级评分)
- 聊天链接改单系统源码