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

演示广受欢迎的NEC红外协议
2025年11月24日 15:07 电子产品世界

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

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

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

NEC红外传输协议

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

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)。按键按下时发送消息。

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

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

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

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

GreenPAK NEC 协议设计

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

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)。

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

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

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

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

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

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

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

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

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

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

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

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

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

测试结果

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

结论:实现 NEC 协议兼容

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

新浪科技公众号
新浪科技公众号

“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)

创事记

科学探索

科学大家

苹果汇

众测

专题

官方微博

新浪科技 新浪数码 新浪手机 科学探索 苹果汇 新浪众测

公众号

新浪科技

新浪科技为你带来最新鲜的科技资讯

苹果汇

苹果汇为你带来最新鲜的苹果产品新闻

新浪众测

新酷产品第一时间免费试玩

新浪探索

提供最新的科学家新闻,精彩的震撼图片