红外通信原理
接收
以VS1838B红外接收管为例,正面对着你,引脚从左到右依次为OUT,GND,VCC
,电路图为
工作电压2.7~5.5V,红外接收头只接受38K信号(误差范围内),我们把接收头看出一个转换器。遇到38K就输出低电平,没有遇到38K就被上拉成高电平。
红外发射部分
电路图
调制的信号如图
注意:原始信号为高,二极管不输出。
协议
以NEC为例,首先是逻辑1和逻辑0 的确定,然后是协议格式。
上图所示为NEC协议的典型脉冲链。协议规定低位首先发送,如上图所示的情况,发送的地
址码为”59”,命令码为”16”。每次发送的信息首先是用于调整红外接收器增益的9ms AGC(自动增益控制)高电平脉冲,接着是4.5ms的低电平,接下来便是地址码和命令码。地址码和命令码发送两次,第二次发送的是反码 (如:1111 0000的反码为0000 1111),用于验证接收的信息的准确性。因为每位都发送一次它的反码,所以总体的发送时间是恒定的(即每次发送时,无论是1或0,发送的时间都是它及它反码发送时间总和)。这种以发送反码验证可靠性的手段,如果你不在意,则你可以忽略它,或者是扩展你的地址码和命令码为16位,这样就可以扩展整个系统的命令容量。
尽管你一直按住那个按键,一串信息只能发送一次。如果一直按着按键,发送的则是以
110ms为周期的重复码,重复码是由9ms的AGC高电平和4.5ms的低电平及一个560us的高电平组成。
---------------------------------------------------------------------------------------------------------------------------------
1. 一个完整的IR波形,它主要由5个部分组成:
前导码(Head Code)+ 客户码(Customer Code)+ 客户反码 + 数位码(Data Code) + 数位反码
前导码也叫引导码 代表一次传输的起始标志。
NEC协议的前导码:
9ms 高电平+4.5ms 低电平。
2. 用38khz原因:
为什么用38KHZ,是因为这样可以提高红外线的抗干扰能力,避免大气中的红外线干扰。原理如下调制载波频率一般在30khz到60khz之间,大多数使用的是38kHz,占空比1/3的方波,发射端所使用的。
38K载波可提高信号抗干扰和传输距离。
3. 调制:
就是用待传送信号去控制某个高频信号的幅度、相位、频率等参量变化的过程,即用一个信号去装载另一个信号。比如我们的红外遥控信号要发送的时候,先经过38K调制,如图1所示。
图1 红外信号调制
二.NEC协议:
1.首先发送端是需要发送二进制信号编码,二进制信号编码由 Customer Code (客户码) 和 Data Code (数位码) 两部分构成。
2. 一般都采用载波提高红外信频率,提高发射效率,载波频率为38KHZ:
用38KHZ的高频信号去调制然后通过红外二极管发射出去,那么就是在信号高电平期间加载波,
38K调制波形:
3. 协议中一个bit的表示:
0:一个560us高电平+560us的低电平 合计 1.12ms
1:一个560us高电平+1690us的低电平 合计 2.25ms
Note:对于测试红外接收头的信号来说,有脉冲信号的地方就是高电平。即逻辑“1” 为 0.56ms 高电平+1.69ms 低电平,逻辑“0”为 0.56ms 高电平+0.56ms 低电平。
波形与数据组成:
波形与数据:
上图为典型的 NEC 协议传输格式,起始位(引导码)为 9ms 高+4.5ms 低组成,有效数据为地址+地址反码+命令+命令反码。反码的作用是用来校准前面的地址和命令,如果对可靠性不感兴趣,也可以去掉取反的数据,或者将地址和命令扩展到 16 位
上图传输的地址数据为 10011010,需要注意的是先发低位地址再发高位地址,因此该波形的地址为 01011001=0X59,同理,命令为 00010110=0X16。