一、引言
科学的发展使得汽车正增加着越来越多的功能,如何使这些众多的独立功能协调统一工作,亦即如何对整个车身进行控制,已经成为整个汽车电子研究领域中非常重要的课题。汽车网络,即汽车总线技术在这种环境下应运而生了。而CAN总线技术以其高实时性、高可靠性在各种汽车控制总线中独占鳌头。
二、CAN总线技术简介
CAN,全称为“Controller Area Network”,即控制器局域网,是国际上应用最广泛的现场总线之一。CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出。CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10km时,CAN仍可提供高达50Kbit/s的数据传输速率。目前CAN总线已经形成国际标准,广泛应用于欧美轿车,被公认为几种最有前途的现场总线之一。
三、系统设计思想
汽车车身系统的控制对象包括:4个车门锁、2个以上车窗玻璃升降器、行李箱锁、除霜加热器、电动后视镜、前后大灯、小灯、转向灯、危险灯、雾灯、牌照灯、车内阅读灯、车厢顶灯等。在具备遥控功能的情况下,还包括对遥控信号的接收处理和防盗系统的控制。因此,根据以上要完成的各功能,将本系统设计为5个子模块,分别是中央控制模块(实现中控门锁、防盗、雨刮、内外灯和后窗及后视镜加热等功能),4个门控模块(分别为主驾门模块、右前门模块、左后门模块、右后门模块,来控制车窗升降器和门锁)。图1给出了车身控制模块CAN总线结构。
四、基于CAN总线车身控制系统的硬件开发
(一)系统各模块电路框图
根据以上设计思想分为5个子模块。
主控单元接收开关信号之后,先进行分析处理,然后通过CAN总线把控制指令发送给各受控端,各受控端响应后作出相应的动作。
(二)系统主要使用的元器件
(1)CAN控制器。考虑到系统拓展的需要,我们采用PHILIPS公司生产的SJA1000来作为此系统的CAN控制器。它既和PCA82C200独立CAN控制器引脚兼容,又和PCA82C200独立CAN控制器电气兼容;既支持Basic CAN模式,又支持PeliCAN模式;和CAN2.0B协议兼容;可同时支持11位和29位识别码;位速率可达1Mbits/s。
(2)CAN收发器。采用PHILIPS公司生产TJA1050,跟PCA82C250一样,TJA1050符合ISO11898标准,但在关键的AM波段上它的辐射比PCA82C250低20dB以上。在不上电时总线呈现无源特性。
(3)单片机。采用P89C51。该单片机是80C51微控制器的派生器件,是采用先进CMOS工艺制造的8位微控制器,指令系统与80C51完全相同。
五、基于CAN总线车身控制系统的软件开发
在CAN总线构成的系统中,用户要根据自己的要求来编写应用层和用户层软件。用户层实现用户要求的控制策略和系统,而应用层则是在用户层与接口之间,CAN建立了报文发送时的方法、信号电平及协议,应用层则定义了结构、响应及报文的意义,应用层要根据CAN系统应用场合的不同而有所变化。
(一)CAN控制器的初始化
CAN控制器SJA1000在正式收发信号之前必须进行初始化设置。对SJA1000的初始化是对工作方式、接收滤波寄存器、接收屏蔽寄存器、接收代码寄存器、波特率参数等的设置,要求对写入每个寄存器的内容进行仔细和全面的考虑。
(二)CAN总线上数据的发送和接收
对SJA1000初始化成功后,就可以用它来传输和接收报文。节点向总线发送报文的过程是:单片机P89C51将待发送的数据按CAN格式组成一帧报文,写入SJA1000的发送缓冲区,然后启动SJA1000,把报文发送到总线上去。接收报文的过程是:SJA1000从总线上自动接收报文,并经过过滤后存入接收缓冲区,并向单片机发出中断请求,单片机从缓冲区读取报文。
六、结束语
CAN总线以其高性能、高可靠性及其独特的设计越来越受到人们的重视,并被公认为是汽车电控系统中最有前途的总线之一。它作为一种可靠的汽车计算机网络总线已在许多先进汽车上得到应用,使得各汽车计算机控制单元能够通过CAN总线共享所有信息和资源,达到简化布线、减少传感器数量、避免控制功能重复、提高系统可靠性和维护性、降低成本、更好地匹配和协调各个控制系统的目的。
(转载)