Philips RC5 Infrared Transmission Protocol
The Philips RC5 IR transmission protocol uses Manchester encoding of the message bits. Each pulse burst (mark – RC transmitter ON) is 889us in length, at a carrier frequency of 36kHz (27.7us). Logical bits are transmitted as follows:
- Logical '0' – an 889us pulse burst followed by an 889us space, with a total transmit time of 1.778ms
- Logical '1' – an 889us space followed by an 889us pulse burst, with a total transmit time of 1.778ms
The pulse/pause ratio of the 36kHz carrier frequency is 1/3 or 1/4, which reduces power consumption.
When a key is pressed on the remote controller, the message frame transmitted consists of the following 14 bits, in order:
- two Start bits (S1 and S2), both logical '1'.
- a Toggle bit (T). This bit is inverted each time a key is released and pressed again.
- the 5-bit address for the receiving device
- the 6-bit command.
The address and command bits are each sent most significant bit first. Figure 1 illustrates the format of a Philips RC5 IR transmission frame, for an address of 05h
(00101b
) and a command of 35h
(110101b
).
From Figure 1 we can see that it takes:
- 5.334ms to transmit the Start and Toggle bits (S1, S2 and T). Notice that, as the first half-bit of S1 is a space, the receiver will only notice the real start of the message frame after 889us.
- 8.89ms to transmit the 5 bits for the address
- 10.668ms to transmit the 6 bits for the command
- 24.892ms to fully transmit the actual message frame.
The Toggle bit (T) is used by the receiver to distinguish weather the key has been pressed repeatedly, or weather it is being held depressed. As long as the key on the remote controller is kept depressed, the message frame will be repeated every 114ms. The Toggle bit will retain the same logic level during all of these repeated message frames. It is up to the receiver software to interpret this auto-repeat feature of the protocol.