IR Codes
The world of IR remotes has become a commodity world. IR remotes (simple
ones, not the Pronto) are relatively inexpensive. I bought 5, credit card sized, universal
remotes for $10. They are three times as thick as a credit card but the same height and
width. Fits nicely in a shirt pocket. (A true couch potato must NEVER EVER be without
a remote!).
This has happened because there has been a large degree of standardization on the
chips that generate the IR codes and receive them. In fact there are only about 5 or 6 such
chips being used. Sony, Sharp, Toshiba, Philips and NEC are the most popular, with the
NEC one being the most popular of all. The majority of the Asian rim manufacturers
(except for Sony, Sharp, Toshiba, and Philips) use NEC chips and therefore NEC format.
I will discuss the exact coding of two of these systems, Sony and NEC. I believe
Pioneer, Onkyo, Akai, Canon, Goldstar (now LG), Hitachi, Kenwood, NEC, Teac, and
Yamaha all use the NEC chip.
[Note: IR data is always transmitted least significant bit first so the first data bit
sent is lowest order and in a real binary representation it would be the rightmost bit
having a weight of 1.]
SONY IR CODING
Parameter
Carrier Frequency
Unit of Burst Time
Lead In Burst
"1" Burst Pattern
"0" Burst Pattern
Lead Out
Decimal Value
40kHz
25 cycles of the carrier
96 24
48 24
24 24
X, 1024
HEX Value
0060 0018
0030 0018
0018 0018
0018 03f6 or 0030 03f6
The lead out pattern in the Sony code is added to the last bit by increasing the off
time. It is NOT a separate burst of data.
Sony data consists of a different number of bits in the message. The first seven
bits (the first seven burst pairs after the lead in burst) always represent the key pressed on
the remote. The next N bits where in is 5, 8, or 13 represents a device code. Older Sony
devices like a TV (no matter what its true model age, it is a device made by Sony for a
long time so it is "old") uses a 12 bit code. A newer one like the DVD S7000 uses a 20 bit
code. Some remotes can control more than 1 device so they can send codes of different
lengths.
Here is an example from a Sony DVD S7000 as it appears in the ProntoEdit Hex
Display
0000 0067 0000 0015 0060 0018 0018 0018 0030 0018 0030
0018 0030 0018 0018 0018 0030 0018 0018 0018 0018 0018 0030
0018 0018 0018 0030 0018 0030 0018 0030 0018 0018 0018 0018
0018 0030 0018 0018 0018 0018 0018 0030 0018 0018 03f6
63