几种常用红外遥控器协议 一 NEC 协议 特征 8 位地址和 8 位命令长度 为提高可靠性每次传输两遍地址 用户码 和命令 按键值 通过脉冲串之间的时间间隔来实现信号的调制 38Khz 载波 每位的周期为 1 12ms 或者 2 25ms 调制方式 Note 对于测试红外接收头的信号来说 有脉冲信号的地方就是高电平 即逻辑 1 为 0 56ms 高电平 1 69ms 低电平 逻辑 0 为 0 56ms 高电平 0 56ms 低电平 协议 上图为典型的 NEC 协议传输格式 起始位 引导码 为 9ms 高 4 5ms 低组成 有效 数据为地址 地址反码 命令 命令反码 反码的作用是用来校准前面的地址和命令 如果 对可靠性不感兴趣 也可以去掉取反的数据 或者将地址和命令扩展到 16 位 上图传输的地址数据为 10011010 需要注意的是先发低位地址再发高位地址 因此该 波形的地址为 01011001 0X59 同理 命令为 00010110 0X16 长按键时 如下图所示 每隔 110ms 重复发送一次 但是命令只发送一次 重复发送 的是 9ms 高电平 2 25ms 低电平 0 56ms 高电平 低电平 扩展协议 扩展协议只是将地址改为 16 位 其他不变 实测波形 下面的波形是从红外接收头上得到的波形 调制脉冲信号转变成高低电平了 由于红外接收头在接收信号时 或者是发送的时候 将波形反向了 因此在读数据时可以 将示波器的反向功能打开 就能读到有效数据了 下面实例是已知 NEC 类型遥控器所截获的波形 遥控器的识别码是 Address 0 xDD20 其中一个键值是 Command 0 x0E 最后一位是一个逻辑 1 二 Philips RC5 协议 特征 5 位地址和 6 位命令长度 扩展协议用 7 位 双向编码或者叫曼彻斯特编码 即电平的变化来表示逻辑 0 和 1 36Khz 载波 每位的周期为 1 778ms 64 cycles of 36 kHz 调制方式 协议 一段数据包含 14 位 周期长度为 25ms 前两位是起始位 S 通常都是逻辑 1 在 RC5 扩展模式下第二位 S2 将 6 位命令代码扩充到 7 位代码 作为高位 MSB 这样 可以从 64 个键值扩充到 128 个键值 第三位是控制位 C 它在每按下了一个键后翻转 这样就可以区分一个键到底是一直按着 没松手还是松手后重复按 长按键时 数据每隔 114ms 重复发送一次 第三位不发生翻转 即重复发送的信号是 完全一致的 实测波形 连续按同一个键两次时 只有第三位发生翻转 其他位不变 从上面波形可以读出该段数据的值为 101 01010 010111 由于该协议为 RC5 扩展协 议 即第二位作为命令的第七位 因此地址为 01010 0X0A 命令为 0010111 0X17 实 际遥控器厂商给出的命令为 57 可能是将第二位反相后作为命令的第七位 三 Sony SIRC 协议 特征 有 12 15 20 位三种模式 下面介绍的 12 位模式 5 位地址和 7 位命令长度 脉冲宽度编码 40Khz 载波 每位的周期为 1 2ms 或 1 8ms 调制方式 协议 起始位为 2 4ms 高电平 0 6ms 低电平 长按键时 数据每隔 45ms 重复发送一次 实测波形 从上面波形可以读出该段数据的值为 1001000 10000 cmd 0001001 addr 00001 四 其他 1 ITT 2 JVC 3 Nokia NRC17 4 RCA 5 Sharp 6 X Sat 。