RC-6 is, as may be expected, the successor of the RC-5 protocol. Like RC-5 the new RC-6 protocol was also defined by Philips. It is a very versatile and well defined protocol. Because of this versatility its original definition is many pages long. Here on my page I will only summarize the most important properties of this protocol.
Different modes of operation, depending on the intended use
Dedicated Philips modes and OEM modes
Variable command length, depending on the operation mode
Bi-phase coding (aka Manchester coding)
Carrier frequency of 36kHz
RC-6 signals are modulated on a 36 kHz Infra Red carrier. The duty cycle of this carrier has to be between 25% and 50%.
Data is modulated using Manchester coding. This means that each bit (or symbol) will have both a mark and space in the output signal. If the symbol is a "1" the first half of the bit time is a mark and the second half is a space. If the symbol is a "0" the first half of the bit time is a space and the second half is a mark.
Please note that this is the opposite of the RC-5 protocol!
The main timing unit is 1t, which is 16 times the carrier period (1/36k * 16 = 444µs).
With RC-6 a total of 5 different symbols are defined:
The leader pulse, which has a mark time of 6t (2.666ms) and a space time of 2t (0.889ms). This leader pulse is normally used to set the gain of the IR receiver unit.
Normal bits, which have a mark time of 1t (0.444ms) and space time of 1t (0.444ms). A "0" and "1" are encoded by the position of the mark and space in the bit time.
Trailer bits, which have a mark time of 2t (0.889ms) and a space time of 2t (0.889ms). Again a "0" and "1" are encoded by the position of the mark and space in the bit time.
The leader and trailer symbols are only used in the header field of the messages, which will be explained in more detail below.
RC-6 Mode 0
I can only describe operation mode 0 because I have never actually seen other modes in use than the one my Philips TV understands. The way I understand it the other modes can vary extremely from mode 0.
Mode 0 is a dedicated Philips Consumer Electronics mode. It allows control of up to 256 independent devices, with a total of 256 commands per device.
The command is a concatenation of different information. I will cover these different components from left to right.
The Header field consists of 3 different components.
First the leader symbol LS is transmitted. Its purpose is to adjust the gain of the IR receiving unit.
This leader symbol is followed by a start bit SB which always has the value "1". Its purpose is to calibrate the receiver's timing.
The mode bits mb2 ... mb0 determine the mode, which is 0 in this case, thus all three bits will be "0".
Finally the header is terminated by the trailer bit TR. Please note that the bit time of this symbol is twice as long as normal bits! This bit also serves as the traditional toggle bit, which will be inverted whenever a key is released. This allows the receiver to distinguish between a new key or a repeated key.
This field holds 8 bits which are used as address byte. This means that a total of 256 different devices can be controlled using mode 0 of RC-6.
The msb is transmitted first.
The information field holds 8 bits which are used as command byte. This means that each device can have up to 256 different commands.
The msb is transmitted first.
Signal Free Time
The Signal Free time is a period in which no data may be transmitted (by any device). It is important for the receiver to detect the signal free time at the end of a message to avoid incorrect reception.
The signal free time is set to 6t, which is 2.666ms.