基于CAN总线的汽车车身控制系统的研究与应用

发布时间:2010-08-04
分享到

  科学的发展使得汽车正增加着越来越多的功能,如何使这些众多的独立功能协调统一工作,亦即如何对整个车身进行控制,已经成为整个汽车电子研究领域中非常重要的课题。汽车网络,即汽车总线技术在这种环境下应运而生了。而 总线技术以其高实时性、高可靠性在各种汽车控制总线中独占鳌头。

  1 CAN 总线技术简介

  CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。CAN 最初出现在80 年代末的汽车工业中,由德国Bosch 公司最先提出。CAN 是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10km 时,CAN 仍可提供高达50Kbit/s 的数据传输速率。目前CAN 总线已经形成国际标准,广泛应用于欧美轿车,被公认为几种最有前途的现场总线之一。

  2 系统设计思想

  汽车车身系统的控制对象包括: 4 个车门锁、2 个以上车窗玻璃升降器、行李箱锁、除霜加热器、电动后视镜、前后大灯、小灯、转向灯、危险灯、雾灯、牌照灯、车内阅读灯、车厢顶灯等。在具备遥控功能的情况下,还包括对遥控信号的接收处理和防盗系统的控制。因此,根据以上要完成的各功能,将本系统设计为 5 个子模块,分别是中央控制模块(实现中控门锁、防盗、雨刮、内外灯和后窗及后视镜加热等功能) ,4 个门控模块(分别为主驾门模块、右前门模块、左后门模块、右后门模块,来控制车窗升降器和门锁)。

  图1 给出了模块CAN 总线结构。

车身控制模块CAN 总线结构

  3.1 系统各模块电路框图

  根据以上设计思想分为5个子模块。主控单元接收开关信号之后,先进行分析处理,然后通过CAN总线把控制指令发送给各受控端,各受控端响应后作出相应的动作。

  以下是各模块的电路框图见图2、图3、图4。

各模块的电路框图

各模块的电路框图

   3.2 系统主要使用的元器件

  (1)CAN控制器。考虑到系统拓展的需要,我们采用PHILIPS公司生产的SJA 1000来作为此系统的CAN控制器。它既和PCA82C200独立CAN控制器引脚兼容,又和PCA82C200独立CAN控制器电气兼容;既支持 BasicCAN模式,又支持PeliCAN模式;和CAN2.0B协议兼容;可同时支持11位和29位识别码;位速率可达1Mbits/s。

  (2)CAN收发器。采用PHILIPS公司生产TJA1050,跟PCA82C250一样,TJA 1050符合ISO 11898标准,但在关键的AM波段上它的辐射比PCA82C250低20dB以上。在不上电时总线呈现无源特性。

  (3)单片机。采用P89C51。该单片机是80C51微控制器的派生器件,是采用先进CMOS工艺制造的8位微控制器,指令系统与80C51完全相同。

   4 、基于CAN总线车身控制系统的软件开发

  在CAN 总线构成的系统中,用户要根据自己的要求来编写应用层和用户层软件。用户层实现用户要求的控制策略和系统,而应用层则是在用户层与接口之间,CAN建立了报文发送时的方法、信号电平及协议,应用层则定义了结构、响应及报文的意义,应用层要根据CAN系统应用场合的不同而有所变化。

  4.1 CAN控制器的初始化

  CAN控制器在正式收发信号之前必须进行初始化设置。对SJA 1000的初始化是对工作方式、接收滤波寄存器、接收屏蔽寄存器、接收代码寄存器、波特率参数等的设置,要求对写入每个寄存器的内容进行仔细和全面的考虑。

  4.2 CAN总线上数据的发送和接收

  对SJA 1000初始化成功后,就可以用它来传输和接收报文。节点向总线发送报文的过程是:单片机P89C51将待发送的数据按CAN格式组成一帧报文,写入 SJA1000的发送缓冲区,然后启动SJA1000,把报文发送到总线上去。接收报文的过程是:SJA 1000从总线上自动接收报文,并经过过滤后存入接收缓冲区,并向单片机发出中断请求,单片机从缓冲区读取报文。发送和接收流程见图6、图7。

收藏
赞一下
0