1 引 言
随着社会经济的快速发展,城市交通日益繁忙,交通安全问题越来越受到人们的重视。在车辆行驶过程中,驾驶员必须根据道路、交通条件的变化www.cechina.cn,及时对车辆行驶方向和行驶速度进行调节,使汽车获得良好的行驶性能和燃油经济性能。频繁换档使驾驶员容易疲劳,注意力分散,致使交通事故增加。本文介绍了一种基于CAN总线的客车轻便换档系统的设计,利用机电一体化技术实现了客车换档的轿车化。系统主要是结合客车的换挡系统进行的开发设计,包括前后两个节点,前置节点为手柄控制发令节点,后置节点为执行控制节点,系统总体框架图如图1所示。
2 系统应用设计
2.1 系统硬件结构及控制原理
为使系统达到反应灵敏、可靠性高的设计要求,前后节点的控制单元均采用Philips公司生产的P87C591单片机,他成功包括了Philips半导体SJAl000 CAN控制器的PeliCAN功能,符合系统设计要求。主控系统CAN通信部分电路图如图2所示[1]:
 
系统的主要控制过程为:前置节点根据手柄位置的不同以及离合开关的开合实时采集信号并经过逻辑判断处理成档位命令,通过CAN总线传输到后置节点,后置节点接到档位命令后,结合车速、发动机转速及当前挡位对换档时机进行判断,然后向执行器发出动作指令。执行器按指令要求使相应的电磁阀开始动作,从而控制对应气缸动作,来实现挡位的变换。在挡位转换完成后www.cechina.cn,还要对反馈信号处理www.cechina.cn,确定换挡动作完成后,再做出下一步的操作。车型有5个上挡位和一个倒挡位,采用电控气操作方式,其具体挡位与电磁阀位置如图3所示。
如图3所示,当阀1通气、阀2断气时,活塞被推到气缸右端,通过活塞杆把拨叉推到预定位置,将此位置定义为KA层;当阀1断气、阀2通气时,定义为KC层;当两个阀都断气,由于变速箱内回位弹簧的作用,将会自动定位到中间层,定义为KB层。层位选定后,再通过相应位置上两个上档气阀的作用以实现不同方向的上下档动作,从而完成预定的选档和换档动作。
2.2 系统软件设计
实际应用对系统的实时性与可靠性要求较高CONTROL ENGINEERING China版权所有,在软件设计中采用了多任务实时操作系统μC/OS-Ⅱ的编程方法,即将应用程序分解为若干个独立的进程,再另外创建一个监控进程,监视各个进程的运行情况,这样就保证系统运行的实时性和可靠性[2]。
系统采用Keil C51编译器,结合所用单片机P89C591的技术特点,移植一个支持P89C591的μC/OS-Ⅱ操作系统的工作内容包括:
(1) 在OS_CPU.H中用#define设置一个常量值用于控制任务堆栈的增长方向。
(2) 在OS_CPU.H中声明10个数据类型。
(3) 在OS_CPU.H中用#define定义3个宏。
(4) 在OS_CPU.C中编写6个简单的C语言函数,即初始化任务堆栈、任务创建钩挂函数、任务删除钩挂函数、任务切换钩挂函数、统计任务钩挂函数和定时钩挂函数。
(5) 在OS_CPU_A.ASM中编写4个汇编语言函数。
系统共需创建4个任务,系统任务分配情况如图4所示。
CAN总线扫描任务定时扫描CAN总线的各寄存器,用于接收前置节点发送的手柄位置信号。
显示任务主要担任显示、刷新等职责,用于调试过程中观察动作的完成情况。
系统主任务用于执行数据的逻辑分析判断及超限报警等功能。