NEC红外协议编码,38K红外遥控编码,红外遥控发射接收电路选型设计

NEC为红外遥控最常用的编码,红外载波频率为38KHz,其协议小巧简单,非常适合家电设备的控制。其他的还有 Phillips(RCA)的RC-5RC-6,但那只是IR协议的少数。

本篇博文参照国外博客或论坛资料并汇总:(原链接可能需要翻墙)
NEC协议
红外遥控工具(NEC)
DFU IR协议(NEC)- PDF
NEC红外传输协议 - PDF
带微控制器的NEC协议IR(红外)遥控器

我的有些翻译并不准确,对码文字段的命名可参照:
NEC编码格式(百度文库)

本片仅介绍NEC编码协议的部分,硬件电路设计及选型请见:
38K红外遥控发射与接收电路设计与选型、正向压降、限流电阻、半值角

1. NEC编码方式

NEC协议采用脉冲间隔的方式编码每一位数据,用不同数据位的时间间隔来表示不同的逻辑位。与众多单总线IC的通信方式很相似。

NEC编码的载波频率为38KHz,对应的单脉冲周期约等于26.3us
在这里插入图片描述
每一数据位起始于562.5µs的载波,约为21.25个38 kHz脉冲组成。 脉冲的占空比通常为1/4或1/3,以减少电流消耗:
在这里插入图片描述

1.1 数据位的逻辑0/1

逻辑"0":562.5µs的有效脉冲 + 562.5µs的空闲间隔,总时长为1.125ms
逻辑"1":562.5µs的有效脉冲 + 1.6875ms的空闲间隔,总时长为2.25ms(为逻辑0的一倍)。
在这里插入图片描述

2. 命令帧

命令帧由 起始位 + 地址码 + 地址码反码 + 命令码 + 命令码反码 组成。

2.1 起始位

每个序列均以9ms的脉冲(称为AGC脉冲)(是逻辑数据位使用的脉冲562.5us的16倍)开始。 接下来是4.5毫秒的空闲:(可以理解这一过程是每一帧的起始标志)
在这里插入图片描述

2.2 地址码 + 命令码

起始位之后会传输4个字节共32Bit的数据位,分别是 地址码 + 地址码反码 + 命令码 + 命令码反码。字面上是4个字节,而实际只有2个字节有效,多余的2字节为冗余的反码。一方面可以用于校验是否出错。另一方面,因为总有相同数量的反码的存在,每帧的总消息时长保持恒定

2.3 结束位

结束位为末尾的562.5µs的有效脉冲。

3. 重复码

即使一直按住遥控器上的一个键,命令帧也只会发送一次。 只要按键保持按下状态,就会每110毫秒发送一次重复码。 该重复码的组成为 9ms的AGC脉冲 + 2.25ms的空闲间隔 + 560µs的脉冲

3.1 重复码组成

在这里插入图片描述

3.2 重复码发送时序

在这里插入图片描述

4. 扩展的NEC协议

NEC协议的使用如此广泛,以至于所有可能的地址都会很快被用完。 通过牺牲地址冗余,地址范围的值可以从256个扩展到65536个。 这样,地址范围就能从8位扩展到16位,而无需更改协议的任何其他属性。

通过这种方式扩展地址范围总的消息时间不再恒定,只取决于消息中1和0的总数。 如果要使总的消息时间保持恒定,则必须确保地址字段中的逻辑1数目为8个(这同样表示逻辑0的数目也为8个)。 这会将不同地址的最大数量减少到大约13000个。

命令冗余仍然保留。 因此,每个地址仍可以处理256个不同的命令。

5. 38K红外发射接收电路选型设计

本片仅介绍NEC编码协议的部分,硬件电路设计及选型请见:
38K红外遥控发射与接收电路设计与选型、正向压降、限流电阻、半值角

6. 注意事项:电平取反

格外注意的是:VS1838PC638IRM-5638436380038这些38K红外接收管的输出方式为开漏,故与上文的时序为反相,coding的代码内要记得取反

并且因为OUTPUT引脚是开漏输出,需要外置上拉电阻,或者将MCU的GPIO配置为上拉输入

  • 17
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值