Ir remotes

May 20, 2024 Last reply: 2 years ago 8 Replies
Jump to replies (8)

My understanding is that Ir remotes modulate an Ir "carrier" signal in a particular pattern to express a particular "code" corresponding to the key pressed/held.



And, that different "chipsets" use different carriers and encodings.



Is there a front-end that is tuned to the particular carrier in the receiver? Or, is all of this done "digitally"?



I.e., with a fast-enough (Ir) photodetector, should I be able to decode ANY signal from ANY "remote"?



Said another way, is the fact that a particular device ONLY recognizes a particular remote related to its use of a particular chipset (or, equivalently, decoding algorithm in software)?



[The former would be hard to change but the latter should be relatively easy]

And, before anyone mentions the obvious, I've already looked at lircd which is the reason behind this post; why do they claim they can handle ALMOST all remotes? Is this a limitation of their hardware implementation? Or, timing problems in the way they try to process the raw video signal?

afaik almost all use a 30-50kHz carrier, nominally something like 38kHz, I think the common IR receivers have build in bandpass filter, so it is just a matter of interpreting bits (there's a few common protocols)

I know that B&O (used to?) be an exception with a 455kHz carrier, I'm guessing because someone clever many decades ago thought to use an AM IF filter

Yikes!

If that is the case, then signaling an interrupt on each edge/cycle would obviously kill a linux kernel (I've handled 140KHz interrupts but 455KHz would really be an annoyance) 50KHz would be a piece of cake.

Thanks. I should be able to verify this by looking to see what sort of B&O devices are (or are NOT) supported.

I see no reason to deal with the carrier directly, for receive you just need a bandpass and deal with the much slower bits, for manay recievers that's is all yo can do, the output is data

for transmit use a HWtimer/uart/spi whatever to generate the burst of carrier

If the IR link is DC-coupled, namely all digital, there is the thresholding problem. If a photodiode converts light to voltage and that drives a comparator or equivalent, where should one set the threshold? What happens when the room light is bigger than the received light from the remote (which it often is) ? How does one handle, say, a 1000:1 receive power range?

A tuned front-end dances around these problems.

A mostly-digital receiver would use a fast ADC to digitize the photodiode output and apply a LOT of DSP horespower. FFTs and such.

Have you researched the actual optical waveforms that remotes make? There's tons of stuff online, and it might be fun to measure some too.

Yes, its modulated as others pointed out. I think the Philips protocol is the most common. Played with decoding a hauppauge remote years ago. I think there's a preamble to set the timing for 1 and 0, then the data follows. Pretty simple.

Cheers

Are you looking for something like this:

formatting link
Years ago a long range remote used IR leds which could take 1A current, but only for a microsecond or so. Microsecond pulses were modulated with 33-38kHz "carrioer" and that was keyed with data, around 1-2kHz. There are dedicated deceiver modules which can output that data

Such as:

formatting link
They do all the analogue processing and just output a datastream to the decoder.

Typically the bitstream runs about 1kbit/s so easily decoded by software.

The transmitter can also be handled by driving an LED from a timer programmed to output the 38kHz then doing on-off keying (OOK) to provide the modulation. Minimal hardware outside a microprocessor is required.

kw

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required