新闻中心

EEPW首页>测试测量>设计应用> 燃料开关测试系统的设计与实现

燃料开关测试系统的设计与实现

作者: 时间:2009-12-21 来源:网络 收藏

的TX端发送高电平时,A点为高电平,Fuel Switch信号线也将接收到高电平,同时,的RX端也会接收到高电平。同理,当的TX端发送低电平时,FuelSwitch信号线也将接收到低电平,同时,测试系统的RX端也会接收到低电平。
向测试系统发送应答信息时,测试系统的发送端TX置高电平,则接收端RX将收到燃料开关发送的信息。
如果燃料开关与测试系统同时发送信息时将出错,因此,测试系统的串口是处于全双工状态,而燃料开关的信号端是处于半双工状态,这样就实现了全双工至半双工的转换。

本文引用地址://m.amcfsurvey.com/article/195572.htm


3 测试系统控制模块
控制模块是整个测试系统的核心部分,它利用单片机P89LPC938来控制测试系统。
P89LPC938有最少23个I/O口,选择片内振荡和片内复位时可多达26个I/O口;8输入多路10位A/D转换器;2个模拟比较器,可选择输入和参考源;2个16位定时/计数器(每一个定时器均可设置为溢出时触发相应端口输出或作为PWM输出)。
该模块要完成的任务是对燃料开关的功能进行测试、过压保护与监测以及频率检测。下面对这三个部分做详细讲述。
3.1 燃料开关功能测试
上面提到燃料开关的主要功能是燃料容量显示、蜂鸣器报警,燃料切换及指示灯亮度调节等。要保证产品的质量,需要对燃料开关进行全功能测试。
测试人员通过PC机向控制单元发送功能测试命令,所有命令组成了一个指令集,单片机根据检测到的命令信号来判断需要对产品的哪项功能进行检测,据此把执行该功能的命令序列发送给燃料开关。因此,每条指令信息中要包含该项功能测试的全部信息。单片机通过通信接口的TX发送端向燃料开关发送上述命令序列,产品收到有命令信号序列后,会先进行校验以确保收到的命令是正确的。一旦确认收到的正确的命令,开关产品会反馈命令确认信号给测试系统,测试系统因此可以确定所发出的命令序列已经被正确执行,从而实现一些有效测试。
根据设计要求,一个命令序列由四个字节组成,分别是CMD命令,数据D1,数据D2和校验信号C。CMD命令用于标识需要执行的指令类型,即是哪一项功能检测,D1,D2提供执行该命令所必须的辅助数据,例如如果需要测试报警若能,数据字节可以用来指定以什么频率、音调、音高、持续时间等参数,校验字节用于燃料开关确认该命令序列是否有效以免通信错误造成误动作。下面以燃料容量显示为例,给出测试的过程:
(1)测试人员从PC 机通过串口向测试系统发送燃料容量显示检测信号。燃料开关是用多个LED灯指示燃料的容量,“volume”代表容量测试命令。
(2)单片机P89LPC938通过串口接收到“volume”命令,从指令集中提取相应的指令信号。图4给出单片机向燃料开关发出的一条燃料容量显示指令。
CMD为0000 0001,表明此指令为燃料容量显示功能测试指令。当对蜂鸣器报警功能进行测试时,CMD为0000 0010;对燃料切换功能进行测试时,对应的CMD为0000 0011;对指示灯亮度调节功能进行测试时,CMD为0000 0100等,它们在开关设计时就做出了约定。D1为0000 1000,表示对LED4进行测试,即D1的每个位对应一个LED,置1时表示对相应的LED进行测试。该字节对于不同的测试内容具有不同的意义,如对蜂鸣器报警功能测试时,D1指示蜂鸣器报警次数,即0000 0101表示报警5次;对燃料切换功能测试时D1为0或1,分别代表一种燃料;在指示灯亮度调节功能测试时D1又被用于表示显示元件的亮度,如1111 1111表示最大亮度。
D2通常会是对D1所指对象量的进一步规定。对于图4所示的燃料容量测试,D2的值为0000 1001表示LED4将闪烁9次。其他测试状态也相似,例如对蜂鸣器报警功能而言,D2表示对蜂鸣器基频信号的分频数。C是校准字节,0000 0001表示对数据D1,D2做异或处理。

(3)单片机将上述命令信号发送给燃料开关的信号端,通过校验,燃料开关判断信号是否有效,如果有效就会将单片机发送来的信号进行处理后重新发送给单片机作为测试指令已经被确认的反馈。若无效,将放弃此次测试。
(4)测试人员判断LED功能完好后可以通过PC机保存测试结果。
其他功能测试的实现与上述过程相仿,不再赘述。

蜂鸣器相关文章:蜂鸣器原理


评论


相关推荐

技术专区

关闭