20世纪80年代末,德国博世公司为解决现代汽车中众多控制单元、测试仪器之间的实时数据交换而开发了一种串行通信协议CAN,并使其成为国际标准(ISO11898)。到目前为止,世界上已拥有20多家CAN总线控制器芯片生产商,110多种CAN总线协议控制器芯片和集成CAN总线协议控制器的微控制器芯片。
LIN网络是一种低成本的串行通讯网络,用于实现汽车中的分布式电子系统控制。LIN的目标是为现有汽车网络(例如CAN总线)提供辅助功能。因此,LIN总线是一种辅助的总线网络。在不需要CAN总线的带宽和多功能的场合,比如智能传感器和制动装置之间的通讯使用LIN总线可大大节省成本(为CAN总线所需成本的1/3~1/2).目前LIN已经成为国际标准,被多数整车厂商和配件厂商所接受。
CAN总线通信协议---J1939通信协议
J1939协议以CAN2.0B为基础,是CAN总线的应用层协议。J1939协议将CAN标识符划分为如下几个部分:优先级(P)、数据页(PGN)、协议数据单元(PDU)格式、PDU特定域(PS)和源地址(SA).J1939/71应用层文档定义了车辆控制的各种参数及命令的PGN.表1为J1939的报文格式。
LIN总线通信协议
LIN协议是一种建立在通用的SCI或UART硬件接口上、用于将车辆中分布的智能传感器和执行器连接到车内主控制器的单总线(12V)串行通信协议。
通过LIN总线传输的实体为帧。一个报文帧由帧头以及回应(数据)部分组成。在一个激活的LIN网络中,通讯通常由主节点启动,主节点任务发送包含有同步间隙的报文头、同步字节以及报文标志符(ID).一个从节点的任务通过接收并过滤标志符被激活,并启动回应报文的传送。回应中包含了1到8个字节的数据以及一个字节的校验码。图1为LIN协议帧结构.
总体通信网络设计
整车通信网络设计
如图2所示,文中将数据传输速率较高的CAN总线(1Mbps)用于B、C类网络,其控制对象为:发动机控制器、自动变速器、驱动防滑系统、牵引力控制系统、ABS/ASR、安全气囊控制器及组合仪表信号的采集系统等。LIN总线用于A类系统,最高传输速率可达20kbps.其控制对象主要为:前后车灯控制开关、电动座椅开关、中央门锁与防盗控制开关、后视镜、空调、车窗控制开关等。这些控制对象对信息传输的实时性要求不高,但数量较多。采用LIN总线可提高抗干扰能力、增加总线传输距离、降低成本。以门窗控制为例,在车门上有门锁、车窗玻璃开关、车窗升降电机、操作按钮等,只需一个LIN网络就可以实现。
CAN总线和LIN总线相互独立,通过中央控制器实现资源共享并进行数据交换。中央控制器是整车管理系统的核心,它同时也是CAN总线和LIN总线的网关服务器,它的主要功能就是对各种信息进行分析处理并发出指令,协调汽车各控制单元及电器设备的工作。
接口设计
整车通信网络是由许多CAN节点和LIN节点通过CAN总线和LIN总线连接组成的一个局域网,因此接口设计十分重要。
目前从事CAN总线及LIN总线芯片开发和制造的厂商很多,如PHILIPS,FREESCALE,ONSEMI,TI等,设计人员可以根据自身需要选择不同的芯片组合。这里中央控制器选择了FREESCALE的MC68HC908AZ60芯片。该芯片是专为汽车电子应用设计的功能强大的8位单片机,内部集成了低速CAN控制器,支持CAN2.0A/2.0B,具有一个SCI模块。该芯片除了完成LIN网络与CAN网络的通信连接外,还兼有其它的控制功能。
CAN智能节点选择PHILIPS器件:PCA82C250作为CAN收发器;CAN节点的MCU选用P89C591,因P89C591内部集成有CAN控制器(有PeliCAN接口),所以没有再选择CAN控制器,其连接图如图4所示。设计人员也可以选用微控制器+外接CAN控制器这样的连接法。
PCA82C250提供对总线的差动发送能力和对CAN控制器的差动接收能力。在低速和总线长度较短时,一般采用斜率控制方式,以限制上升和下降斜率,降低射频干扰,斜率可通过调节由引脚8至地连接的电阻进行控制。通信信号传输到导线的端点时会发生反射,反射信号会干扰正常信号的传输,因而总线两端需接终端电阻,以消除反射信号。其阻值约等于传输电缆的特性阻抗。
总结
基于CAN总线A类车身控制在汽车上已有广泛应用。随着车上总线节点的增加及高性能系统向中、低档汽车的发展,CAN总线相对较高的实现成本就成为一种障碍。与CAN相比,LIN节点的通信成本是CAN的1/3~1/2,具有较明显的成本优势。文中的汽车通信网络将LIN应用于车身系统,既实现了应有的网络控制功能,又降低了开发、生产、服务的成本,具有较高的实用性。