1 引言
can总线是一种有效支持分布式控制和实时控制的串行通信网络,以其高性能和高可靠性在自动控制领域得到了广泛的应用。目前在国外中高档轿车已普遍应用了汽车总线网络技术,在国产汽车中采用can总线技术已经取得了一定进展,但受制于技术和成本等问题的限制,整体水平比较落后。作为目前最具应用潜力的车载现场总线,can总线技术可为我国汽车产业升级、进一步降低成本,扩大市场占用率提供支持。
现在各中高档轿车都安装了电动车窗,按下按钮就可以控制车窗玻璃的升降。如果车窗没有智能,司机在没有注意到乘客的手或物体伸出窗口,就容易被上升的玻璃夹伤。为了安全起见,现在很多乘用车都采用了电动防夹车窗。在国外,电动防夹车窗已作为强制性标准应用在汽车上。与此同时,司乘人员面对防抢防盗和遇难脱险等意外事故时必须对车窗实行强制开启或关闭。
本文是在贵州省科技厅工业攻关项目“汽车电动车窗can总线控制系统的开发”(黔科合gy字[2008]3032)资助下,充分研究了有关can总线在汽车电子系统中的应用和电动车窗防夹方案,提出了一种基于can总线的轿车车窗智能控制系统的研究方案,可以实现车窗在正常工作模式下具有防夹控制功能和紧急情况下(异常工作模式)快速升降车窗控制功能,使在整车环境下车窗的控制管理更趋向智能化和人性化,提高汽车电子的安全性、灵活性和可靠性。
2 系统功能结构
2.1 can总线通信实现原理
can总线属于多路复用总线的一种,最早是由德国bosch公司研制的主要用于汽车电器系统控制的总线规范。它采用非破坏总线仲裁技术,多种方式工作,直接通信距离最远可达10km,通信速率最高可达1mbps,帧消息采用crc校验和其他检错措施,具有自动关闭错误严重的节点功能。can节点通过报文的标识符滤波实现数据传输,有不同的优先级满足不同的实时要求,节点数取决于总线驱动电路,通信介质可为双绞线、同轴电缆或光纤,选择灵活。报文采用短帧结构,传输时间短,受干扰概率低,保证数据出错率极低。
汽车网络系统中的总线以报文为单位进行数据传输,节点对总线的访问采用位仲裁方式。报文起始发送节点标识符分为功能标识符(如远程开窗命令)和地址标识符(如控制单元节点地址)。
can总线系统共有两种类型的节点:不带微控制器的非智能节点和带微控制器的智能节点。本系统采用智能节点设计,轿车车窗按can总线结构和电器元件在汽车中的物理位置划分为左前、右前、左后和右后四个节点单元,其中左前节点为主控制单元,除负责本地(左前)车窗的升降,还可以远程控制其他车窗的动作。各节点采用独立的带can功能的微控制器进行设计,其can网络结构如下图1所示。
图1 can总线网络结构
2.2 车窗的智能控制
电动车窗系统的每个车门都有一个车窗玻璃升降机构,这与传统的手摇机构很相似,只不过采用直流永磁电机来驱动。电机的尺寸非常小,可以安装在车门里面,并且带有一套减速机构,用来增加输出扭矩、减小输出转速。电机转动方向(即车窗的上下移动)通过改变输入电压的极性来实现,车窗升降速度取决于输入电压的大小。
系统使用一个小阻值(约为1ω)的电阻作为电流传感器,传感电阻与电机串联,其压降与电机的工作电流成正比,通过检测电阻两端的电压来检测流过电机的电流。在传感电阻上的电压未到达设定的阀值之前,电机一直工作,一旦传感器的压降达到阀值,电机停止转动,此时检测车窗位置。如果车窗位置未达到最终位置,说明车窗遇到障碍,车窗自动退回初始位置。如果车窗位置到达行程终点,电机电路断开。为了完成这种操作控制,需要实时控制车窗的位置,为此在车窗导轨的顶部和底部各安装一个压电传感器,根据压力产生的电压大小来判断车窗是否到达事先设定的极限位置。
本文设计的车窗智能系统除了能满足在正常情况下实现自动防夹功能,还要求在遇到突发事件(如歹徒抢劫或乘客遇险逃生等)下驾驶员可以控制车窗的强制关闭或打开。系统对每个节点单元都设计了三个用于车窗控制的按键(k1、k2和k3),其中k1用于控制车窗的上升和下降,是一个二值信号开关;k2是暂停/恢复按键,用于车窗上升或下降途中的暂停,再次按下继续原运动状态;k3是模式选择按键,默认为执行正常工作模式(带防夹功能),按下后执行异常工作模式,具有最高优先级,用于快速设定的车窗上升或下降。主控节点单元即左前节点单元,除负责本地车窗的升降外,还可以控制所有节点单元的车窗同步动作,在前面三个控制按键基础上,增加了一个本地/全局控制模式按键k4,默认为本地控制模式,按键后切换控制模式。
本文以主控节点单元按键动作来说明车窗的智能控制过程,其结构逻辑可表述为如图2所示。
图2 车窗智能控制结构图
3 系统的硬件开发
系统左前节点单元除具有全局控制外,其余节点单元只负责对本地车窗的控制,在硬件上仅多了一个按键k4,功能的不同主要在于软件设计的差异。在本设计中,控制电路不仅要支持节点单元间的can总线通信,还要对压电传感器和负载电流等模拟量进行检测,进行各种逻辑判断,通过驱动芯片完成控制功能。
系统采用p8xc591作为节点单元主控制器。p8xc591是一个单片8位[5]高性能微控制器,具有片内can控制器。它是从mcs-51微控制器家族派生而来,采用了强大的80c51指令集并成功地集成了philips半导体sja1000 can控制器的pelican功能。全静态内核提供了扩展的节电方式。振荡器可停止和恢复而不会丢失数据。改进的1:1内部时分频器在12mhz外部时钟频率时实现500ns指令周期。
控制器p8xc591读取按键信息,驱动车窗电机按预先编制的软件指令运行,同时监测传感器的输出电压和负载电流,作为车窗在上升(下降)过程中与障碍物夹持时的逻辑判断,驱动电机做出反映。各节点单元相关命令和状态通过can控制器以报文格式通过can总线完成与其他节点单元信息间的传输和共享。系统节点单元硬件设计框图如图3所示。
图3 系统节点单元硬件设计框图
电机驱动电路采用motorola公司生产的专用于车身电子的电机驱动芯片mc33486。该芯片带有两个双高端开关和两个预驱动低端开关,两个低端开关可以外接两个mosfet管,具有连续10a电流输出功的能力。同时能够采集电机的电流,利用它反馈给单片机a/d采样模块得到电机电流值,能够完成电机的控制和实现车窗堵转和防夹功能。
4 系统软件设计
软件设计主要包括can控制器的初始化程序、节点的发送接收报文程序和主控程序。
4.1 can控制器的初始化
can控制器在上电或硬件复位后必须进行初始化,为can通信进行的初始化应包括操作模式、验收滤波器、总线位定时、中断和txdc输出管脚等配置。can初始化程序如图4所示。
图4 can初始化流程图
4.2 节点的发送接收报文程序
报文的发送由can控制器根据can协议规范自动完成。首先cpu必须将待发送的数据按特定格式组合成一帧报文,进入can控制发送缓冲器中,并置位命令寄存器中的发送请求标志,发送处理可通过中断请求或查询状态标志进行控制。发送程序分发送远程帧和数据帧两种,远程帧无数据场。
报文的接收程序负责节点报文的接收以及总线关闭、错误报警、接收溢出等其他情况处理。报文的收发主要有两种方式:中断接收方式和查询接收方式。软件设计采用报文接收的查询中断控制方式和报文发送的中断控制方式。报文的接收发送程序流程见图5。
图5 报文接收发送程序流程图
4.3 主控程序
在各车窗节点单元中,左前节点单元功能最为复杂,具有最高的控制优先权。本文详细介绍左前节点单元的主控程序设计过程,其他节点只需稍加修改即可应用,限于篇幅,不再另行论述。首先进行系统的初始化,包括p8xc591控制器的can模块初始化、中断、i/o端口、定时模块、watch dog模块、a/d模块和全局变量的设置,同时还要对电机堵转时的最大电流和车窗到顶(底)时传感器的电压阀值写入eprom。p8xc591将实际测得电流值与eprom中的标定值比较来实现防夹功能,将电压阀值与测得的传感器电路电压值比较来判断车窗到达极限位置。初始化完成后,读取组合按键信息,根据按键动作实施具体的操作,同时发送can报文,完成各节点单元间的can通信和智能化控制。左前节点单元主控程序及正常工作情况下车窗上升过程子程序流程图如图6、图7所示。
图6 左前车窗单元主控程序流程图
图7 正常工作情况下车窗上升过程子程序流程图
5 系统主要技术参数和功能
电动车窗控制系统除了具有车窗自动上升、下降和手动暂停、恢复功能外,还有以下功能:
5.1 防夹功能
初始化后,手动和自动上升时都有防夹功能,而且防夹的次数不受限制。
从车窗上极限下沿40mm往下,车窗上极限上沿40mm往上的区间为防夹区间。
在室温(22±5)℃、80mω的线间电阻、15v的工作电压,以10n/mm的测量仪测量时,玻璃上升的防夹力<100n。
5.2 省电模式
在输入信号消失120ms后,且电动机温度接近室温25℃时,该系统自动进入省电模式,静态电流<300μa。当电动机控制单元一旦得到输入指令就被唤醒了。
5.3 软停止功能
为了防止车窗玻璃上升到顶或下降到底时,电动机受到冲击堵转而降低电动车窗机械的使用寿命,需要有软停止功能,并且手动或自动上升、下降时都有此功能。上升软停止当玻璃上升快到顶部时,即在上升软停止点时,会切断电动机的电源使其停止工作,同时通过电动机的惯性使玻璃上升到顶。此上升软停止点为上极限位置下约2mm处。当玻璃下降快到底部时,即在下降软停止点时,会切断电动机的电源使其停止工作,同时通过玻璃下降的惯性使玻璃下降到底。此下降软停止点为下极限位置上约12mm处。
5.4 电动机保护功能
对电动机采取保护措施,可以明显提高电动机和整个电动车窗系统的使用寿命。在电动机堵转的250ms内,控制单元会切断电动机电源,使电动机停止工作。在控制单元接通电源后,如果没有进行初始化,则电动机的初始温度定为80℃;如果进行过初始化,则电动机初始温度定为160℃。正常情况下,如果电动机温度达到170℃,则输入的指令无效,一旦电动机温度降低后就恢复功能;如果电动机温度到190℃,则立即停止电动机的工作,一旦电动机温度降低后就恢复功能。
5.5自诊断保护功能
为保证系统的可靠性,同时提高系统的平均无故障时间,采用了自诊断保护措施:如果电源电压超过16v±0.5v,关闭自动上升功能。
5.6 系统抗干扰设计技术
系统通过滤波电容降低噪声的耦合,收发器pca82c250与can总线之间加接光电隔离芯片6n137,并采用dc-dc变换器隔离电源。总线两端接终端电阻以消除反射信号。软件设计中嵌入看门狗[7],进一步提高了系统的可靠性。
6 结束语
本文设计了基于can总线的轿车车窗智能控制系统,节点单元以p8xc591单片机为核心,将车窗电机和电子控制部件连入系统中,采用can总线进行数据之间的传输、共享和查询,达到分布式控制的目的。与传统的汽车电器手动操作和点对点式互联方式相比,采用can[8]总线技术,接线明显减少,车身系统结构简单,系统可靠性得以提高,更易于维护。同时,系统通过监测车窗电机的电流实现电动车窗的防夹功能,并针对人身安全隐患设计了强制车窗“动作”功能,使整车的智能化、人性化和安全性得到进一步提高。本文所提出的方案具有较强的可移植性和可扩展性,同样也适用于汽车电气系统的智能化升级,开发其他功能更为强大的can总线智能产品。