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.
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 and trailer symbols are only used in the header field of the messages, which will be explained in more detail below.
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.
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.
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.