基于89C52的PWM红外解码的研究
摘要:
由于红外遥控的实用与经济性,本文研究PWM方式调制的红外解码的实现。
红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
1红外遥控系统
通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如下所示:
(一)发射部分 键盘矩阵、编码调制、LED红
外发送器
研究中应用三洋(LC7461)彩电遥控器(实物图如下:)
(二)接收部分
研究中应用VS0038一体化红外接收头(实物图如下:)
红外接收头 VS0038
光/电放大 解调 52单片机解码 键盘 编码调制 红外LED发射(38KHz的载波) 能够正常接收的角度
2 遥控发射器及其编码
(1)遥控发射器专用芯片很多
(2)根据编码格式可以分成:脉冲宽度调制和脉冲相位调制两大类
现在我们研究以运用比较广泛,解码比较容易实现的脉冲宽度调制来加以说明,用LC7461组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: (a) 采用脉宽调制的串行码
(b) 以脉宽为0.565ms、间隔0.56ms、周期为
1.125ms的组合表示二进制的“0”
(c) 以脉宽为0.565ms、间隔1.685ms、周期为
2.25ms的组合表示二进制的“1”
遥控器发出由“0”和“1”组成的42位二进制码,经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,LC7461产生的遥控编码是连续的42位二进制码组,其中前26位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码用于核对数据是否接收正确。
(其中的地址码为用户识别码,它又分为用户码与用户反码)
当遥控器上任意一个按键按下超过36ms时,LC7461芯片的振荡器使芯片激活,将发射一个特定的同步码头,对于接收端而言就是一个9ms的低电平,和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始接收数据。
解码的关键是如何识别“0”和“1”,从位的定义
我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右即可。
根据红外编码的格式,程序应该等待9ms的起始码和4.5ms的结果码完成后才能读码。 接收器及解码
VS0038是塑封一体化红外线接收器,它是一种集红外线接收、放大、整形于一体的集成电路,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,没有红外遥控信号时为高电平,收到红外信号时为低电平,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。
下图是按照红外遥控器按键的实际位置给出的32个按键的键值(16进制)