RC6是飞利浦的红外遥控器协议,是RC5的继任者。RC6有多种模式,命令长度可变。这里只处理M0模式。M0是飞利浦专用消费电子模式。它允许控制多达256个独立的设备,每个设备总共有256个命令。
1. 调制
(1)使用双向编码(又称曼彻斯特编码);
(2)使用36K载波对编码后的波形进行调制,主定时单元为1t,是载波周期的16倍(1 / 36KHz * 16 = 444us);
(3)发送数据的逻辑“1”极性如下所示,其极性与RC5相反;
(4)接收数据和发送数据的极性相反。
2. RC6 M0 协议格式
(1)头信息(Header field) 由4部分构成:
- 前导符 LS(the Leader Symbol): 1bit,6T+2T;其目的是调整红外接收单元的增益。
- 起始位 SB (the Start Bit): 1bit,T+T;其值始终为“1”。它的目的是校准接收机的定时。
- 模式位(mb2…mb0): 3bit,T+T;包含RC6的模式信息,M0时,三位都为0.
- 跟踪位(TR Bit): 1bit,2T+2T;在M0时,此位也用作传统的切换位,每当释放一个键时,该位都会反转。
(2)控制场(Control Field): 8位,用作地址字节。这意味着使用RC-6的模式0可以控制总共256个不同的设备。首先传输最高位。
(3)信息场(Information Field): 8bit,用作命令字节。这意味着每个设备最多可以有256个不同的命令。首先传输最高位。
(4)信号空闲时间(Signal Free Time): 是指不能(通过任何设备)传输数据的时间段。重要的是,接收器在消息结束时检测信号空闲时间,以避免错误接收。 信号空闲时间最小设置为6t,即2.666ms。
3. 通信实例
通信协议使用金思特电子的Kingst LA5016 usb 逻辑分析仪进行数据通信检测。
打开协议设置界面,可以设置Logic "1"的调制类型,以此区分发送数据和接收数据。
Logic"1"的默认定义为上升沿解析,为接收数据解析;
若Logic"1"的定义为下降沿,则为发送数据解析。
波形如下图所示,MODE = 0, TR = 0, ADDR = 0X25, CMD = 0X30 。
参考资料:
(1)Philips RC-6 Protocol
(2)史上最全的红外遥控器编码协议.pdf