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配置为上拉输入

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

  1. 好文转载——38K红外遥控编码扫盲

    转自Doctor_A 坛友的笔记! 之前做接触过一次红外遥控器,现在有空想用简单的话来聊一聊,下面有错误的地方欢迎改正指出: 1:红外的概念不聊,那是一种物理存在.以下聊38K红外发射接收,主要讲可编 ...

  2. 浅谈38K红外发射接收编码

    浅谈38K红外发射接收编码 https://blog.csdn.net/gmdjmawy/article/details/47129989 http://blog.sina.com.cn/s/blog ...

  3. 学习型红外遥控器设计(4) 红外遥控编码还原

    学习型红外遥控器设计(0) 摘要   (1) 绪论  (2) 方案设计   (3) 遥控解码   (4) 编码还原  (5) 硬件实现   (6) 总结展望 如方案设计所述,制作红外编码发射装置,该装 ...

  4. 【字符设备驱动】 -- NEC红外通信原理|红外协议|红外驱动|红外编解码|红外遥控器...

    目录 1. 红外基本介绍: 红外线的特点 红外线发射和接收 2.NEC协议介绍: NEC的数据格式: NEC协议中数据(DATA)段编码: NEC协议典型脉冲链: NEC载波调制: NEC载波解调: ...

  5. java关于NEC的红外解码_红外协议之NEC协议

    NEC协议载波:38khz 其逻辑1与逻辑0的表示如图所示: 逻辑1为2.25ms,脉冲时间560us:逻辑0为1.12ms,脉冲时间560us.所以我们根据脉冲时间长短来解码.推荐载波占空比为1/3 ...

  6. hx1838 红外遥控(1):接收时序的解码

    本文开发环境: MCU型号:STM32F103C8T6 IDE环境: MDK 5.27 代码生成工具:STM32CubeMx 5.6.1 HAL库版本:STM32Cube_FW_F1_V1.8.0 本 ...

  7. 【STM32】R05D电控红外协议的美的空调遥控器

    目录 一.设计思路 一.R05D红外协议原理 1.协议手册理解 2.验证时序(重点) 二.硬件实现 1.需要的材料 2.对发射模块电路进行修改 3.STM32 GPIO选择 三.代码实现 1.载波38 ...

  8. android 耳机孔 红外,手机遥控器,3.5mm耳机接口红外遥控改造解析

    很多家电都用红外遥控,如电视机.机顶盒.空调.电风扇等.越来越多的遥控器反而给我们带来了更多的问题,有时找不到遥控器放哪儿了,或者混淆了都是麻烦,事实上对手机进行简单的改造,可以自制一个万能红外遥控器 ...

  9. 红外协议 IR Sharp 协议深度解析-简单易懂协议详解

    夏普红外协议,网上资料很少,它用在夏普生产的VCRs-(盒式磁带录像机),这是其被称为夏普协议的原因. 1. 调制 使用38K载波对编码后的波形进行调制: 夏普协议依据位时间长度进行解码.每个脉冲都是 ...

最新文章

  1. 2022-2028年中国激光切管机行业市场研究及前瞻分析报告
  2. 光敏电阻检测12528
  3. [Swift]LeetCode388. 文件的最长绝对路径 | Longest Absolute File Path
  4. mysql bypass_Bypass MySQL Safedog
  5. AAAI 2022 | 北大 阿里达摩院:基于对比学习的预训练语言模型剪枝压缩
  6. G. Xor-MST(异或最小生成树)
  7. android xml左边,Android XML – 如何将项目对齐到最左侧,中间和最右侧
  8. java 迷你桌面地图_求教贴,Java桌面小游戏的地图怎么做
  9. 挤拥城市游戏android,拥挤城市crowdcity
  10. 如何让oracle用户不过期,Oracle用户密码设为不过期的两种方法
  11. leetcode889.ConstructBinaryTreefromPreorderandPostorderTrav
  12. abp框架 mysql_ABP框架迁移到Mysql
  13. Java集成建行龙支付接口(详细)
  14. Spring Security OAuth2实现简单的密钥轮换及配置资源服务器JWK缓存
  15. 互联网日报 | 小米市值突破6600亿港元;水滴筹上线“水滴行者”风控系统;2020世界互联网大会开幕...
  16. DS12C887实时时钟
  17. EndNote X7如何在论文中嵌入中文格式要求的参考文献
  18. 苹果电脑怎么安装office办公
  19. 在Python中如何保存图像
  20. Hbuilderx uniapp本地打包android 项目

热门文章

  1. 【php】Windows PHP及xdebug安装 安装
  2. 在iOS项目中,这样才能完美的修改项目名称
  3. 小巧数据库 Apache Derby 使用攻略
  4. mongodb batchInsert
  5. nginx配置SSL实现服务器/客户端双向认证
  6. Linux下的SecureCRT破解方法
  7. [转]UART 基础知识
  8. 从Java角度学JavaScript
  9. python进阶16多继承与Mixin
  10. 射频识别实训总结_个人总结