该子系统也是一个基于ARM单片机和CPLD为主要硬件框架的嵌入式计算机系统,并可通过现场总线,进行系统扩展。该子系统通过实时读入模拟负载子系统中监测信号,监测PCM在耐久性测试过程中输出的所有负载信号的变化情况,包括信号的变化周期,部分重要信号输出的时序等,并将监测结果,通过现场总线上传到工控机。
图6 点火、喷油信号监测原理
点火和喷油信号是汽车发动机中的关键信号,其周期和时序直接关系到汽车的运行状态,因此监测它们的周期和时序尤为重要。本系统监测原理图如图6 所示,对于点火信号的监测,主要是监测它与CPS信号的同步,以及两个或四个点火信号之间的时序关系。当CPLD寻找到点火信号与CPS同步的起始点后,根据输入的PIP_IN信号,对各点火信号进行计数。每当一个点火周期完成后,在下一个点火周期向ARM 单片机产生一个中断信号。该中断信号触发ARM 单片机进入中断处理程序,在该中断程序中,ARM单片机读入对各点火信号的计数值,判断点火信号的时序和周期,并设置点火信号正常与否的标志。对于喷油信号的监测,主要是监测它与CPS信号的同步,以及它们之间的时序关系。当PIP_IN信号中四个喷油信号中任何一个信号的下降沿到来时,CPLD都会监测其它三个喷油信号的状态,如果其它三个喷油信号的状态正常,即给出喷油信号正常标志,反之给出喷油信号异常标志。
对于PCM模块中频率变化较低(比如2Hz)的慢速信号,本系统采用RS232的总线读取方式由ARM 监测它们的周期变化。
3.4 现场总线通信子系统
由于整个系统的各个子系统之间需要双向传送大量的数据,因此对系统的通信性提出了很高的要求:一方面要有较高的通信速率;另一方面又要有较灵活的协议转换。由于CAN总线具有突出的可靠性、实时性和灵活性,因而得到了业界的广泛认同和运用[7]。本系统采用以CAN总线为主,兼有K-LINE、 GPIB、RS485、245总线的现场总线通信子系统,并可灵活组成多个通信子网,完成多模块测试的要求。本系统采用两个CAN子网(CAN0、 CAN1),对于每个PCM而言,信号发生模块和负载监测模块、PCM组成一个通信子网CAN 1。工控机通过通信子网CAN0将各个子网连接在一起。
信号发生子系统与工控机的CAN通信:(1)设置信号发生模块,其设置范围主要是CPS类型、启动CPS、启动正弦信号的产生及开关量输入继电器;(2)控制和读取PCM故障代码。信号发生模块是工控机与PCM通信的中转站。当工控机设置PCM或者在运行过程中读取PCM模块的故障信息时,首先通过CAN0向信号发生模块发送指令,信号发生模块接收到该指令后,只将ID更改后通过CAN1发送到PCM模块。同理,信号发生模块接收到PCM返回的 CAN报文后,只将ID更改后通过CAN0发送给工控机。考虑到不同PCM类型的通信接口差异,在信号发生模块和PCM之间还添加了KLIN总线。当要设置PCM或读取PCM的故障代码时,信号发生模块通过CAN0接收指令,转化成KLIN报文后,发送到PCM模块;同理,从PCM返回的KLIN报文,由信号发生板转换成CAN报文后通过CAN0返回到工控机。
负载监测子系统与工控机之间的CAN通信:(1)设置继电器矩阵。工控机向负载监测模块发送设置继电器矩阵的指令,负载监测模块接收到指令后,将继电器矩阵信息传递给对应模拟负载模块;(2)读取负载监测信息。在系统工作时,工控机不断向负载监测模块发送查询负载监测信息的指令,负载监测模块接收该指令后,将当前的PCM负载监测数据组合成CAN报文的形式发送给工控机。
此外,模拟负载子系统通过RS245总线与负载监测子系统相连,将继电器矩阵信息传输给各个模拟负载模块,完成负载的切换工作;大功率程控电源通过GBIP与工控机相连,接收工控机的电源设置;环境实验箱通过RS485 与工控机连接,接收其设置命令,调节环境温度和湿度。
4、结论
目前,该系统已成功用于长安CB系列的PCM、STC 1××和2××系列的PCM耐久性测试,验证了系统的通用性及可靠性。由于摩托车的PCM与汽车PCM原理相近,因此,它同样适合摩托车PCM耐久性测试。虽然该系统可能还存在一些缺陷,但通过不断地改进和升级,必将为开发汽车发动机控制系统提供扎实的设备保障。