LPC2138CPU芯片是基于ARM的32位处理器,在本测试仪中处于核心地位,用于采集开关量数据、运用特定的算法判断开关触头的好坏以及将测试结果输出到液晶显示模块。由于开关的触头数一般不会超过32个,因此只将P0口配置成GPIO输入口,用于采集32位开关量数据,而P1口被配置成GPIO输出口,用于向液晶显示模块输出控制信息和数据信息。

TG12864是128×64的液晶显示模块,该模块与LPC2138CPU芯片的P1口接口,用于显示开关的测试次数,当有触点损坏时,还要显示坏触头的序号及开关的寿命。

3.2 测试仪的软件设计

测试仪软件的关键技术是,在采集开关量数据后正确判断开关的好坏和触头的好坏,因此设计测试仪软件关键在于设计如何判断开关好坏和触头好坏的算法以及如何实现算法。

(1)判断开关好坏的算法

CPU的采集频率要高于开关的动作频率,前后两次采集到的32位数据D0和D1可能是开关保持一个状态时采集到的两个数据,也可能是开关动作前后采集到的两个数据。在开关完好的情况下,如果D0和D1是在开关保持一个状态时采集到的,这两个数据应该完全相等,它们异或的结果是0。如果D0和D1是在开关动作前后采集到的,这两个数据的对应位应该相反,它们异或的结果是ffffffff。因此,开关完好时,D0和D1异或的结果只能是0和ffffffffh。如果结果不为0和ffffffffh,则表明开关已坏,但具体是哪些触头损坏,还需进一步判断。

由上述方法,设计出以下判断开关好坏的算法:

a.采集一个32位的开关量数据D0;

b.采集另一个32位的开关量数据D1;

c.求D0和D1的异或运算结果D2;