基于单片机实现遥控编码器PT2262的软件解码
扫描二维码
随时随地手机看文章
PT2262是红外遥控编码器,PT2272是其接收解码器,两者常常配对使用,现已广泛用于汽车门控、遥控门锁、门禁管理等领域,也可用于传送数字信息。PT2262具有19位二进制编码功能;PT2272的解码只有4~6位,这就限制了数据传输的应用。在此从PT2262接收的信号特征入手,利用8051F330单片机直接对接收到的信号进行解码,解释出PT2262发出的全部19位数据,从而使其应用于数字通信、智能化控制等领域。
2 硬件电路
图1是发射装置的原理图,PT2262作为编码器,当按下按键时,设定的地址码和数据码从17引脚串行输出,经红外发射元件IRED发出信号。通过电阻Rosc调节发射频率,适当提高PT2262工作电压(2.6 V~15 V),以增大发射距离。其中A0~A12可设置为高电平、低电平、悬空三种状态,因此可以发送531 441种编码组合,完全满足设计需求。
接收装置采用集红外线接收、放大、整形于一体的集成电路TL0038,无需任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,故适用于各种红外线遥控和红外线数据传输。译码采用8051F330D单片机,11.059 2 MHz晶体振荡器,接收信号送至I/0端口P1.0进行软件解码。接收和译码电路如图2所示。
3 解码原理
编码器PT2262发送的编码信号是由:地址码、数据码、同步码组成的一个完整码字,最多可以有12位(A0~A11)三态地址端引脚(悬空、高电平、低电平),任意组合可提供531 441个地址码。将编码器PT2262的A8拉高,D3拉高,D0拉高,D1拉低,其余悬空。截取一段接收模块信号输出波形如图3所示,PT2262每发射一次,至少发送4组相同编码字码。每组字码间隔(低电平)约14 ms。
将其截获波形每组字码放大,如图4所示,一组字码有12位A/D码,每个A/D位是由2个脉冲表示:2个窄脉冲则表示“0”:2个宽脉冲表示“1”;1个窄脉冲和1个宽脉冲表示“F”,即地址码“悬空”:除此之外,每组字码之间还有1个同步码隔开,所以每组字码共计有25个宽度不同的脉冲。窄脉冲宽为200μs,宽脉冲宽为1 200μs;两个窄脉冲之间宽1 200μs;两个宽脉冲间宽200μs;宽窄脉冲间宽为200μs;在4组字码中,每组的字码间隔为14 000μs。因此,采用单片机软件解码时,只要判断出起始码,并且识别其后面的字码脉冲宽度即可。
4 抗干扰措施
常用抗干扰措施,是在硬件电路中采用电源滤波、电源稳压、数字地与模拟地隔离。在设计中,除采用上述方法外,还根据干扰信号与有效信号波形特征异同点,采用软件识别干扰信号和有效信号,从而实现“抗干扰”目的。
当遥控器不发射时,由于空气中各杂波干扰,接收模块的信号输出端仍然会有干扰信号,截获波形如图5所示。
观察其特征,低电平最长为3 000μs,最短数十微秒;高电平最长500μs,最短数微秒.与发射时接收到的规则波形(即非有效信号)相比较,低电平为1 400μs的信号,是有效信号,而不是干扰信号。
并将A0~A34个地址焊接到高电平上作为发射编码信号的帧前码,可解决误码率和干扰问题。
5 软件解码
步骤1:单片机循环记录接收模块信号电平脉冲的长度。高低电平都记录。
步骤2:从记录高低电平组成的波形中,找出连续8个1 200μs时长的脉冲信号为特征波形段,即帧前码。
步骤3:确认帧前码之前是否存在一个时长为14 000μs的低电平,如果有(则说明不是干扰码),将解码并存储结果,然后根据指令码执行相应控制功能。如没有,则放弃记录的数据,重复步骤1,直到满足条件为止。
以下给出了相关软件解码的程序代码:
}
}
6 结束语
该软件解码部分已在8051F330D单片机(11.059 2 MHz晶体振荡器)上通过现场测试,设计方案可应用于门禁管理系统。实践表明,应用方便、可靠性好、代码识别准确。