在最初几年,汽车采用独立自主电子系统。后来很快意识需要一种支持系统间相互通信的机制。这不仅催生出诸如能够协调各个电子系统的串行通信信道(总线)等网络,同时也促进了汽车整体功能改进。
图1:多个车载电子系统
>>> 汽车网络:
1983年,博世公司开始开发控制器局域网(CAN)总线,并且在1986年正式发布相关协议。目前有多种不同汽车总线标准,但是CAN仍然是最流行的标准。在CAN网络中,所有节点(源于不同的ECU)都担当主节点(即,不存在主从拓扑结构),而且并不分配具体地址。而是由消息携带标识符。
在给定时间,多个节点可以同时向CAN总线发送数据。然后由消息标识符帮助确定消息的优先级。最高优先级的消息会使CAN总线进入显性状态(dominant state),而所有其他节点会停止发送。这些节点实际上是收发器,除发送消息之外,其可以根据特定功能从总线查找特定消息。因此,CAN总线所连接的不同节点之间会出现信息流。
由于CAN会进行填充错误、误码、校验和错误、误帧以及应答错误等多项错误检查, 因此具有高可靠性。CAN支持高达1Mbps的数据传输速率,从而成为连接汽车关键功能ECU(如:变速箱、温度传感器等)的默认选择。
>>> 为什么选择LIN?
但是,汽车电子的作用并非仅仅局限于这些关键单元。车身电子市场多年来一直在增长。典型车身控制应用包括座椅、车窗、智能雨刷以及汽车空调传感器等。对车身电子的关键要求是确保汽车更舒适、更安全。尽管这些系统可能不要求像关键ECU那样的高安全性,但是它们仍然需要一定的汽车网络通信标准。
其所需不同网络系统与类型分类如下:
- 常规车身与动力总成应用采用具有实时特性的协议,主要是需要CAN;
- 多媒体应用需要更高的带宽与速度,甚至需要无线互联。所采用的网络包括Bluetooth、MOST 或Firewire;
- 安全关键应用需要具备可靠性和容错的协议。时间触发CAN(TT-CAN)和FlexRay是其所采用的典型网络;
- 座椅、车窗、雨刷,甚至某些复杂的ECU中的智能传感器及促动器具有更低的通信需求。这些应用通常采用定制OEM协议寻址,其通信并不需要采用CAN或FlexRay接口。
对于最后一类应用而言,由于OEM厂商采用其自有协议,因此OEM的供应商在没有标准情况下设计不同系统会面临一些难题,如:复杂性与费用。所以,不同汽车制造商在二十世纪九十年代后期共同成立了LIN联盟。该联盟在2002年终于实现了此类系统的联网标准,其称为LIN。
>>> LIN与CAN对比:
实现CAN比实现LIN的成本高。导致CAN成本更高的因素包括:
- CAN网络中的每个节点都需要时钟发生器或晶体;
- CAN的芯片级实现起来更复杂
- 采用双线传输。
最重要的是,整个昂贵的架构对于不需要高可靠性和高数据速率的应用来说过于奢侈。
上述种种缺陷促进了对LIN网络需求增长。LIN总线的作用是补充而非替代CAN总线。它是一种支持汽车网络远程以及非关键应用的低成本串行通信协议。与CAN不同,LIN采用主从拓扑结构。这种网络一般包含一个主节点和多达16个从节点。所有通信均由主节点发起。由于所有节点都是由主节点进行时钟控制,因此只有主节点中需要精密时钟。这是使LIN成本低于CAN的原因之一(CAN中的所有节点都需要采用晶体或精密时钟发生器)。
>>> LIN特性与优势:
LIN的主要特性与优势如下:
1. 补充作用 – 如前所述,LIN的作用并非是替代而是补充CAN。此特性有助于CAN扩展到应用中的远程分级子网。
2. 单线实现 – LIN的低成本单线实现方案(不同于CAN的双绞线实现方案)可以显著降低成本。
3. 数据速率 –出于EMI控制原因,数据速率限速为20Kbps,这有助于保持网络的可靠性。
4. 广播串行网络 – LIN网络可以采用一个主节点和多达16个从节点。所有消息均从主节点始发并且最多由1个从节点根据消息标识符做出响应。
5. 自同步 – 无需晶体或谐振器,从而能够大幅降低实现成本。
6. 等待时间 – LIN网络可以提供保证等待时间,从而使其成为预测性更高的网络。
7. 整体实现 – LIN比CAN的实现成本和复杂性更低。对于CAN,其每个节点都需要CAN接口、晶体和双线连接。而LIN通过简单的串行通信模块(SCB)和增强型ISO 9141接口便可工作,无需晶体,而且是采用单线连接。
表1提供LIN与CAN特性的快速对比,以帮助开发人员根据不同参数需求选择网络:
表1:LIN与CAN对比
>>> 基于LIN的系统的组件:
创建基于LIN的系统的复杂性远远低于基于CAN的系统。基于LIN的系统所需组件包括:
- 物理收发器(PHY)
- 带有串行通信模块(SCB)/接口的微控制器
- 开发工具:软件
典型LIN网络类似于图2所示带有一个主节点和多个从节点的系统。
图2:典型LIN网络
物理收发器注释:大多数LIN实现方案采用收发器管理接口连接和支持更高的电压电平。这些收发器一般位于微控制器外部。
为了在LIN网络中担当从节点,MCU需要一个串行通信接口(SCI)或串行通信模块(SCB),以支持UART,从而实现接口连接。LIN协议采用UART作为基本收发方式。如果无法在MCU硬件中实现UART,则可以采用软件实现。但是不建议采用这种方法,因为会给处理器带来不必要的负载。为用作主节点,我们需要采用更高端的MCU。除了支持SCI的UART之外,主节点还需要一个时钟发生器。
LIN采用符合ISO9141标准的BUS单线连接。如今我们具有更高级的汽车级MCU,其以内置LIN-PHY提供对LIN的专用支持。这种集成可以使实现方案更紧凑、更简单。
大多数MCU供应商至少会在其一个器件系列中支持LIN接口。例如赛普拉斯半导体公司的可编程片上系统(PSoC),其提供一个在单芯片上集成可编程逻辑、存储器和MCU的片上系统架构。这些器件支持能够配置为LIN的串行通信接口,从而很有可能适用于需要LIN的汽车应用。
除了MCU和LIN PHY之外,配置LIN接口的不同参数通常需要软件模块等开发工具。赛普拉斯等处理器厂商可提供支持软硬件同步设计的设计环境,如:PSoC Designer 与PSoC Creator。此类工具提供灵活的LIN组件或用户模块,其可以根据设计需求进行编程并运行。
MCU供应商还需要通过符合LIN规范的一致性测试对其LIN接口进行验证或认证。几乎所有OEM厂商都会提出此项要求,而MCU供应商在其开发过程中遵守相关要求。
>>> LIN消息帧:
为了更好地了解数据如何通过LIN传输,需要了解相关消息帧。LIN消息帧由一个报头和一个响应组成。报头长度固定,而响应包含0~8字节的数据。帧间响应时间是从节点响应LIN主节点发出的请求所需要的时间。帧间响应时间随网络节点不同而不同,因为其取决于各节点的软硬件实现。响应之后是一个针对消息帧的数据部分而计算的校验和。
报头分为三个字段:
1. 同步间隔场(SYNC-break field)用于 激活所有连接的LIN从节点,使其侦听报头的随后部分。它由一个起始位和多个显性位(dominant bit)组成。
2. 同步场(SYNC-field)是一个标准的数据格式字节。运行于RC振荡器上的LIN从节点采用固定量的上升沿和下降沿之间的距离测量总线的当前位时间,以便重新计算内部波特率。
3. 标识符(ID)场由主节点发送到所有LIN节点,其通常包含64个不同值之一,并且在8位数据中含有2个奇偶校验位。标识符包含随后通过LIN总线传输的信息,如:发送者、接受者、用途以及数据字段长度。
消息帧结构如图3所示。.
图3:LIN消息帧结构
>>> LIN应用:
我们已经清楚哪类汽车应用需要LIN。我们来快速查看一下采用LIN网络的典型应用列表(见表2)。为了更好地了解其差异,表2将需要LIN的应用与需要CAN的应用进行了对比。
表2:典型LIN应用
车载电子数量在不断增多,其网络复杂性也在不断提高。我们在不远的将来会在路上看到能够相互通信的无人驾驶汽车。随着汽车电气网络数量增多和复杂性提高,更简单、更便宜的替代产品也在不断增加,其中最流行的是LIN。LIN已经成为大多数不需要CAN等级安全性的车身控制应用的标准,而且在将来还会保持其流行势头。随着新版本的发布(最新版本为2.2A版),LIN也在保持其更新,以满足汽车新标准要求。这同时也要求汽车MCU供应商装备最新、最优LIN接口版本,以便在车身控制应用领域发挥其用武之地。
上一篇:LIN总线技术及应用——协议规范(三)
下一篇:深度解析CAN-FD与CAN协议的差别
推荐阅读最新更新时间:2024-05-03 00:28