0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LIN总线是什么?CAN/LIN总线的区别与结构

GReq_mcu168 来源:CSDN技术社区 作者:工藤_新一 2021-03-17 17:51 次阅读

花点时间看了一些关于LIN总线基础的内容,把其中的关键点提取了出来,在这里分享给大家。在这里你可能要问“不都有CAN总线了吗?这个LIN总线又是从哪里来的?”其实理由很简单,就是CAN总线太贵啦!处处都用CAN总线的话,那整车的总线架构成本将会变得很高!在一些比如车身电子配件的地方(如车窗、后视镜、大灯、车锁等),我们不需要报文像CAN总线上传输的那样“高速”!各大厂商一拍脑门就研究了这个LIN总线!

本文关注点:有了CAN为什么还会有LIN,CAN和LIN的区别,LIN的优势在哪?

1. 什么是LIN总线?

LIN(Local Interconnect Network)总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议。其目标定位于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信,而这正是CAN总线的带宽和功能所不要求的部分。

40240e9c-861e-11eb-8b86-12bb97331649.jpg

2. CAN/LIN总线区别

由于LIN网络在汽车中一般不独立存在,通常会与上层CAN网络相连,形成CAN-LIN网关节点。

2.1.LIN总线的主从关系

LIN总线采用的是单线传输形式,应用了单主机多从机(有无主动上报的支持?)的概念,总线电平一般为12V,传输速率最高限制为20kbps。由于物理层的限制,一个LIN网络最多可以连接16个节点。

总线任务负责:

调度总线上帧的传输次序

监测数据,处理错误

作为标准时钟参考(不是异步通信?)

接收从机节点发出的总线唤醒命令

从机任务不能直接向总线发送数据,需要接受到主节点发送的帧头后,根据帧头所包含的信息来判断:

发送应答

接收应答

既不接收也不应答

LIN的特点

网络由一个主节点与若干个从节点构成

使用LIN总线可以大幅度削减成本(CAN和Lin都需要收发器,但是Lin属于单线制在线束上节省)

传输具有确定性,传播时间可以提前计算

LIN具有可预测的EMC电磁兼容性)性能,为了限制EMC的强度,LIN协议规定最大传输速率为20kbps

LIN总线提供信号的配置、处理、识别和诊断功能(这些都是UART不具备的,可LIN是怎么实现的呢?)

3.LIN报文帧结构

LIN报文帧包括帧头(hearder)与应答(response)两部分。主机负责发送至帧头;从机负责接收帧头并作出解析,然后决定是发送应答,还是接收应答或不回复。

40eade0a-861e-11eb-8b86-12bb97331649.jpg

(主机)帧头结构包括同步间隔段、同步段、PID段(受保护ID)段,应答部分包括数据段与效验和段。其中值“0”为显性电平、“1”为隐性电平,这点与CAN总线相类似玩转嵌入式micropoint8。在总线上实行“线-与”:当总线有至少一个节点发送显性电平时,总线呈现显性电平;所有节点均发送隐性电平或者不发送信息时,总线呈隐性电平,即显性电平起着主导作用。

411d03ee-861e-11eb-8b86-12bb97331649.jpg

3.1.1.同步间隔段

同步间隔段至少是由13位的显性电平组成,由于帧中的所有间隙或者总线空闲时总线均保持隐性电平状态。所以同步间隔段可以标志一个帧的开始。其中同步间隔段的间隔符至少为1位隐性电平。

416e3872-861e-11eb-8b86-12bb97331649.jpg

3.1.2.同步段

LIN同步以下降沿为判断标志,采用字节0x55(01010101b)进行同步。在从机节点上可以不采用高精度的时钟,由此带来的偏差,需要通过同步段来进行调整。

41b58f4c-861e-11eb-8b86-12bb97331649.jpg

3.1.3.PID段

受保护的ID的前6位叫做帧ID,加上两个奇偶效验码后称作受保护的ID。帧ID的取值范围为0x00~0x3f总共64个,帧ID标识了帧的类别和目的地。从机任务会根据帧头ID作出反应(接收/发送/忽略应答)。其中P0与P1效验如下:

41ef69c4-861e-11eb-8b86-12bb97331649.jpg

LIN总线根据帧ID号的不同,把报文分为信号携带帧、诊断帧、保留帧。

424043a8-861e-11eb-8b86-12bb97331649.jpg

PS:从机应答帧是一个完整的帧,与(主节点)帧结构中的“应答”不同!

3.1.4.数据段

数据段可以包含1-8个字节,其中包含有两种数据类型,信号(singal)和诊断消息(diagnostic messages)。信号由信号携带帧传递,诊断消息由诊断帧传递。

42707960-861e-11eb-8b86-12bb97331649.jpg

协议中并没有规定哪一部分显示数据长度码的信息(这点与CAN总线不同),数据的内容与长度均是由系统设计者根据帧ID事先约定好的。

总线上的数据是以广播形式发出,任何节点均可以收到,但并非对每个节点有用(与CAN相同)。具体到发布与接听是由哪个节点进行完成这个取决于应用层的软件配置,一般情况下,对于一个帧中的应答,总线上只存在一个发布节点,否则就会出现错误。事件触发帧例外,可能出现0,1,多个发布节点。

3.1.5.效验和段

效验和段是为了对帧传输内容进行效验。效验分为标准型效验与增强型效验。采用标准型还是增强型是由主机节点管理,发布节点和收听节点根据帧ID来判断采用哪种效验和。

42d9cfc8-861e-11eb-8b86-12bb97331649.jpg

4.LIN总线波形

43151772-861e-11eb-8b86-12bb97331649.jpg

5.LIN总线的通讯

上图展示的是LIN总线的通讯方式,可以看出无论什么时候帧头总是由主机节点发布,当主机节点想发布数据时,整个帧全部由主机节点发送。当从机节点想发布数据时,帧头部分由主机节点发布,应答部分由从机节点发布(主机怎么知道从机节点想发布数据,那肯定是主机节点无数据可发,故只发了帧头?),这样其余节点都能收到一个完整的报文帧。可以很直接的观察到,LIN总线的通讯都是由主机节点发起的玩转嵌入式micropoint8,只要合理的规定要每个节点的配置,这样就不会存在总线冲突的情况(事件触发帧冲突时采用采用冲突解决进度表)。

帧类型

5.1.无条件帧

无条件帧是具有单一发布节点的,无论信号是否发生变化,帧头均会被无条件应答的帧。

434d0a24-861e-11eb-8b86-12bb97331649.jpg

如上图中帧ID=0x30应答部分的发布节点为从机节点1,收听节点为主机节点,应用在从机节点向主机节点报告自身状态;帧ID=0x31中,应答部分为主机节点,收听部分为从机节点,应用在主机节点向从机节点发送消息;帧ID=0x32中应答部分的发送节点为从机节点2,收听节点为从机节点1,应用与从机节点之间的通信。

5.2.事件触发帧

事件触发帧是主机节点在一个帧间隙中查询各从机节点的信号是否发生变化时使用的帧。当存在多个发布节点时,通过冲突解决进度表来解决冲突。

当从机节点信号发生变化的频率较低的时候,主机任务一次次地查询各个节点信息会占用一定的带宽。为了减小带宽的占用,引入了事件触发帧的概念。其主要原理就是:当从机节点信息状态没有发生变化的时候,从机节点可以不应答主机发出的帧头;当有多个节点信息同时发生变化的时候,同时应答事件触发帧头会造成总线的冲突。当主机节点检测到冲突时,便会查询冲突解决进度表来依次向各个节点发送无条件帧(无条件帧只有能1个节点应答)来确定从机节点的信息状态。

438675c0-861e-11eb-8b86-12bb97331649.jpg

与事件触发帧关联的多个无条件帧需要满足以下5个条件:

数据段所包含的数据字节数等长 使用相同的效验与类型数据段的第一个字节为该无条件帧的受保护ID,这样才能够知道应答是哪个关联的无条件帧发送出来的 由不同的从机节点发布不能与时间触发帧处于同一个进度表中。

5.2.1.偶发帧

偶发帧是主机节点在同一帧时隙中当自身信号发生变化时向总线启动发送的帧。当存在多个关联的应答信号变化时,通过预先设定的的优先级来仲裁。与事件触发帧类似,偶发帧也定义了一组无条件帧。规定偶发帧只有由主机节点发布。

偶发帧的传输可能出现三种情况:

当关联的无条件帧没有信号发生变化,这是主机连帧头也不需要发送。

当关联的一个无条件帧信号发生变化则发送该帧。

当有多个无条件帧发生信号变化时,则按照事先规定要的优先级依次发送。

5.2.2.诊断帧

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

5.2.3.保留帧

保留帧的ID=0x3e与0x3f,为将来扩张需求用。

5.3.进度表

进度表是帧的调度表,规定了总线上帧的传输次序以及传输时间。进度表位于主机节点,主机任务根据应用程需要进行调度。进度表可以有多个,一般情况下,轮到某个进度表执行的时候,从该进度表的入口处开始执行,到进度表的最后一个帧时,如果没有新的进度表启动则返回到当前进度表的第一个帧开始执行玩转嵌入式micropoint8,也有可能在执行到某个进度表时发生中断,跳到另一个进度表后再返回,如事件触发帧就是一个典型的例子。

6.状态机的实现

6.1.主机状态机

445d2994-861e-11eb-8b86-12bb97331649.jpg

6.2.从机状态机

从机任务负责发布或者接听帧的应答状态,包括连两个状态机:同步间隔段与同步段检查器、帧处理器

4492a29a-861e-11eb-8b86-12bb97331649.jpg

6.3.从机任务状态机

44c8e800-861e-11eb-8b86-12bb97331649.jpg

编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN总线
    +关注

    关注

    145

    文章

    1812

    浏览量

    129592
  • LIN
    LIN
    +关注

    关注

    4

    文章

    189

    浏览量

    39868

原文标题:LIN总线是什么?高速CAN、容错CAN、LIN总线区别讲解

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LIN数据总线ESD保护方案

    LIN总线(Local Interconnect Network)是一种用于车辆电子系统中的串行通信协议。LIN接口与其他外露的接口一样,也会受到静电放电 (ESD) 的影响。电子工程师需设计具有
    的头像 发表于 04-21 17:56 575次阅读
    <b class='flag-5'>LIN</b>数据<b class='flag-5'>总线</b>ESD保护方案

    LIN总线的两种检测方法

    在测量LIN总线时要注意,当LIN总线在不传输数据时,电压为12V;LIN是主从协议总线,从控制
    发表于 11-20 16:45 995次阅读
    <b class='flag-5'>LIN</b><b class='flag-5'>总线</b>的两种检测方法

    LIN总线的基础知识

    LIN的全称为Local Interconnect Network。LIN主要功能是为CAN总线网络提供辅助功能,应用场合有智能传感节点、自动车窗节点等。
    的头像 发表于 11-08 15:19 1335次阅读
    <b class='flag-5'>LIN</b><b class='flag-5'>总线</b>的基础知识

    虹科方案|LIN/CAN总线汽车零部件测试方案

    虹科的LIN/CAN总线汽车零部件测试方案是一款优秀的集成套装,基于Baby-LIN系列产品,帮助客户高效完成在测试、生产阶段车辆零部件质量、功能、控制等方面的检测工作。
    的头像 发表于 09-20 10:24 537次阅读
    虹科方案|<b class='flag-5'>LIN</b>/<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>汽车零部件测试方案

    什么是LIN总线?lin总线can总线有何区别

    LIN(Local Interconnect Network)总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议。其目标定位于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信,而这正是CAN
    发表于 09-13 16:35 6606次阅读
    什么是<b class='flag-5'>LIN</b><b class='flag-5'>总线</b>?<b class='flag-5'>lin</b><b class='flag-5'>总线</b>和<b class='flag-5'>can</b><b class='flag-5'>总线</b>有何<b class='flag-5'>区别</b>

    Lin收发器原理图 Lin总线学习笔记

    从事汽车MCU开发的小伙伴,对CAN/CAN FD、Ethernet、Lin这几种总线,应该比较熟悉,即使没具体开发过,也应该听过。如果想更深刻的理解这些
    的头像 发表于 08-30 16:17 2848次阅读
    <b class='flag-5'>Lin</b>收发器原理图 <b class='flag-5'>Lin</b><b class='flag-5'>总线</b>学习笔记

    什么是LIN总线?车载总线LIN总线概述

    LIN(Local Interconnect Network)即局部连接网络,也被称为“局域网子系统”即LIN总线CAN总线网络下的子系统
    发表于 07-26 10:12 8754次阅读
    什么是<b class='flag-5'>LIN</b><b class='flag-5'>总线</b>?车载<b class='flag-5'>总线</b>之<b class='flag-5'>LIN</b><b class='flag-5'>总线</b>概述

    LIN总线工作原理介绍

    CAN总线)提供辅助功能,因此LIN总线是一种辅助的总线网络。在不需要CAN
    的头像 发表于 07-18 11:08 2890次阅读
    <b class='flag-5'>LIN</b><b class='flag-5'>总线</b>工作原理介绍

    LIN总线的物理层

    大家好,本文章向大家介绍LIN总线的物理层。 LIN相对于CAN是一种低成本的通信总线。 出于成本原因与
    的头像 发表于 07-13 15:46 1870次阅读
    <b class='flag-5'>LIN</b><b class='flag-5'>总线</b>的物理层

    LIN总线物理层与LIN通信原理及帧结构

    大家好,本文章向大家介绍LIN总线的物理层。
    发表于 07-12 10:11 7184次阅读
    <b class='flag-5'>LIN</b><b class='flag-5'>总线</b>物理层与<b class='flag-5'>LIN</b>通信原理及帧<b class='flag-5'>结构</b>

    LIN总线简介

    大家好,本合集将系统带领大家一起深入学习LIN总线协议。如果您有兴趣请持续关注本公众号《LIN总线协议合集》。
    发表于 07-10 09:48 1124次阅读
    <b class='flag-5'>LIN</b><b class='flag-5'>总线</b>简介

    LIN总线网络管理与状态管理#汽车Lin总线

    LIN总线
    北汇信息POLELINK
    发布于 :2023年06月07日 08:43:44

    LIN通信的调度表及帧类型#汽车Lin总线

    LIN总线
    北汇信息POLELINK
    发布于 :2023年06月06日 19:55:39

    LIN总线使用了一块9s12xep板,无法从LIN总线获得信号是怎么回事?如何解决?

    使用 SCI0 和 SCI1 作为 Lin 总线。所以我更改了 .npf 文件。 3.CANoe无法从开发板获取任何信号。 Demo板和我的板有很大区别。演示板使用 MC33905S 用于 L
    发表于 06-01 06:14

    汽车LIN总线的起源及概述#汽车LIN总线

    LIN总线汽车
    北汇信息POLELINK
    发布于 :2023年05月16日 13:58:39