RCA Protocol

Here's a contribution from one of my visitors, Pablot from Sweden. He generously composed the information on this page. Here is what he wrote:
There is not much info out there about the RCA protocol so I basically took a remote (an XBOX remote that uses the RCA protocol) and started analyzing the flow. I also had help from looking at the lirc remote archive. I then concluded my best guess (nothing confirmed). It is actually quite similar to the NEC protocol.

Features

  • 12-bit protocol.
  • 4-bit address and 8-bit command length (12-bit protocol).
  • Pulse distance modulation.
  • Carrier frequency of 56kHz.
  • Bit time of 1.5ms or 2.5ms.
  • Complement of code sent out after real code for reliability.

Modulation

RCA Modulation

The RCA protocol uses pulse distance encoding of the bits. Each pulse is a 500µs long 56kHz carrier burst (28 cycles). A logical "1" takes 2.5ms to transmit, while a logical "0" is only 1.5ms.

Protocol

RCA Pulse train

The picture above shows a typical pulse train of the RCA protocol. With this protocol the MSB is transmitted first. In this case Address $A and Command $68 is transmitted. A message is started by a 4ms AGC burst, which was used to set the gain of the earlier IR receivers. This AGC burst is then followed by a 4ms space, which is then followed by the Address and Command. Address and Command are transmitted twice. The second time all bits are inverted and can be used for verification of the received message. The total transmission time is constant because every bit is repeated with its inverted length. If you're not interested in this reliability you can ignore the inverted values.

Commands are repeated every 64ms(measured from start to start) for as long as the key on the remote control is held down.