新闻中心

EEPW首页 > 物联网与传感器 > 设计应用 > 演示广受欢迎的NEC红外协议

演示广受欢迎的NEC红外协议

作者: 时间:2025-11-24 来源: 收藏

是家庭自动化应用(如电视遥控器)中最广泛使用的红外(IR)通信标准之一,以其稳定且简洁的脉冲间隔编码方案而闻名。

本文将演示瑞萨 SLG47011 如何利用其内置资源高效实现 控制逻辑,无需外部组件或复杂的微控制器代码(图 1)。SLG47011 的可配置架构通过存储表配置器支持多达 9 条用户自定义命令,适用于多种红外遥控应用场景。

1763953620397669.jpg

1. SLG47011根据开关输入产生红外脉冲。

NEC红外传输协议

由于 采用脉冲间隔编码,编程自定义消息时需明确逻辑位的传输方式(图 2)。

1763953607714814.jpg

2. 每个比特起始为562.5微秒脉冲突发,随后逻辑0或1分别为562.5微秒或1.6875毫秒的空间。

脉冲时序定义如下:

  • 逻辑 “0”——562.5 微秒脉冲串 + 562.5 微秒间隔,总传输时间 1.125 毫秒。

  • 逻辑 “1”——562.5 微秒脉冲串 + 1.6875 毫秒间隔(3 个 562.5 微秒周期),总传输时间 2.25 毫秒。

观察图 1 的设计,NMOS 漏极开路(OD)引脚 4-5 并联连接以提高输出信号电流,因此波形将显示输出信号的反相版本。

根据 NEC 协议规范,标准载波频率为 38.222 千赫兹。本设计中选择 38.167 千赫兹,作为与规范最接近的匹配值。

NEC 协议消息结构定义如下:

  1. 9 毫秒引导脉冲串(逻辑数据位脉冲串长度的 16 倍)

  2. 4.5 毫秒间隔

  3. 8 位接收设备地址

  4. 8 位地址逻辑反码

  5. 8 位命令

  6. 8 位命令逻辑反码

  7. 最终 562.5 微秒脉冲串(表示消息传输结束)

NEC 协议消息结构在每个数据包中发送地址、命令数据及其反码(图 3)。按键按下时发送消息。

1763953590747337.jpg

3.NEC 协议消息结构在每个数据包中发送地址、命令数据及其反码。

如果按键一直按住,每110毫秒发送一次重复码(见图4)。重复码为 9 毫秒脉冲串 + 2.25 毫秒间隔 + 560 微秒脉冲串。

1763953556629490.jpg

4. 若按键保持按下状态,每 110 毫秒发送一次重复码。重复码为 9 毫秒脉冲串 + 2.25 毫秒间隔 + 560 微秒脉冲串。

尽管 NEC 协议有标准消息结构,但扩展版本应用更为广泛。扩展版 NEC 协议中,为扩大地址范围,第二帧不再是地址逻辑反码,而是寄存器地址。本设计基于扩展版 NEC 协议开发。

GreenPAK NEC 协议设计

GreenPAK 是瑞萨公司推出的一系列可编程混合信号芯片。在此示例中,设计(图5)由五个主要阶段组成:

1763953535627678.jpg

5. 本图展示了GreenPAK内部设计,用于实现NEC红外协议控制器。

 1. 第一阶段:输入信号检测。为确保设计正常工作,每个输入信号连接至用作去抖的计数 / 延迟(CNT/DLY)模块,去抖延迟时间配置为输入信号上升沿后 40 毫秒。

 2. 第二阶段:检测是否仅一个输入信号为高电平。此场景下,3 位查找表(LUT4)从空闲高电平切换至低电平,重置存储控制计数器。

 3. 第三阶段:NEC 协议控制逻辑。存储表(Memory Table)模块与宽度转换器(12 至 12 模式)配合,手动设置所需命令(含重复码):

  • OUT0-OUT8 包含 9 种可能的消息。

  • OUT10-OUT11 分别包含重复码(RepeatCode)和重复使能(RepeatEnable)信号(重复使能为自定义信号,消息结束后 40 毫秒从空闲低电平切换至高电平)。

  • 宽度转换器采用 1.778 千赫兹内部时钟信号(周期对应 562.5 微秒),确保每个比特长度符合规范。

  • D 触发器(DFF)模块用作 1 位存储单元,每次单个输入信号切换至高电平时重置;仅当输入信号保持高电平超过 108 毫秒时,才将重复码信号传递至输出总线。

设置自定义消息时,需牢记存储表模块的核心工作原理:该模块可存储并发送多达 4096 个 12 位数据字,每个数据字占用 2 字节(最后 4 位未使用)。在存储表手动编辑模式下,每个 12 位数据字并行存储于 12 个输出端(OUT0(最低位)-OUT11(最高位)),每个输出端对应 1 位数据。

例如,要在 OUT0 上输出消息 10011100(最低位优先),需执行以下步骤:

  • 将目标消息拆分为两个 4 位块。

  • 交换两个块的顺序。

  • 分别水平镜像每个块。

将最终组合结果的十六进制值写入存储表(图 6)。

1763953509742113.jpg

6. 内存表设置用于自定义消息。

此外,也可通过手动编辑器手动设置第 1 至第 8 个数据字。

 4. 第四阶段:为 OUT0-OUT8 的每条消息提供 3 位多路复用器,仅当重复使能信号为低电平时允许命令通过。

 5. 第五阶段:作为所有信号的主总线(图 7)。

1763953496530977.jpg

7. 展示了NEC协议设计GreenPAK逻辑的最后阶段。

之后,通过 MF10 模块生成的 38.222 千赫兹频率对传递的信号进行调制(图 8)。

8.jpg

8. 显示的是GreenPAK设计工具中MF10模块的配置设置。

如前所述,输出信号经反相器后,通过漏极开路 NMOS 驱动红外 LED。

使用 NEC 协议控制逻辑演示板

为测试设计可行性,搭建了演示板(图 9)。

9.jpg

9. 演示板旨在突出使用该SLG47011实现NEC协议的过程。

测试中使用 Arduino UNO 和 Keyestudio 红外接收器对 NEC 协议进行解码,图 10 展示了设备及连接方式。


1763953456487045.jpg

10. 这是Arduino UNO和Keyestudio红外接收器的连接示意图。

测试结果

对设计进行了硬件测试,获得以下波形结果。各图中通道定义:

  • CH3(粉色):高电平有效输入信号

  • CH2(蓝色):调制输出信号

图 11 显示演示板上捕获的包含初始消息和重复码的调制输出信号。

1763953437335912.jpg

11.  显示演示板上捕获的包含初始消息和重复码的调制输出信号。

通过光标工具测量的初始消息时序,确认其符合 NEC 协议规范(图 12)。

1763953423353849.jpg

12. 通过光标工具测量的初始消息时序,确认其符合 NEC 协议规范。

通过光标测量工具确认逻辑 “1” 和 “0” 的标准时序。

1763953407608906.jpg

13.通过光标工具测量逻辑 “1” 比特时序,验证符合 NEC 协议规范。

图14所示的波形展示了逻辑的“1”和“0”时间范围。

1763953389643957.jpg

14. 通过光标工具测量的逻辑“1”位时间框架,以确认消息传输时序符合NEC协议规范。

图15中,波形展示了逻辑上的“1”时间框架。测量通过光标工具完成。

1763953374982735.jpg

15. 通过光标工具测量的逻辑“0”位时间框架,以确认消息传输时序符合NEC协议规范。

图16中的波形展示了载波频率。测量通过光标和示波器测量工具完成。

1763953358333527.jpg

16. 通过频率和光标工具测量载波频率值和1/2T时间框架,以确认消息传输时序符合NEC协议规范。

图17中,波形展示了RepeatCode的时间框架。测量通过光标工具完成。

1763953344700502.jpg

17. 通过光标工具测量重复代码时间范围,以确认消息传输时序符合NEC协议规范。

结论:实现 NEC 协议兼容

捕获的波形清晰验证了设计符合 NEC 协议规范,确认其准确性和可靠性。该方案成功将命令无误差传输至接收器,并通过 Arduino UNO 平台与 Keyestudio 红外接收器完成实际验证,证明设计具备稳定性,可投入实际红外应用场景。


关键词: NEC 协议 红外通信

评论


相关推荐

技术专区

关闭