红外遥控器编码协议总结 下载本文

toggle bit. The 2-bit toggle value is incremented every time a key is released. Thus only in this mode there is no real REF pulse.

The next 3 pulses S2 to S0 represent the sub-system address bits, sent with MSB first. This would allow for 8 different

sub-system

addresses

but both the SAA3008

and the M3004

can only generate

7

sub-system addresses in normal mode. Next come the 6 command bits F to A, also sent with MSB first allowing for 64 different commands per sub-system address.

The pulse train is terminated by a last pulse, otherwise there is no way to know the duration of bit A. The entire command is repeated (with unchanged toggle bits) for as long as the key is held down. The repetition rate is 121.5ms (55296 periods of the oscillator).

Address assignments are a bit odd with this protocol. You can not simply convert the binary value to a decimal

value. Below you see a table explaining

the relationship

between

the binary

and decimal

sub-system address values.

Extended Protocol

If you need more than 7 sub-system addresses you can use the extended protocol which allows 13 additional sub-system addresses only if you use the SAA3008. The drawing below shows an extended message. This example transmits command 36 to address 10.

The first two pulses are a special start sequence. The total duration of these pulses is equal to a normal \

The next bit is a toggle bit. Its value is toggled whenever a key is released, which results in a different code every time a new key is pressed. This allows the receiver to discriminate between new key presses and key repetitions.

The next 4 pulses S3 to S0 represent the sub-system address bits. This would allow for an additional 16 different sub-system addresses, although the SAA3008 can only generate 13 additional sub-system addresses in this mode. Next come the 6 command bits F to A, also sent with MSB first.

The pulse train is terminated by a last pulse, otherwise there is no way to know the duration of bit A. The entire command is repeated (with unchanged toggle bits) for as long as the key is held down. The repetition rate is 121.5ms (55296 periods of the oscillator).

37

Address assignments are a bit odd with this protocol. You can not simply convert the binary value to a decimal

value. Below you see a table explaining

the relationship

between

the binary

and decimal

sub-system address values.

38

35)Philips RC-MM Protocol

RC-MM was defined by Philips to be a multi-media IR protocol to be used in wireless keyboards, mice and game pads. For these purposes the commands had to be short and have low power requirements. Whether the protocol is actually used for these purposes today is unknown to me. What I do know is that some Nokia digital satellite receivers use the protocol (9800 series).

Features

12 bits or 24 bits per message

Pulse position coding, sending 2 bits per IR pulse Carrier frequency of 36kHz

Message time ranges from 3.5 to 6.5 ms, depending on data content Repetition time 28 ms (36 messages per second) Manufacturer Philips

Transmission timing

In this diagram you see the most important transmission times. The message time is the total time of a message, counting form the beginning of the first pulse until the end of the last pulse of the message. This time can be 3.5 to 6.5 ms, depending on the data content and protocol used.

The signal free time is the time in which no signal may be sent to avoid confusion with foreign protocols on the receiver's side. Philips recommends 1 ms for normal use, or 3.36 ms when used together with RC-5 and RC-6 signals.

Since you can never tell whether

a user has other remote

controls

in use

together with an RC-MM controlled device I would recommend always to use a signal free time of 3.36 ms.

The frame time is the sum of the message time and the signal free time, which can add up to just about 10 ms per message.

Finally the repetition time is the recommended repetition time of 27.778 ms, which allows 36 messages per second. This is only a recommendation and is mainly introduced to allow other devices to send their commands during the dead times.

No provision is made for data collisions between two or more remote controls! This means that there is no guarantee that the messages get across.

39

Modulation

With this protocol a 36 kHz carrier frequency is used to transmit the pulses. This helps to increase the noise immunity at the receiver side and at the same time it reduces power dissipated by the transmitter LED. The duty cycle of the pulses is 1:3 or 1:4.

Each message is preceded by a header pulse with the duration of 416.7 followed by a space of 277.8

s (15 pulses of the carrier), μ

s (10 periods of the carrier). This header is followed by 12 or 24 bits of data. μ

By changing the distance between the pulses two bits of data are encoded per pulse. Below you find a table with the encoding times.

Protocol

RCMM comes in 3 different flavours, called modes. Each mode is intended for a particular purpose and differs mainly in the number of bits which can be used by the application. All data is sent with MSB first.

The 12 bit mode is the basic mode, and allows for 2 address bits and 8 data bits per device family. There are 3 different device families defined: keyboard, mouse and game pad. The 2 address bits provide for a way to use more than 1 device simultaneously. The data bits are the actual payload data.

The 24 bit mode, also know as extended mode, allows more data to be transmitted per message. For instance for multi-lingual keyboards or a high resolution mouse.

In the OEM mode the first 6 bits are always 0 0 0 0 1 1. The next 6 bits are the customer ID (OEM manufacturer).

My observation

showed

that Nokia used the code 1 0 0 0 0 0

for their 9800 series

digital satellite receivers.

Finally the last 12 bits are the actual pay load data.

40