红外编解码协议(上)
扫描二维码
随时随地手机看文章
红外编解码协议是红外遥控技术的“语言规范”,它定义了控制指令的数字编码规则、帧结构格式、信号调制方式及校验机制,是实现发射端与接收端准确通信的核心。没有统一的编解码协议,不同设备的红外遥控信号会相互干扰,同一品牌的不同产品也无法区分指令目标,因此,编解码协议本质上是红外通信的“身份标识”与“语法规则”,确保“谁在发、发什么、发给谁”的信息被精准传递。从家用电视的开关机指令到空调的温度调节信号,每一次红外遥控的成功交互,都依赖于编解码协议的严格执行,其设计的严谨性直接决定了遥控的可靠性与兼容性。
理解红外编解码协议,需从“编码”与“解码”的双向过程切入。编码是发射端的工作:当用户按下遥控器按键时,微控制器(MCU)会将按键对应的功能指令(如“音量+”“频道-”)按照协议规则转换为一串特定的二进制数字信号,再通过载波调制(通常为38kHz)转化为红外光脉冲序列;解码则是接收端的任务:红外接收头捕获光脉冲后,滤除载波并还原为电信号,接收端MCU再按照相同的协议规则解析这串数字信号,提取出设备地址(确保指令针对自身)和功能指令(明确执行动作)。这一过程的关键在于“规则共识”——发射端与接收端必须采用相同的协议,否则接收端会将信号视为无效干扰,这也是不同品牌遥控器通常不能通用的核心原因。
主流的红外编解码协议各有设计侧重,适配不同场景的需求,其中NEC协议因结构简洁、可靠性高,成为应用最广泛的协议之一。NEC协议的帧结构清晰且包含多重校验机制,完整帧由引导码、地址码、地址反码、数据码、数据反码五部分组成:引导码是一段“9ms高电平+4.5ms低电平”的脉冲序列,作用是唤醒接收端并同步时序——接收端检测到符合长度的引导码后,才会启动后续信号的接收,避免误触发;地址码为8位二进制数,用于区分不同设备(如同一品牌的电视与空调),确保指令不会跨设备执行;地址反码是地址码的逻辑非(0变1,1变0),接收端会通过对比地址码与地址反码是否互补,判断地址传输是否出错;数据码同样为8位,代表具体的控制指令(如“26℃”“静音”);数据反码是数据码的逻辑非,用于校验数据传输的准确性。当按键被长按(如持续调节音量)时,NEC协议会发送重复码,结构为“9ms高电平+2.25ms低电平+560μs高电平”,以简化持续指令的传输,避免重复发送完整帧造成的资源浪费。NEC协议的位定义采用脉冲宽度调制(PWM):逻辑“0”表示为“560μs高电平+560μs低电平”,总时长1.12ms;逻辑“1”表示为“560μs高电平+1.68ms低电平”,总时长2.24ms,接收端通过测量低电平的持续时间来区分0和1,这种设计简单且抗干扰能力强,广泛用于电视、空调、机顶盒等家用设备。
与NEC协议不同,RC5协议由飞利浦公司推出,采用曼彻斯特编码方式,更注重抗干扰性与指令扩展性。RC5协议没有单独的引导码,而是通过位周期内的电平跳变来同步时序并表示逻辑值:每个位周期固定为1.778ms(对应载波频率36kHz),逻辑“0”定义为“位周期前半段低电平、后半段高电平”(中间跳变);逻辑“1”定义为“位周期前半段高电平、后半段低电平”(中间跳变)。这种编码方式的优势在于“自同步”——接收端无需依赖固定长度的引导码,通过检测每个位周期内的跳变即可实现时序同步,即使信号存在轻微的频率偏移,也能准确解码。RC5协议的帧结构包括起始位、控制位、地址码和数据码:起始位为2个逻辑“1”,用于标记帧的开始;控制位中的“toggle位”是RC5协议的特色设计——每次按键按下,toggle位会翻转(0变1或1变0),接收端通过检测toggle位的变化来区分“单次按键”和“长按重复”,避免因信号重复传输导致的误操作;地址码和数据码均为7位,支持128个设备地址和128种功能指令,适配早期欧洲市场的家电设备(如老式电视机、录像机)。





