《LIN总线在车身控制中的应用.docx》由会员分享,可在线阅读,更多相关《LIN总线在车身控制中的应用.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LIN总线在车身控制中的应用caojing导语:随着车内电控单元的增加,车内通讯网络也日趋多样化。LIN总线以其通讯本钱低,开发方便等上风在车身控制方面有着良好的应用前景。摘要:随着车内电控单元的增加,车内通讯网络也日趋多样化。LIN总线以其通讯本钱低,开发方便等上风在车身控制方面有着良好的应用前景。本文对LIN总线进展了具体的描绘,并以灯光控制为例讲明LIN总线在车身控制中的应用。关键词:车内通讯网络LIN总线车身控制灯光控制LIN总线概述LIN总线作为使用广泛的CAN通讯网络的辅助,它基于主从构造,使用单线通讯,减少了大量线束的重量和费用。其目的应用是不需要CAN的性能、带宽及复杂性的低速
2、系统,如开关类负载或者位置型系统,包括车的后视镜、车锁、车座椅、车窗等的控制。LIN总线特点低本钱的单线12V数据传输,线的驱动和接收特性符合改良的ISO9141单线标准;传输速率可达20Kbit/s;单主/多从的构造,不需要总线仲裁,由主节点来控制总线的访问;基于通用UART/SCI的硬件接口,使用本钱低的半导体工艺实现,几乎所有的微控制器都有LIN必须的硬件;从节点不需要晶振或者陶瓷振荡器就可实现自同步,进而减少了从节点硬件本钱;保证在最差状况下信号传送的等待时间,防止总线访问冲突。LIN的数据帧格式和通讯协议LIN网络由一个主节点和多个从节点构成。所有的节点都包括一个从任务,从任务又分发
3、送和接收任务,主节点还包括一个主任务。LIN的数据帧由帧头和响应信息组成。帧头包括同步间隔、同步场和信息识别符。帧头由主任务发出,主任务在发出同步间隔后发送同步场0x55,从节点利用同步场将它的波特率调整到传送来的信号的波特率。在发送同步场之后,发送一字节的信息识别符,其中03位表示信息种别,45位表示信息长度,78位是奇偶校验。信息识别符表示的是信息的内容,而不是信息的目的地址。这样定义可使多个节点收到同样的信息,并且数据可以以多种方式交换。从任务通过该字节判定数据是否与自己有关,并确定自己怎样处理该数据。响应信息是由从任务发出的,由2个、4个或者8个字节长度的数据和1个字节的和校验构成。和
4、校验表示数据帧完毕,它是通过计算数据的全部字节而得到的不包括识别字节及同步场。LIN总线的另一个帧是睡眠帧,由主任务发出,它的作用是让总线和节点进入低功耗状态。除睡眠帧的识别字段包含数值0x80之外,其它与数据帧相似。当收到唤醒信号时,总线睡眠状态便中止。唤醒信号由从任务发出。在LIN网络中所有通讯都是由主任务提议的。主任务控制数据帧的发送时序和优先级。中央控制模块的硬件原理图LIN车身控制应用方案LIN的应用方案介绍电控模块与汽车驱动系统分开有利于保证驱动系统的实时性,这也是汽车内通讯网络分级的一个原因。车身控制系统的中央控制模块也是一个网关,它将CAN网络和LIN网络连接起来。本文选取中央
5、控制模块和灯光控制模块来讲明LIN总线的应用。中央控制模块位于驾驶室内,主要检测驾驶室内控制开关的状态,并根据这些控制开关的状态实现相应的控制策略,然后将控制命令通过LIN总线发送给向各子模块。同时通过CAN总线接收上层CAN网络的某些信息。中央控制模块的MCU选用Motorola公司的MC68HC908GZ16,该芯片是一款可靠性高、抗干扰才能强的汽车专用芯片,其内部集成了CAN的控制器并有SCI模块,进而方便了CAN和LIN的开发。中央控制模块硬件原理图如图2所示。其中CAN/LIN接口芯片分别采用Motorola公司的MC33388和MC33399。中央控制模块的POWER单元的作用是将
6、车内24V电压转换成5V供应MCU。DETECT单元作用是收集开关量的状态,将并行的数据转换成串行数据送给MCU。中央控制模块还可以根据不同需求增加驱动单元。在本例中,中央控制模块还完成了驱动车内的内饰灯和雨刷电机的工作,驱动芯片分别选取Motorola公司的MC33286和MC33289。灯光控制模块有两块,主要控制前部和后部的车灯。其中MCU采用Motorola公司低本钱单片机MC68HC908EY4,驱动芯片根据车灯所需功率来选取,本设计选取了MC33288和MC33286。LIN的硬件实现在模块中LIN的硬件电路非常简单,主要是LIN的接口芯片MC33399和MCU的连接。LIN的软件
7、编程LIN的应用软件由两局部组成:LIN的软件驱动和用户的应用程序。软件驱动的任务是接收、发送和过滤信息,连接LIN接点到LIN总线上,以及总线超时检测、帧监测、ID场计算、数据长度提取、校验和的计算和LIN消息的调度等。本系统的应用程序建立在Motorola提供的LIN的软件驱动之上。下面简单介绍一下用户怎样根据设计要求来修改LIN的软件驱动进而实现LIN总线的通讯。LIN初始化要实现LIN总线的通讯,首先要完成LIN初始化的工作,主要包括对节点类型、端口、存放器和中断的设置。节点类型:节点有主从之分,所以在初始化时要先声明该节点的类型。端口:LIN总线的通讯用到了PTE0和PTE1两个端口
8、,需要设置端口方向。PTE0设为输出,PTE1设为输入。存放器:LIN通讯中用到了MCU中的串行通讯接口模块和定时器模块,需要对其相应的存放器进展配置。通过配置串行通讯波特率存放器SCBR可以得到不同的通讯速率详见MCU的手册,本设计中以8MHz的外部时钟得到9.6K的通讯速率,设置如下:#defineLIN_BAUDRATE0x30SCBR=LIN_BAUDRATE;LIN通讯中使用定时器模块来完成位定时,所以需要在主节点设置定时器的时钟速率。中断:LIN通讯中用到以下中断:SCI接收中断、SCI错误中断、SCI发送中断和定时器1通道0中断,其中后两种中断仅主节点使用。用到的中断向量需要在中
9、断向量表中声明。LIN总线规定了64个ID063,其中6163被保存,其它ID供用户使用。在本设计中车身控制系统共有5个子节点,两种数据类型。这两种数据均为两字节。以灯光控制模块为例,讲明通过LIN总线怎样发送和接收数据。LIN_PutMsgID,send_buffer和LIN_GetMsgID,receive_buffer分别为MotorolaLINAPI中定义的发送和接收数据的函数。参数ID表示发送和接收数据的ID,send_buffer和receive_buffer分别是用户定义的发送和接收数据的缓存单元。LIN_RequestID用来发送帧头,仅主任务使用,其他函数定义参见MotorolaLIN驱动软件。中央控制模块将控制命令发送给灯光控制模块,灯光控制模块将负载的状态反应给中央控制模块的经过的软件程序详见本刊网站。在车身控制系统中应用LIN总线降低了低端通讯网络的本钱,同时增加了设计的灵敏性,进步了系统的可靠性,有利于分布式车身控制系统的开发。因此LIN总线在汽车领域有着良好的应用前景,此外LIN总线作为一种开放协议,还可用在工业和家电领域,实现对速度要求不高、短间隔连接的设备间的通讯。0