单信号检测功能主要是检测主信号电压SIG1的同步度,线性度等是否在设定范围之内。单信号加开关量检测是在单信号检测的基础上增加了开关量的检测,具体如图3所示。
双信号检测主要是检测两路电压信号SIG1和SIG2的同步度和线性度是否在设定的范围之内,保证实测信号曲线在理想信号曲线之间。另外,对空行程的怠速电压等也有具体的检测规定,这里依据油门类型的不同,分别进行其标准的设定。双信号加开关量检测主要是在上述双信号检测基础上增加了一个开关量检测,在设定电压范围内检测开关电压的高低变化,进而判断其正确性,具体如图4所示。
2 系统通信协议
此系统采用串口通信协议,波特率默认设置为9 600 b/s,此项可调节。设定字符格式为1个起始位,8个数据位和2个停止位,中间8位即为有效数据。
上位机发出指令格式:0xAA+指令+校验码(和为0校验)。指令内容为单次测试指令:0x91;循环测试指令:0x92;测试结束:0x94。
每个单次测试下位机发出数据格式为:6个0xBB字节作为数据的开始标志,中间为采集的实时数据(数据分组发送,一个循环一组数据,每组数据以角度递增 O.5度为一个值),最后为6个0xCC字节作为数据的结束标志。数据内容为10位A/D采集的原始值,基准电压5 V。中间具体采集的实时数据格式为数据类型(6个二进制位)+数据内容(10个二进制位)。部分数据类型具体定义见表1所示。
3 系统软件的实现
3.1 主要功能模块的软件实现
电子油门检测系统由上位机软件和下位机软硬件两部分组成。下位机软件用C语言编写,具体的硬件设计电路和软件编程部分这里不再详细说明。上位机软件由三个主要功能模块构成,它们是油门通信模块、参数设置模块、信息管理模块,总体设计流程如图5所示。首先进行系统初始化,包括串口通信初始化、产品参数设置初始化(读取后台数据库中的第一条记录作为默认设置数据),等待上位机发送检测命令,下位机依据协议验证后传送实时信号检测数据,同时显示实时信号曲线,然后依据设置条件判断该产品合格否,并将结果进行存储等后期处理。
在通信模块中,直接采用微软通信控件MSComm。考虑到串口收发数据的速度,这里的程序在处理实时数据时采用先接收、后处理的方法,防止串口通信实时数据的丢失,具体程序实现流程如图6所示。