1. 协议特征
- 使用双向编码(又称曼彻斯特编码);
- 使用38K载波对编码后的波形进行调制;
- 位时间 1.12ms 或 2.25ms
2. 调制
- 定义脉冲560µS为脉冲基本宽度T;
- 根据脉冲时间长短来解码。推荐载波占空比为1/3至1/4:
(1) Logic “1” 位宽为2.25ms,脉冲时间560us(T + 3T);
(2) Logic “0” 位宽为1.12ms,脉冲时间560us(T + T)。
(3 ) 重复码: 位宽为11.25ms,脉冲时间9ms(16T + 4T)。
3. 协议格式
1 | 8 | 8 | 8 | 8 |
---|---|---|---|---|
起始位 | Address | Address(反码) | Command | Command(反码) |
16T + 8T | b0…b7 | b0…b7 | b0…b7 | b0…b7 |
- 起始位(Start Bit): 16T + 8T。
- 地址位(Address): 8bit,最低有效位(LSB)先发送。
- 反相地址位(!Address): 8bit,最低有效位(LSB)先发送。其值与地址位(Address)相反,用于验证接收的信息的准确性。
- 命令位(Command): 8bit,最低有效位(LSB)先发送。
- 反相命令位(!Command): 8bit,最低有效位(LSB)先发送。其值与命令位(Command)相反,用于验证接收的信息的准确性。
4. 数据协议
- NEC协议格式如下图所示:
- 以上是一个正常的序列,也可能存在一种情况:一直按着1个键,此时发送的是以110ms为周期的重复码,即发送一次命令码之后,不会再次发送命令码,而是每隔110ms时间,发送一段重复码。如下图:
需要注意的是:红外一体接收头为了提高接受灵敏度,输入高电平,其输出的是相反的低电平。
5. 通信实例
协议使用金思特电子的Kingst LA5016 usb 逻辑分析仪进行数据通信检测。
(1)下图为标准数据包格式截图,其中 地址:0x17, 命令:0x25。
(2)重复按下同一个按键的发送脉冲: