汽车电子类的IC有的采用LIN协议来烧录内部NVM,如英飞凌的TLE8880N和博世的CR665D。

LIN总线帧格式如下,一个LIN信息帧有同步间隔、同步域、标示符域(PID域)、数据域、校验码域。 除起始域与响应间隔,其他部分都是以字节为单位传送,每个字节都有自己的格式,称之为字节域(ByteField)。字节之间有字节间隔(InterByteSpace),在头信息和响应之间有一个响应间隔(ResponseSpace),这两个间隔的最小值为0。

1.同步间隔域(Break Field)

同步间隔域由同步间隔(Break)和同步间隔域间隔符(Break Delimiter) 构成。

2.同步域(Sync Byte Field)

字节域(Byte Field):1 位起始位(Start Bit,显性) + 8位数据位+ 1 位停止位(Stop Bit,隐性),是一种标准UART 数据传输格式。

3.受保护ID域(Protected Identifier Field)

受保护ID 段的前6位叫作帧ID(Frame ID),加上两个奇偶校验位后称作受保护ID 。

ID 的范围在0x00~0x3F之间,共64个。帧ID标识了帧的类别。从机任务对于帧头作出的反应(接收/发送/忽略应答部分)都是依据帧ID 判断的。如果帧ID传输错误,将会导  致信号无法正确到达目的地。因此引入奇偶校验位。其中ID6 是ID0、ID1、ID2、ID4 的奇校验,ID7 是ID1、ID3、ID4、ID5 的偶校验。

校验公式如下,其中“⊕”代表“异或”运算,“¬”代表“取非”运算。

P0 = ID0 ⊕ID1 ⊕ID2 ⊕ID4

P1 = ¬ (ID1 ⊕ID3 ⊕ID4 ⊕ID5)

由公式可以看出,PID不会出现全0或全1的情况,因此,如果从机节点收到了“0xFF”或“0x00”,可判断为传输错误。

4.响应域

LIN协议中,一帧信息的响应域由数据域和校验码域两部分构成。数据域长度(字节数)由标示符域的ID4、ID5决定。

校验和计算方法为将校验对象的各字节作带进位二进制加法(每当结果大于等于256 时就减去255),并将所得最终的和逐位取反,以该结果作为要发送的校验和。接收方根据校验和类型,对接收数据作相同的带进位二进制加法,最终的和不取反,并将该和与接收到的校验和作加法,如果结果为0xFF,则校验和无误。这在一定程度上保证了数据传 输的正确性。

参考:LIN通信协议

LIN总线协议的更多相关文章

  1. [LIN].LIN总线详解

    转自:https://www.2cto.com/kf/201806/754227.html 参考:https://wenku.baidu.com/view/a9b08d786bd97f192379e9 ...

  2. SPI总线协议及SPI时序图详解

    SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚 ...

  3. [I2C]I2C总线协议图解

    转自:http://blog.csdn.net/w89436838/article/details/38660631 1  I2C总线物理拓扑结构      I2C 总线在物理连接上非常简单,分别由S ...

  4. I2C总线协议的简要说明

    为了快速的了解I2C总线协议,此处采用另类的方式进行说明. 倘若你和另外一个人只能通过一个开关加灯泡的装置在不同的两个房间进行交流,以下是很简单能说明的一个模型: 你的房间有一个开关,另外一间房间有一 ...

  5. I2C总线协议的总结介绍

    在看天翔哥的视频之后,他强调要把I2C协议好好研究一下,那么就对一些基本的通信手段是十分有帮助的..那么就来了解一下I2C总线协议的一些知识吧. I2C(Inter-Integrated Circui ...

  6. IIC总线协议---以存储芯片at24c64为例

    IIC总线协议 前言:年前给老师做个红外抄表系统,,现在对当中用到的一些模块总结一下. 1.只有在总线空闲时才允许启动数据传送. 2.在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允 ...

  7. I2C总线协议的软件模拟实现方法

    I2C总线协议的软件模拟实现方法 在上一篇博客中已经讲过I2C总线通信协议,本文讲述I2C总线协议的软件模拟实现方法. 1. 简述 所谓的I2C总线协议的软件模拟实现方法,就是用软件控制GPIO的输入 ...

  8. SPI总线协议及SPI时序图详解【转】

    转自:https://www.cnblogs.com/adylee/p/5399742.html SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接 ...

  9. AHB总线协议

    https://blog.csdn.net/linton1/article/details/79649249 1. 简介 AHB(Advanced High Performance Bus)总线规范是 ...

随机推荐

  1. AttributeError: module 'shutil' has no attribute 'copyfileobj'

    import shutil #1.copyfileobj(源文件,目标文件) 将文件内容复制到另一个文件 shutil.copyfileobj(open('config.log','r'),open( ...

  2. 使用express+mongoDB搭建多人博客 学习(3)connect-flash和mongodb,表单注册

    1.根目录下新建settings.js,存放数据库配置 module.exports={ cookieSecret:"myblog", db:"blog", h ...

  3. 18113 Secret Book of Kungfu 按位DFS

    http://acm.scau.edu.cn:8000/uoj/mainMenu.html 18113 Secret Book of Kungfu 该题有题解 时间限制:1000MS  内存限制:65 ...

  4. Sonar静态代码扫描环境搭建(Windows10)

    一.环境配置: 1.jdk安装及配置 2.MySQL数据库安装----直接调用服务器院端的MySQL数据库,在此基础上创建新的数据库sonar.  数据库的配置如下: 3.sonar官网下载sonar ...

  5. debian中sudo无法使用问题

    原文链接:http://sharadchhetri.com/2013/08/07/sudo-command-not-found-debian-7/ To solve this issue instal ...

  6. Vue实例的4个常用选项

    1.过滤器 filters:在不改变的data的情况下输出前端页面需要的格式数据.例如将小数过滤为整数等.filters是一个对象,里边定义一个function方法,function传入一个参数,fu ...

  7. iOS 循环引用解决方案

    一.BLOCK 循环引用 一般表现为,某个类将block作为自己的属性变量,然后该类在block的方法体里面又使用了该类本身.构成循环引用. // 定义 block 的时候,会对外部变量做一次 cop ...

  8. (八)maven学习之继承

    继承 如果项目划分了多个模块,都需要依赖相似的jar包,只需要创建一个父模块,在它的pom.xml文件中配置依赖的jar包.功能模块只需要继承父模块,就可以自动得到其依赖的jar包,而不需要再每个模块 ...

  9. JavaScript面试系列:JavaScript设计模式之桥接模式和懒加载

    我写的程序员面试系列文章 Java面试系列-webapp文件夹和WebContent文件夹的区别? 程序员面试系列:Spring MVC能响应HTTP请求的原因? Java程序员面试系列-什么是Jav ...

  10. python 基础网络编程2

    python 基础网络编程2 前一篇讲了socketserver.py中BaseServer类, 下面介绍下TCPServer和UDPServer class TCPServer(BaseServer ...