新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于CAN总线在汽车控制系统中设计与实现

基于CAN总线在汽车控制系统中设计与实现

作者:时间:2011-09-20来源:网络收藏
一、引言

  随着汽车计算机控制技术的不断发展,现代汽车上的计算机控制系统越来越多,联系也越来越紧密。发动机计算机控制系统已经成为新型发动机的核心部分之一,微处理器以及新型部件和电路的使用使得汽车技术发展速度加快,而且越来越复杂。最近及未来的技术发展要求汽车维修技师必须很好地接受最新汽车技术的培训,本书的出版,就是为了帮助技师学习发动机计算机控制系统的工作原理,并掌握对其进行故障诊断的方法。书中讨论了计算机控制系统的结构与部件、故障的分析与诊断方法、OBD Ⅱ自诊断方法,多路传输技术,以及世界各大汽车公司典型的控制系统的原理、构造和诊断。笔者通过分别构造高、低速CAN网络,对实时性要求高的计算机控制单元采用高速CAN网络传输;其它采用低速CAN网络传输,并采用微控制器兼作网关。使得传输线束大大简化,可靠性大大提高。

  二,的技术特性

  CAN(Controller Area Network)总线是一种串行多主站控制器局域网总线。特别适用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。通讯媒体可以是双绞线、同轴电缆或光导纤维,数据传输速率可达1 Mbits/s(此时通信距离最长为40m)。

  CANopen, DeviceNet和SDS是通常采用的高层协议,适用于任何类型的工业控制局域网应用场合,而CAL则应用于基于标准应用层通讯协议的优化控制场合,SAEJ1939则应用于卡车和重型汽车计算机控制系统。

  三,基于P87C591的汽车计算机控制

  (一) P87C591

  P8xC591是8位高性能单片机,是80C51系列的衍生型,带有在片CAN控制器。它使用高效的80C51指令集并包括SJA1000 CAN控制器的PeliCAN功能。完全的静态核提供扩展的电存储设施,振荡器可以被停止且易重新启动,但不丢失数据。改进的1:1内部时钟预定标器在12 MHz外部时钟率时能达到500 ns指令周期。

  (二)系统实现

  目前,汽车计算机控制已经涉及到动力性、经济性、安全性、可靠性、净化性和舒适性等诸多方面,具体包括发动机控制,变速器控制、巡行控制,制动控制,照明控制,空调控制,雨刷控制,仪表管理系统等,而且各种控制系统的电控单元(ECU)相互联系紧密,需要随时进行实时数据通信,作为一种极具应用潜力的控制器局域网总线,近年来在汽车计算机控制系统中得到越来越广泛的应用,并已成为欧洲汽车制造业主体行业标准,代表着汽车电子控制网络的主流发展趋势。

  汽车计算机控制系统中的所有这些子控制系统通过CAN,0.线构成一个实时控制系统网络,各控制单元的指令发出去之后,必须保证在一定时间内得到响应,要不然就有可能发生重大事故,这就要求汽车上的CAN通信网络有较高的波特率设置和可靠性。而且,汽车在实际运行过程中,众多节点之间需要进行大量的实时数据交换。若整辆汽车的所有节点都挂在一个CAN网络上,这么多节点通过一条进行通信,信息管理配置稍有不当,就很容易出现总线负荷过大,将导致系统实时响应速度下降,这在实时系统中是不允许的。因此我们将实时性要求严格、可靠性要求高的节点组成高速CAN通信网络,将其它实时性要求相对较低的节点组成低速CAN通信网络,并架设网关将这两个速率不同的CAN通信网络连接起来。

  图 1中的发动机控制、变速器控制、安全控制、防抱死制动控制(ABS)等控制单元节点是现代汽车动作的核心部件,对时间响应要求严格,因而在本设计中采用传输速率为500Kbps的高速CAN通信网络。空调控制、雨刷控制、照明控制和仪表管理控制等相对来说对实时性的要求较低,采用传输速率小于125 Kbps的CAN通信网络,主控制器跨接高、低速两条总线,与各节点进行数据交换,兼起网关的作用,实现网络互连。

  电控单元的微控制器(P8xC591 )通过数据总线经过光电隔离器(6N137)与CAN总线控制器(SJA 1000)直接相连,由于CAN总线控制器带有一个接收缓冲器和一个发送缓冲器,因此,CAN总线控制器的发送端口Tx0,接收端口Rx0、Rx1分别与CAN,总线发送接收器的TxD和RxD, Vref端口直接相连,CAN_L和CAN -H是CAN总线的两条差分接收发送线。它们的端点间各接一个120Ω的总线匹配电阻,当有节点占用CAN总线时,该节点的发送端(电平为3.5 V)接CAN_H,接收端(电平为1.5V)接CAN_L;当无节点占用CAN总线时,CAN_L和CAN_H上的电平均为2.5V.



评论


相关推荐

技术专区

关闭