下图所示是LIN网络的拓扑结构,LIN网络是一个单主节点的网络,在这个网络中有且只能有一个主节点(master node),从节点(slave node)的通信都是依靠主节点来调度的,详细的内容在之后发布的文章中我们会继续介绍。
(资料图片仅供参考)
下图所示是LIN总线的通信模型,如图一共分为四层,底层是物理层,主要是定义了线缆和LIN触发器,第二层是数据链路层,主要负责报文帧的处理,第三层是传输层,主要是信号交互和网络层的报文处理,最顶层是应用层。
如下图所示是一个简单的汽车的网络架构,其中有CAN总线、LIN总线以及MOST总线等等,LIN总线也是构建汽车网络的一个重要组成部分。
大致了解了LIN总线,现在让我们来说说LIN总线的起源吧。
LIN(Local Interconnect Network)协会成立于1998年。
成立时的主要成员:
5家整车厂:Audi, BMW, DaimlerChrysler, Volvo, VW
1家半导体制造商:Motorola(LIN总线的规范由摩托罗拉发布)
1家工具提供商:Mentor Graphics
目前的主要成员:
5家整车厂:Audi, BMW, DaimlerChrysler, Volvo, VW
1家半导体制造商:Freescale
1家工具提供商:Mentor Graphics
LIN联盟(即LIN协会)一直在努力将LIN总线推广为ISO国际标准。如今,虽然LIN联盟已经解散了,LIN总线却一步步成为了通用的ISO国际标准。
根据ISO官网上资料,目前LIN总线协议的ISO标准还在发展中并未发布,协议为ISO17987,从ISO17987-1到ISO17987-7已经有7个部分在编;已经发布了的是一个关于LIN的UDS诊断协议ISO14229-7。
那么LIN总线为何会出现呢?
——LIN总线的主要目的在于提供一种低成本的车用总线,从而形成对CAN总线的补充。
——LIN总线已经广泛地被世界上的大多数汽车公司以及零配件厂商所接受,有望成为公认的A类网络标准。
接下来介绍一下LIN总线的主要特点。
功能简单,实时性低
成本低
传感器/执行器级的总线
基于UART数据格式、主从结构、单线12V
串行通信
开放、不需要使用费和版税
下面这个图说明了CAN总线和LIN总线的关系,在一个汽车的网络中,LIN总线一般是挂在CAN总线下面的,它们通过网关联系起来,完成信息交互,这个网关也相当于LIN网络的主节点,可以调度LIN的其他的从节点。
LIN协议版本概述
如下表格是LIN协议的版本以及发布时间,不同版本之间也增添了很多新的内容。其中,LIN1.3和LIN2.0是使用最多的版本。
SAE J2602是美国机动工程师协会的LIN标准, 建立在LIN 2.0的基础之上,但是,降低了LIN 2.0规范的一些软件单元的复杂性,以努力缩短LIN从节点所需要的嵌入式软件代码长度并降低其复杂度。
下面这个时间轴是LIN协议的发布时间以及增加的内容。
LIN1.1
1999年7月,底特律SAE大会
内容包括三部分:协议规范;配置语言规范;API规范
LIN1.2
2000年11月
LIN1.3
2002年11月
增加了物理层规范
LIN2.0
2003年9月
适应当代和未来汽车工业发展趋势
为了实现节点的“即插即用”
增加了诊断规范和节点能力语言规范
LIN2.1
2006年11月
目标是改进LIN 2.0规范的理解力
增加了传输层规范和节点配置规范
形成了8个子规范
LIN规范组成
LIN物理层规范
描述了LIN总线的物理层,包括位传输速率,时钟容错范围等
LIN协议规范
描述了LIN总线的数据链路层
LIN诊断和配置规范
描述了如何在数据链路层之上提供诊断信息和节点配置服务
LIN应用程序接口(API)
描述了网络和应用程序之间的接口,包括诊断模块
LIN配置语言规范(LDF)
介绍了LIN配置文件的格式。LIN配置文件用于配置整个网络,并作为OEM和不同网络节点的供应商之间的通用接口,同时可作为开发和分析工具的一个输入
LIN节点能力描述语言规范(NCF)
介绍了描述从机节点的语言格式,LIN集群设计工具可以使用NCF文件自动地生成LIN描述文件
LIN传输层规范
描述了传输最高能达到4095个字节数据的方法
LIN诊断规范
描述了从机节点所支持的诊断服务类型,诊断服务都使用传输层