汽车安全是汽车工业和用户追求的首要目标之一。由于现在汽车上的刹车和油门都由右脚控制,一旦遇到突发事件,慌乱中“把油门误当刹车”是经常发生的,驾驶员误踩油门所引发的交通事故占重大交通事故中的12.6%[1]。为了防止误踩油门事故的发生,汽车市场迫切需求一种用CAN总线将智能型刹车单元和制动单元组合为一体的刹车系统。本文设计了以PIC18F258单片机为核心的智能型刹车控制系统,使其与车载CAN网络接轨,可以将智能刹车单元信息以报文形式发送给车载CAN总线上的其他控制单元,以实现其必要的功能。这样,当驾驶员误踩油门时,通过制动单元实现自动制动功能,保证车辆安全;CAN总线上的仪表控制单元接收信息后,可将其误踩油门显示出来。本设计对教练车的刹车改进有重大意义。
1 基于CAN总线的智能刹车系统框架
1.1 CAN总线
CAN总线是一种具有很高保密性的现场总线,是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制和测试仪器之间的数据交换而开发的一种有效支持分布式控制或实时控制的串行通信网络。它具有以下特点:(1)总线以多主方式工作,系统柔性好,通信方式灵活,且不用占地址等单元信息;(2)CAN总线网络上的单元信息分不同的优先级,可满足不同的实时要求,所有信息发送都固定格式发送;(3)采用非破坏性总线仲裁技术,在网络负载很重的情况下也不会出现网络瘫痪状况;(4)只通过报文滤波就可以实现点对点、一对多点及全局广播等几种方式接收传送数据;(5)通信速率与距离成反比,5 kb/s以下速率直接通信距离可达10 km,40 m内通信最高速率可达1 Mb/s;(6)具有错误检测功能、错误通知功能和错误恢复功能;(7)CAN总线单元在出现严重错误情况下会自动关闭输出功能,以便总线上其他单元的操作不受影响;(8)CAN总线单元数取决于总线驱动电路,在标准帧(11位报文标识符)时,可达110个单元,而在扩展帧(29位报文标识符)时,单元数不受限[2-3]。
1.2 刹车智能系统的框架
由于CAN总线具有以上优点,现代汽车内部的各控制单元是靠CAN总线进行通信的,各控制单元发出的控制指令必须迅速、可靠、及时地得到响应,否则,轻则可能导致车辆局部控制失灵,重则可能发生车毁人亡的重大事故。若整辆汽车的所有控制单元都连接在一个CAN总线网络上,所有的控制单元都通过一条CAN网络进行通信,那么就很容易出现总线上工点过多,通信速率下降,系统实时响应速度下降,将导致关键控制部位的实时响应速度得不到保证。因此,在对汽车上各控制单元的实时性进行分析之后,根据各控制单元对实时性的不同要求,设计了高、低速两个速率不同的CAN通信网络。将实时性要求严格、可靠性要求高的发动机控制单元、智能刹车单元(本课题设计部分)、ABS控制单元以及自动变速器控制单元等组成高速CAN通信网络;将实时性要求相对较低的中控门锁控制单元、电动座椅调节单元、电动车窗控制单元、后视镜控制单元、仪表控制单元和照明灯控制单元等组成低速CAN通信网络;并配置中央控制器(网关)将这两个速率不同的CAN通信网络连接起来,实现全部单元之间的数据共享。高速CAN网络的传输速率达到500 kb/s,低速CAN网络的传输速率大约为10~125 kb/s[4]。汽车控制系统通信网络如图1所示。其中,总线两端应接抑制反射的120 ?赘的终端匹配电阻,如果不接终端电阻,会使得数据通信的抗干扰性及可靠性大大降低,甚至无法通信。在这个系统中,智能刹车控制单元一旦检测到误踩油门信号,就会向发动机控制单元、ABS控制单元和自动变速器控制单元发出信息,这些单元根据信息作出相应动作,使汽车自动刹车。
2 智能刹车单元硬件设计
2.1 智能刹车单元的整体设计
智能刹车单元的结构如图2所示。本设计中智能刹车单元以PIC18F258单片机为控制核心,当单片机检测到误踩刹车信号时,通过CAN总线以报文的形式发送到仪表单元并显示,也可发送到音响单元进行语音报警,发送到发动机控制单元、ABS制动单元及自动变速箱控制单元自动刹车。
PIC18F258单片机有着先进的精简指令集构架、增强型内核,32级堆栈和多种内部及外部中断源,内部带有CAN总线控制器,并采用了程序和数据空间完全分开的“哈佛”结构。这种单片机结构大大降低了总体成本,同时提高了运行效率和可靠性[5]。
CTM8251是一款带隔离的通用CAN收发器模块,该模块内部集成了所有必需的CAN隔离及CAN收、发器件,这些都被集成在不到3 cm2的模块上。该模块的主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平,并具有DC 2 500 V的隔离功能。取代了CAN总线收发器及外围电路,降低了成本和电路复杂程度,提高了电路可靠性[6]。
2.2 智能刹车单元电路设计
智能刹车单元电路主要用于检测踩刹车和误踩油门两种不同速率的操作。根据对不同车型踩油门踏板和踩刹车踏板动作时间的调查(如表1所示),大多数车从起步加速到100 km/h,从油门踏板上限到油门踏板下限时间约1 s,一般也很少1 s内踩到底,而踩刹车踏板时间约在0.15 s以下,两者存在着不是一个数量级的时间差别[1]。根据这一特点,单片机可以判别出是误踩油门还是紧急刹车。
刹车检测电路如图3所示,该电路由油门踏板上限检测电路和油门踏板下限检测电路组成。其工作原理为:检测到踏板速度的上限位时,光敏二极管SPD1没有接收光二极管D1的光,比较器LM339输出一个低电平给单片机PIC18F258的21(INT0)脚,单片机计时开始;检测到踏板速度的下限位时,光敏二极管SPD2没有接收光二极管D2的光,比较器LM339输出一个低电平给单片机PIC18F258的22(INT1)脚,单片机计时停止,并且将该段测得时间与设定的限定时间进行比较,以此确定此时的油门踏板速度是否过快。若踏板速度过快,则启动刹车系统;否则,不干预此次操作。
3 程序设计
程序设计框图如图4所示。先对单片机及CAN接口初始化,当油门位置处上限时,INT0输入,开始计时,到油门位置处下限时,INT1输入,停止计时。算出上下时间差,当时间差小于限定值时,发送刹车报文给CAN总线上相应单元,其他单元作出刹车动作。CAN总线上通信的软件设计主要包括CAN单元初始化、报文发送和报文接收三部分。CAN接口的初始化程序设计是非常重要,如果设计得不好,系统将不能正常工作。PIC18F258单片机的CAN接口初始化首先要在配置模式下将控制寄存器、状态寄存器、波特率寄存器、I/O控制寄存器、接收掩码寄存器和几个滤波寄存器按照系统要求设置好,以保证CAN总线的畅通。
本文应用PIC18F258单片机设计了基于车载CAN总线的智能刹车系统,使其成为车载CAN网络的一个电气单元。设计出了智能刹车系统的硬件电路、CAN总线接口电路及软件设计。智能刹车单元主控芯片PIC18F258通过CAN总线能够向其他单元发送报文数据,其他控制器经过判别而实现相关的报警、显示及自动刹车等功能。该系统能够对误踩油门进行有效控制,这对减少和避免交通事故,保障行车安全具有非常重要的现实意义和应用价值。