LIN总线节点的设计
摘要:介绍了汽车网络系统A类串行总线通信标准LIN协议2.0版本(最新版本),设计了总线节点的硬件和通信程序,规划了电动汽车车身网络总线结构。
关键词:LIN总线 通信 节点
随着汽车电子业的飞速发展,车辆上的电子装置越来越多,电子装置之间的通信技术也越来越先进。传统的电器系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然造成布线系统庞大,因而现代车辆上的电子系统广泛采用网络技术来实现彼此之间的通信。
1998年,汽车制造商奥迪公司、宝马公司、戴姆勒克莱斯勒公司、沃尔沃汽车公司、大众汽车公司、通信领域的专业厂商火山通信技术公司以及半导体生产商摩托罗拉公司共同创建了LIN(Local Interconnect Network)协会,其目的是为汽车网络系统提供一个开放的A类(数据传输位速率通常小于10kb/sv的低速车身网络)串行总线通信标准,允许在此基础上开发汽车低端网络系统,并且不需要使用者支持使用费用或版税。
1 LIN协议的通信机制
1.1 主机和从机
从通讯协议的角度来看,一个LIN网络由一个主机任务模块(Master Task)若干个从机任务模块(Slave Task)组成。主机节点中既有主机任务模块又有从机任务模块;其它节点中只有从机任务模块。图1是由一个主机节点、两个从机节点组成的LIN网络。
在LIN网络中,主机任务模块决定什么时候在总线上传输什么报文帧,而从机任务模块则提供每一帧需要传送的数据。主机任务模块和从机任务模块都是帧处理层的组成部分。
1.2 报文帧
一个报文帧由一个帧头(由主机任务模块提供)和一个响应帧(由从机任务模块提供)组成。帧头包括一个同步间隔场(SYNCH BREAK FIELD)、一个同步场(SYNCH FIELD)和一个标识符场。报文帧的用途由标识符唯一定义,约定的从机任务根据标识符提供相关的响应帧并发送到总线上(如图2、图3所示),响应帧由2、4或8字节的数据场(DATA FIELD)和一个校验和场(CHECKSUM FIELD)组成。对这个标识符相联的数据感兴趣的从机任务将接收响应帧,校验和检验通过后对数据进行处理。
这样的通讯机制带来了非常理想的效果:
*系统灵活性:在LIN网络中可以直接增加节点而不需要对其它从机节点的硬件和软件进行修改;
*报文路由:报文的内容由标识符定义;
*广播:多个节点可以同时接收一个单独的报文帧,并对报文作出反应。
2 LIN总线试验平台的软硬件设计
2.1 MCU芯片
主机MCU选用了瑞萨(Renesas)公司的M16C/6N系列的M306NBFCTFP,其特点如下:
*128K ROM,5K RAM
*三路串行口(两路UART/时钟同步口,一路时钟同步口)
*一路CAN模块
*丰富的I/O资源
从机MCU选用Atmel公司的基于8051内核的微控制器AT89C2051,其特点为:
*2K字节的Flash
*128×8位的内部RAM
*两个16位定时器/计数器
*可编程的串行UART口
采用M306NBFCTFP作为主机节点的MCU是因为它具有CAN接口模块,而且增强型UART可用于支持LIN总线;采用AT89C2051作为从机节点的MCU是因为暂时不对从机节点所实现的具体功能进行设计,而只是着重于LIN网络通讯部分的设计。要履行LIN规范的通讯时序,所有节点都必须配备一个精确的振荡参考源,即主机节点(M306NBFCTFP)和从机节点(AT89C2051)上的晶振。M306NBFCTFP片内有一个专用的滤波特率发生器用于串口通讯,而AT89C2051则把定时器T1作为波特率发生器。M306NBFCTFP将I/O作为扩展区域。这两种微控制器都具有增强型UART,可用于支持串行LIN传输。定时器T0可用于各种超时检测。此外,由于LIN的同步间隔超过普通UART所能处理的长度,所以从机节点AT89C2051使用中断来进行同步间隔检测。
图4和图5分别为主机节点和从机节点的电路原理图。
2.2 LIN总线通讯软件的设计
LIN节点是通过应用程序中的主机任务和从机任务来实现LIN网络通讯的。主机节点包含主机任务和从机任务,从机节点仅包含从机任务。主机任务流程图如图6所示,从机任务流程图如图7所示。
LIN主机任务包括以下内容:
*定义波特率(2kbit/s到20kbit/s);
*发送间隔场和同步场信号序列;*发送标识符场;
*监控并检查校验和,验证数据的有效性;
*请求从机进入睡眠模式,需要时再将有唤醒;
*对从机的唤醒进行响应。
从机任务包括以下内容:
*检测间隔场信号;
*在同步区与网络取得同步;
*解释标识符,并作出相应动作;
——不需要任何通讯操作;
——接收数据场数据;
——发送响应帧;
*检查/发送校验和。
3 电动汽车车身总线网络结构
根据LIN总线的物理层规定,LIN总线采用改进的ISO9141单总线标准,总线驱动为12V电源。编码方式为NRZ(Not Return Zero),电平分为隐性电平“1”和显性电平“0”两种,其误差要求如下:对于发出信息的节点,发出的隐性电平不得低于电源电压的80%,显性电平不得高于电源电压的20%;对接收节点来说,接收到的隐性电平不得低于电源电压的60%,显性电平不得高于电源电压的40%。考虑到信号衰弱等因素,LIN总线的长度最大不超过40米;同时一个LIN子网络上的节点数目小于16个。
根据电动汽车A类网络各功能单元对通讯功能的实时性、传输距离的要求,均衡考虑性能和成本等因素,确定LIN总线在电动汽车车身上的网络结构,可以从图8中几个典型的A类网络功能单元进行分析。
车身系统网络规划如图9所示。图9中将车身系统的A类网络功能单元划分为车门模块、空调模块、座椅模块、控制面板模块以及组模块,这些模块分别作为LIN子网络的主机节点。
LIN总线的目标是为现有汽车网络提供一种低速总线通讯标准,它能满足CAN总线所不需求的带宽和功能,使用LIN总线可大大节省成本。而在我国,对于汽车总线的研究只是处于初步阶段。为了缩短同国外轿车技术水平的差距,提高自身的竞争力,单纯靠技术引起不利于我国汽车电子技术的长期发展,研究和开发我国自己的汽车网络应用系统势在必行。本文确定了MCU+LIN接口芯片的LIN节点硬件结构,实现了主机/从机任务的LIN网络通讯,规划出了我国电动汽车车身系统LIN总线结构,为我国汽车LIN总线A类网络高层通讯协议的制定奠定了基础。
评论