3.2 编码“0”脉冲产生和接收
当发射“0”脉冲时,停止发送任何红外信号。
在相当于第17、19、21和23个载波脉冲时间的时候,检测接收引脚P52。如果P52=1,则表明存在干扰的红外信号;如果P52=0,则表明没有其他红外信号的干扰。
在这4次判断过程中,如果有3次以上判断为没有其他红外信号的干扰,则确认正确地接收到“0”。
实现的软件流程如图6所示。

图6 发送编码“0”流程
4 抗干扰能力分析
在应用中,发现发送和接收低于6位的编码脉冲,仍然有一定的受干扰现象发生;但发送和接收高于10位的编码脉冲,已经具有较强的抗干扰能力。实 际上,在发送编码为“0”时,是没有红外信号存在的。对于随机而频繁的干扰信号,这时很容易检测到干扰的存在。
发送编码的实质是:
① 当编码位为“1”时,检测是否存在障碍物。这时如果有信号的反射,则表明在测量的范围内有障碍物。如果接收不到反射的信号,说明没有障碍物,或者是障碍物超出测量的范围。
② 当编码位为“0”时,检测是否存在干扰。这时如果有干扰信号,则表明发射“1”测到的障碍物,有可能是由于有干扰信号而导致的错误判断。
5 编码的方案
应用中,发送编码的方案有3种:
① 发送较短的编码串(10~16位),判断时间约6~10 ms。在接收过程中,不能有一位的误码,否则认为是干扰,要等待下一次的障碍检测。这种方案在检测过程中,不能存在干扰。
② 发送大于16位的编码串(16~32位),判断时间约10~20 ms。对接收“0”和“1”的编码误码统计,其中可以根据应用场合的需要,存在 1~2位“0”的误码和 1~3位“1”的误码,这样能有效提高抗干扰能力。
③ 发送大于32位编码串,判断时间 >20 ms。根据实际情况来分析接收的编码,以判断障碍的存在。
实际应用中,采用24位编码,分3次发出。3次发射的编码如表2所列。
表2 发射的脉冲编码表

当不多于2位“0”的误码和2位“1”的误码时,确认障碍物的存在。