NEC协议基础与应用
NEC协议是一种广泛应用于红外遥控领域的通信协议,由日本电气公司(NEC)制定。该协议具有结构简单、抗干扰能力强、编解码容易等特点,在家用电器、多媒体设备、工业控制等领域得到了广泛应用。
NEC协议的主要特点
- 调制方式:采用38kHz载波频率进行脉冲位置调制(PPM)
- 数据格式:每帧数据包含32位,包括8位地址码、8位地址反码、8位命令码、8位命令反码
- 传输速度:标准传输速率约为562.5μs/bit
- 可靠性高:通过反码校验机制确保数据传输的准确性
- 支持连发:长按按键时可发送重复码,减少数据传输量
NEC协议的应用场景
- 消费电子:电视机、空调、音响等家用电器的遥控器
- 多媒体设备:投影仪、DVD播放器、机顶盒等设备控制
- 智能家居:智能灯光、窗帘、安防系统的无线控制
- 工业控制:机器人、自动化设备的无线遥控
- 教学实验:FPGA、单片机开发板的红外通信实验
红外发送与接收原理
1. 红外发射原理
物理原理:
红外发射是通过红外发光二极管(IR LED)产生特定波长的红外光信号。红外LED的发光波长通常在850nm-950nm之间,其中940nm是最常用的波长,这个波段的红外光不可见,且硅光电二极管对此波段敏感度高。
发射过程:
- 载波调制:在相同平均功耗下,脉冲驱动可实现更高的峰值亮度,提升瞬时光功率,从而延长通信距离。为了提高抗干扰能力和传输距离,红外信号采用38kHz载波调制。当需要发射信号时,控制电路以38kHz的频率开关红外LED,产生调制后的红外脉冲。
- 脉冲编码:根据NEC协议规范,通过控制载波脉冲的持续时间和间隔来编码数据。逻辑"0"和"1"通过不同的脉冲宽度组合来区分。
- 功率控制:红外LED的发射功率通过限流电阻和驱动电流控制,典型驱动电流为50-100mA,峰值可达200-500毫安。
硬件配置:
MCU/FPGA GPIO → 三极管/MOSFET驱动电路 → 限流电阻 → 红外LED
电路设计要点:
- 驱动电路需要足够的电流驱动能力,单片机GPIO口通常无法直接驱动
- 添加续流二极管保护驱动管
- PCB布局时红外LED应远离接收头,避免直接串扰
2. 红外接收原理
接收器件结构:
红外接收头(如HS0038B、VS1838B)是一个集成化的红外接收模块,内部集成了:
- 光电二极管:将红外光信号转换为电信号
- 前置放大器:放大微弱的光电流信号
- 带通滤波器:滤除38kHz以外的干扰信号
- 解调电路:提取出调制信号中的数据部分
- 输出整形电路:将信号整形为标准TTL/CMOS电平
电平转换原理:
接收头的电平转换遵循以下规则:
| 红外发射端 | 接收头输出 |
|---|---|
| 发射38kHz载波(LED亮) | 输出低电平(0) |
| 停止发射(LED灭) | 输出高电平(1) |
这种"反逻辑"的原因是:
- 有红外信号时,光电二极管导通,经过解调后输出低电平
- 无红外信号时,输出端通过上拉电阻保持高电平
- 这种设计符合红外接收头的内部电路特性,也便于后续的数字电路处理
硬件配置:
红外接收头 → 去耦电容(滤波) → MCU/FPGA GPIO输入
电路设计要点:
- 电源引脚需要添加0.1μF去耦电容,减少电源纹波干扰
- 接收头输出端可串联100Ω-1kΩ电阻保护MCU输入口
- 接收头应避免直射日光和强光照射,必要时加遮光罩
- PCB布局时接收头远离高频信号源和电源模块
3. 收发系统完整流程
发送流程:
数据编码 → 38kHz载波调制 → 驱动电路 → 红外LED发射 → 红外光信号
接收流程:
红外光信号 → 光电转换 → 放大滤波 → 38kHz解调 → 电平输出 → 数据解码
关键时序匹配:
- 发射端的载波频率必须与接收头的中心频率匹配(38kHz±2kHz)
- 接收端需要根据电平持续时间判断逻辑"0"和"1"
- 软件解码时需要设置合理的时间容差范围(通常±20%)
NEC协议详细规范
1. 时序参数定义
NEC协议使用38kHz的载波频率,提高红外信号频率,提高发射效率。关键时序参数如下:
发送端时序(发送端输出):
- 引导码:9ms载波 + 4.5ms静默
- 逻辑"0":560μs载波 + 560μs静默(总计1.12ms)
- 逻辑"1":560μs载波 + 1.69ms静默(总计2.25ms)
- 结束位:560μs载波
- 重复码:9ms载波 + 2.25ms静默 + 560μs载波
接收端时序(接收头输出):
- 引导码:9ms低电平 + 4.5ms高电平
- 逻辑"0":560μs低电平 + 560μs高电平(总计1.12ms)
- 逻辑"1":560μs低电平 + 1.69ms高电平(总计2.25ms)
- 结束位:560μs低电平
- 重复码:9ms低电平 + 2.25ms高电平 + 560μs低电平
2. 数据帧格式
一个完整的NEC协议数据帧由以下部分组成:
[引导码] + [地址码8位] + [地址反码8位] + [命令码8位] + [命令反码8位] + [结束位]
数据传输顺序:每个字节从低位(LSB)到高位(MSB)依次传输。
发射端与接收端时序对应关系:
- 发射端逻辑"1":560μs载波 + 1.69ms静默
- 接收端逻辑"1":560μs低电平 + 1.69ms高电平
- 发射端逻辑"0":560μs载波 + 560μs静默
- 接收端逻辑"0":560μs低电平 + 560μs高电平
每个载波脉冲都是由560μs长度的38kHz载波构成,载波占空比为1/4或1/3(约21个周期)
示例帧结构:

发射端波形:
引导码:9ms载波 + 4.5ms静默
地址码:0x59 (01011001) - 从LSB开始依次发送
地址反码:0xA6 (10100110) - 从LSB开始依次发送
命令码:0x16 (00010110) - 从LSB开始发送,实际发送顺序为01101000
命令反码:0xE9 (11101001) - 从LSB开始发送,实际发送顺序为10010111
结束位:560μs载波
接收端电平:
引导码:9ms低电平 + 4.5ms高电平
地址码:0x59 (01011001) - 从LSB开始依次接收
地址反码:0xA6 (10100110) - 从LSB开始依次接收
命令码:0x16 (00010110) - 从LSB开始接收
命令反码:0xE9 (11101001) - 从LSB开始接收
结束位:560μs低电平
3. 重复码机制
当用户持续按住遥控器按键时,遥控器会先发送一次完整的数据帧,然后每隔110ms发送一次重复码,直到按键释放。
发射端重复码格式:
9ms载波 + 2.25ms静默 + 560μs载波
接收端重复码格式:
9ms低电平 + 2.25ms高电平 + 560μs低电平
重复码的作用是减少数据传输量,提高响应速度,同时节省电池电量。
4. 载波调制细节
38kHz载波的细节:
- 载波周期:T = 1/38kHz ≈ 26.3μs
- 占空比:通常为1/3或1/4
- 每个载波脉冲包含约21个周期(560μs / 26.3μs ≈ 21.3)
总结
NEC协议通过简单的时序和数据格式,实现了高效的红外遥控通信。其主要特点包括:
- 采用38kHz载波频率,提升了抗干扰能力和传输距离
- 数据帧结构清晰,易于解析和处理
- 支持重复码机制,提升了用户体验
在实际应用中,NEC协议广泛应用于家电遥控、智能家居等场景,成为红外通信领域的重要标准。
1587

被折叠的 条评论
为什么被折叠?



