【基础知识】NEC红外编码

硬件层

规定

因为使用的是红外信号,日常的生活中会有许许多多的的红外信号(太阳),有很多是是与发射的频率相同或接近的,

因此,规定发送的是以38kHz闪烁的信号(后文所称的闪亮均为这种信号)为检测到的信号,
如果检测到这个频率闪烁的在规定频率范围内的红外光则认为是1(高电平),没有检测到这个频率的信号则认为是0(低电平)

发送

发送使用的就是红外LED,像这个
在这里插入图片描述

与控制设备连接时有两种方案

使用两个管脚

这是电路图
在这里插入图片描述

描述:使用两个管脚控制2个NPN三极管,做成与的逻辑,有且仅有2个三极管均导通时才能时LED发光,使用一个管脚产生38KHz的方波,另一个管脚产生协议,以此做到输出1时闪亮,0时为不亮

优点:编程简单,逻辑简单

缺点:使用多个引脚,电路较复杂

使用单个管脚

这是电路图(小功率时可以之间管脚驱动LED)
在这里插入图片描述

描述:通过编程实现在输出1时闪亮,0时不亮

优点:电路结构简单

缺点:编程较复杂

接收

接收部分一般使用1838一体式红外接收头
在这里插入图片描述

1838内部的流程如图
在这里插入图片描述

首先接收到指定频率附近的红外信号,并将其放大
之后检测是否出现38kHz的方波
之后再进行反相操作,注意这点
所以说如果出现闪亮情况则输出低电平,反之输出高电平(默认高电平)

协议层

分类和功能

名称功能
引导码表示开始发送数据
数据码0表示数据为0
数据码1表示数据为1
重复码表示重复上次的数据
结束码在发送完数据帧或重复帧之后的占位符

注意,下面图片中给出的高电平为以38KHz的闪亮状态,为便于表示,只使用高电平代表

引导码

在这里插入图片描述

9ms高电平闪亮4.5ms低电平不亮构成,共13.5ms
表示数据帧的开始

重复码

在这里插入图片描述

9ms高电平闪亮2.25ms低电平不亮构成,共11.25ms
表示重复之前的数据

数据码0

在这里插入图片描述

0.56ms高电平闪亮0.56ms低电平不亮构成,共1.12ms
表示数据0

数据码1

在这里插入图片描述

0.56ms高电平闪亮1.96ms低电平不亮构成,共2.52ms
表示数据1

结束位

在这里插入图片描述

0.63ms高电平闪亮构成
用于数据帧或重复码之后的占位

数据结构

标准NEC编码为4byte(32bit)数据构成,
分别是1byte地址+1byte地址反码+1byte数据+1byte数据反码

但目前很多厂商并不使用标准的NEC数据结构,可能有5byte数据,可能全部4byte都用于数据传输等等

1838接收的数据

1838接收的数据是反相的,即上文协议层写的高低电平对调

在这里插入图片描述

引导码
在这里插入图片描述

数据码0
在这里插入图片描述

数据码1
在这里插入图片描述

重复码
在这里插入图片描述

结束位
在这里插入图片描述

  • 3
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值