红外遥控是利用近红外光进行数据传输的一种控制方式。近红外光波长0.76um~1.5um,红外遥控收发器件波长一般为
0.8um~0.94um
,具有传输效率高,成本低,电路实现简单,抗干扰强等特点,在家用电器上被广泛使用。
红外遥控一般有发射和接收两部分组成,发射元件为红外发射管,接收一般采用一体化红外接收头,但发射载波频率与接收头固定频率需一致才能正确接收。
一、发射
1. 调制
红外遥控是以调制方式发射数据,将数据调制到固定的载波上发送,调制发送抗干扰能力更强,传送距离也更远。红外发送首先要解决的就是调制问题。 目前主流的调制方式有PPM和 PWM 。- PPM:脉冲位置调制,调制脉冲宽度不变,用脉冲间隔来区分 0 和 1 。如下图所示,脉冲宽度不变都是 560us ,脉冲间隔改变。逻辑 1 总时间为 2.25ms ,逻辑 0 中时间长度为 1.12ms 。
图1: PPM 调制
- PWM:脉冲宽度调制,脉冲间隔不变,调制脉冲宽度改变。如下图所示,脉冲间隔 为600us,脉冲宽度不同。逻辑 1 高电平时间为 1.2ms ,逻辑 0 高电平时间为 0.6ms 。
图2: PWM 调制
调制载波频率一般在30KHz到 60KHz 之间,常用的载波有 33K , 36K , 36.6K , 38K , 40K , 56K 等,其中 38K 使用最多。
常用占空比有1/3、 1/2 , 1/3 最多。
2. 红外传输协议
常用的红外传输协议有ITT协议、 NEC 协议、 Nokia NRC 协议、 Sharp 协议、 Philips RC-5 、 RC-6 RECS-80 协议、 Sony SIRC 协议等,其中最常见的为 NEC 协议。 常见NEC协议分析: l 载波38KHz,逻辑 1 为 2.25ms ,脉冲时间 560us ;逻辑 0 为 1.12ms ,脉冲时间 560us
图3: NEC 逻辑’0’与逻辑’1’
l 协议格式
图4: NEC 红外载波发送协议
(1) 首先发送9ms的高电平脉冲
(2) 然后发送4.5ms的低电平
(3) 接下来是8bit的地址码(低位在前)
(4) 然后是8bit的地址反码,用于检验地址码是否出错
(5) 接下来的是8bit的命令码(低位在前)
(6) 然后是8bit的命令反码,用于检验命令码是否出错。
l 重复码
图5: NEC 重复发送载波协议
如果一直按着一个键,将以110ms为周期发送重复码,重复码由 9ms 高电平、 2.25ms 低电平及 560us 高电平组成。
图6: NEC 重复码
3. 编码
虽然不同协议都对各自的协议格式做了不同定义,但总体而言还是有高低电平组成的一串数据。 对于红外发射,就是按照协议规定高电平时间内,在红外输出口输出固定频率载波;低电平则直接输出低。红外接收头接到载波时输出高电平,没有载波时输出低电平,完成数据解码。
图7: NEC 解码后协议
二、接收
红外接收常采用一体化红外接收头,集红外接收、放大、滤波、比较器输出等功能,并输出MCU可识别的 TTL 信号的。常用的一体化红外接收头有 SCR638 、 HS0038 、 VS1838 等。
SCR638
HS0038
图8:一体化接收头
红外接收应用电路图:
图9:红外接收典型应用
三、ESP8266红外发送与接收
ESP8266定义了 1 个 IR 红外遥控接口, IR 红外遥控接口由软件实现,接口定义如下:图10: ESP8266 红外管脚定义