红外遥控技术在我们的日常生活中应用非常广泛,比如我们的遥控器。通过遥控器发射红外光,电视,空调装有红外接收管,负责接受红外光。那么本节将重点介绍其中的原理。
一、工作原理
上图的HS0038便是装在空调,电视上的红外接收端,用于接收红外信号。
下面我们重点介绍遥控器的工作原理。
原始信号的频率比较低,一般在通信领域不适合用来传输信号。为了让信号传输出去,那么我门就需要一个高频信号去装载低频信号。我们的遥控器通常采用38k的载波信号作为这个高频信号。于是,38k载波信号与原始信号装载就成了调制信号。当原始信号为0时,装载38k,为1时就保持原有信号。
接着看接收端,为了实现遥控,接收端也得保持着与原始信号相同的信号(注意:此处是原始信号,不是调制信号,原始信号只是无法传输,但执行命令时,依然依靠原始信号)当HS0038接收到调制信号时,如果为38k,就把输出引脚清0,反之,则置1。(这个过程称为解调)如下图。
二、NEC协议
NEC协议:红外遥控器在发送数据时,传送那些数,这些数,哪个先发,哪个后发,都是根据这个协议
上图便是NEC协议的规定。
引导码:可以理解为告诉接收端,“你要准备接收信号了”。其中引导码分为9ms的38k载波信号和4.5ms的空闲信号。并且在有载波时输出低电平0,无载波时(即为空闲状态)输出高电平1。
接下来的4个码,每个码占一个字节,但NEC协议中有着一套自己的编码规则,即逻辑“0”与逻辑“1”如下图。
560的载波与560的空闲被定义为逻辑0,560的载波与1.68的空闲被定义为逻辑1。而HS0038接收到的信号便是有载波置0,无载波置1(如下图)。
接下来我们看一下完整的信号。
重点来看一下红色框里的键码。前2个方波信号为逻辑0,中间发生了变化产生2个逻辑1,后面依旧是逻辑0。而上图为发送信号,HS0038接收的信号要与其镜像(接收到的键码为00001100)
对于键码和键码反码,我们一直都用16进制表示。
键码:00001100——0xCH
只要我们掌握了NEC协议,那么就可以把遥控器上的每个键码,以便控制它们。如下图
三、总结
重点:NEC协议
难度:NEC协议
NEC协议与我们之前学习的串口有异曲同工之妙。所以学会了UART,再来学它就较为轻松。