Wikipedia :
Infrared technology (IR)
|
Consumer IR (CIR)
|
Remote control (RC)
Infrared Data Association (IrDA)
|
LED (Emitter)
|
Photodiode (Detector)
Various manufacturers have used different infrared wavelengths in consumer electronics, from 830 nm to 950 nm or so (see table below). The spectral bandwidth of a typical IR diode is around 50 or 55 nm.
Wavelength is the one parameter that can't be changed in "universal" remote controls meant to operate with a wide variety of receivers (unless they use several separate IR transmitters). Most of those just use a single IR diode somewhere in the middle of the above range and drive it at a higher current to compensate for the loss of sensitivity resulting from spectral mismatch.
In the very near infrared (850 nm or so) bright diodes are actually detectable by the naked eye as a faint red glow. This signature in the visible spectrum makes this type of LEDs unsuitable for military night-vision applications. By contrast, a 940 nm LED is totally invisible (but can be detected easily by digital cameras). The advantage of the lack of a visible signature is unclear in non-military applications.
The type of infrared used in consumer electronics is always in the very near-infrared band, conventionally defined as light with a wavelength shorter than 1000 nm. In that range, the best detectors are reversed-biased PIN diodes (what's measured is the leakage current which is much greater for a PIN diode than for a PN diode and increases when light hits the diode junction). Such a diode is usually associated with an integrated circuit, which provides preamplification and tuning to a particular modulation at some ultrasonic frequency for better noise immunity and/or rejection of infrared light unrelated to the desired signal.
Commercially Available Infrared-Emitting Diodes
Everlight IR333-A :
GaAlAs super-Bright 5 mm IR LED
940 nm, 100 mA (85 mW/sr) , 1.6 V, 1A (0.1 ms / 1%) 150 mW.
(0ドル.75)
Near, mid and far-infrared
by IPAC = Infrared Processing and Analysis Center (NASA).
There are no legal restrictions for the use of IR beams to transmit any kind of data. Modulation at a definite frequency is just necessary to distinguish the signal from other sources of near infrared, from daylight to fluorescent lighting. Data is encoded by turning this modulated carrier on and off. The most common modulations used in commercial products are between 30 kHz and 56 kHz or so.
Well outside that range, 455 kHz modulation of IR beams seems to be used exclusively by Bang & Olufsen (the Danish manufacturer of upmarket audio products). Standard parts for this modulation band are becoming difficult to locate. That allows data transmission at about 10 times the rate of other current IR protocols (up to 19200 Bd or so, as studied in details below).
The dominant standard is 38 kHz (or, equivalently, 38.4 kHz) but the other frequencies are well supported by a new generation of mass-produced IC receivers. A few compagnies, including Nikon, do use explicitely the data-friendly frequency of exactly 38.4 kHz rather than a fuzzy rounded specification of 38 kHz.
38.4 kHz modulation is sufficient for data transmission at 2400 Bd with current ICs (dating from 2006). 56 kHz modulation allows 3600 Bd. We may achieve 19200 bauds with 455 kHz modulation using 2001 technology.
Modulation at 33 kHz (more precisely, 32768 Hz) has been used since 1989 for one-way communications from HP scientific calculators to the nifty little HP 82240B thermal printer (now out of production) at 78 characters per second, with error-correction codes (the raw bit-rate is about 1170 Bd).
Thomson and RCA use 56 kHz modulation.
Common IR detection bands and special crystal-calibrated frequenciesThis is probably the simplest possible type of remote control; only one button and one type of action. The camera itself can be programmed to know what to do upon receipt of the IR signal (immediate or delayed shutter release, etc.) but that's not our concern here...
Canon has a two-position switch on their RC-6 remote (a straight replacement for their old RC-1) to allow two types of actions (immediate or 2-second delay) corresponding to two different IR signals to send to the camera when the main button is pressed.
The signal from genuine Nikon ML-L3 units has been back-engineered and described with sufficient precision (see footnotes below). The modulation is known to be precisely 38.4 kHz. It stands to reason that the observed intervals are nominally a whole number of carrier cycles:
1 / 38400 = 26.041666666... microseconds
Nikon ML-L3 Infrared Remote The sequence for the ML-L3 seems to be:
We may abbreviate this as: 38400 Hz(/801024円/1664円/16128円/162400円)2
OML-L3: A customizable Nikon-compatible remote
by Michele Bighignoli.
Nikon Infrared Remote Control,
using an ATTiny2313, by Mike Hankey.
Generic GTMax RC-6 Wireless Shutter Release
(6ドル.99) for Canon digital cameras.
Multi-camera infrared control
by Sebastian Setz (Nikon, Canon, Minolta, Sony, Olympus and Pentax).
Data bits (along with start/stop signals and parity checks) are encoded by switching the modulated IR beam on and off at the boundaries of modulation cycles (a burst thus always consists of a whole number of cycles).
Because of the noisy infrared environments caused by modern fluorescent lighting, current IC detectors are no longer able to handle a continuous modulated IR beam. Instead, they expect only short bursts (whose duration is often fixed). The best commercially available detectors (discussed below) can handle up to 2000 such pulses per second, if they last at least 6 carrier cycles and are separated by a recovery time of at least 10 cycles. Those short bursts can encode bits in several different ways. The most popular are:
When the width of bursts is constant, as is usually the case in modern IR protocols, the last two encoding methods are equivalent. The first one has many advantages over them.
In almost all protocols, the raw data is organized into short frames of fixed length starting with a specific pattern of bursts to get the receiver's attention and anchor the timing before the data and validating checksums are sent (those can sometimes be used to recover the original data in case of a single bit error within a frame).
Frames are normally independent pieces of data which are transmitted asynchronouly (the idle time between frames can be unlimited, in most cases). However, in the world of remote control keypads, a frame is often sent just to indicate that a certain key is still being pressed. Each time a key is released, the state of the so-called "toggle" bit is changed. The value of that toggle bit is sent with every frame, so that the receiver can tell the difference between a key being maintained down or pressed several times ("2" and "22" may not mean the same thing).
Infrared Communications
by Sparkfun.
Data Formats for IR Remote Control
by Vishay Semiconductors.
IR Remote Control
Codes (1) by Elektor Electronics (March 2001).
RC-5, SIRCS, RECS80 (bad).
IR Remote Control
Codes (2): RECS80 erratum., Denon, NEC, Motorola, Japanese, Samsung, Daewoo.
IR commands are one-way only, with no feedback. Typically, the "power" button on a TV remote turns the set on if it's off but will turn it off if it's on...
If you want to make sure your TV is on as part of a complex sequence of control commands that will enable you to watch a movie from a particular source, say, you need a function which is not available on an ordinary remote. This "make sure the TV is on" command is an example of what has become known as a "discrete" command code.
Such codes cannot be obtained by decoding the ouput of ordinary remote units. They are typically compiled in specialized databases for use by programmable "universal remotes" which control several units of different brands for maximal flexibility. Information about discrete codes was either provided by friendly manufacturers or discovered by trial and error...
Units without discrete control codes are less friendly and, well, less useful!
Discrete IR Codes
by Ben Drawbaugh (2009).
Models without discrete codes:
"Toggle-Only Actuated Devices" (TOADs) by Daniel Tonks.
Power discrete Codes
by Rob Crowe.
The 0.5% discrepancy with the nominal frequency heralded by other manufacturers is hardly worth noticing in practice. However, it is rather curious and I don't have an explanation for it at this time...
It could simply be the result of tests on the final products, or there could be a deeper explanation, since they give the same specification for detectors using different technologies which could not possibly have been produced with the same tools.
The central frequencies Rohm semiconductors advertises for their RPM6900 series are 33.3, 36.0, 36.7, 37.8, 40.0 and 56.9 kHz (respectively identified as RPM6933, RPM6936, RPM6938, RPM6940 and RPM6957).
I have also been unable to find what IR wavelength the Rohm receivers are designed for! They produce high-output emitters peeking at 850 nm (SIM-030ST) or 870nm (SIM-040ST) and seem to indicate that such choices are better than the standard choice of 940 or 950 nm. We may guess that their receivers would spectrally match that, but it's unfortunately just a guess.
Some Rohm datasheets:
RPMS6900 series
|
RPM7138-R
RPMS1381-H19 (ultracompact)
|
RPMS2381-H19 (ultracompact)
Before developping the more successful RC-5 system, Philips had proposed a system they called RECS-80. At least two ICs supported that system (SAA3008 and ST M3004). It's unclear to me what commercial products, if any, made use of the system before it was superseeded by RC-5.
The SAA3008 could work with any resonator between 350 kHz and 500 kHz (nominally 455 kHz). The modulation frequency was obtained by dividing by 12 the frequency of that master resonnator and could therefore be between 29.17 kHz and 41.67 kHz. Presumably, the emitter and the receiver were supposed to be tuned to the same frequency, though. The intention was certainly to always use the nominal frequency of 455 kHz for the master clock and, therefore, 38 kHz (37.916666...) for the IR beam modulation at a 1/3 duty cycle (on for 4 clock cycles, off for 8 clock cycles). The specs for the M3004 are clear on that point.
In that scheme, bursts were speparated either by two units of time to encode a "0" bit or three units to encode a "1".
The very popular RC-5 coding scheme has the following characteristics:
[画像: Come back later, we're still working on this one... ]
Wikipedia : RC-5
[画像: Come back later, we're still working on this one... ]
Wikipedia :
Apple Remote
NEC Protocol at "SB-Projects" by
San Bergmans (b. 1959年12月12日).
NEC Infrared Transmission Protocol
at Altium.
Arduino Forum (2005-2010 archives)
|
PICBASIC Community (2011年08月23日)
[画像: Come back later, we're still working on this one... ]
Remote Control Information:
PIC projects based on SIRC, by Pete Griffiths.
Sony SIRC infrared protocol (Feb. 2010)
Each burst has a fixed width of 0.5 ms (28 cycles). A logical "0" is a burst followed by 1 ms (56 cycles) of silence (for a total duration of 1.5 ms). A logical "1" is a burst followed by a space of 2 ms (2.5 ms total duration).
A frame starts with a 4 ms burst (224 cycles) followed by a 4 ms space. The 12-bit data is then sent most significant bits first, first a 4-bit address then an 8-bit command. The complements of those 12-bits are then sent in the same order to validate the data. The total duration to this point is always 56 ms. An 8 ms stop space brings the duration of a frame to 64 ms.
The same frame is sent repeatedly as long as the key is pressed. (No toggle bit?!)
[画像: Come back later, we're still working on this one... ]
RCA Protocol
by Pablot from Sweden, at San German's "SB-Projects".
IR Remote RCA Notes
and IR Key Codes for RCA Remotes
by Dan Peirce.
The HP 82240B Infrared Printer is out of production now but it has been the standard printer for HP calculators since 1989.
This little printer is still supported by the HP-50G (albeit with a very limited range) but not by the newer HP Prime, which has no IR link.
Its modulating frequency is based on the most common type of crystal available: 32768 Hz (used to derive a precise 1 Hz signal in "quartz" timepieces, using 15 cascaded bit counters). Modern ICs with a nominal frequency of 33 kHz are ideal to receive signals intended for the 82240A or 82240B printers.
A basic pulse consist of at least 6 and no more that 8 carrier cycles (50% duty cycle nominally). The bit time is equal to 28 cycles, divided into two half-bits of 14 cycles each.
A frame consists of a START followed by 4 error-correction bits, 8 bits of data and a STOP. Data is sent most sighificant bits first. The error-correction bits are such that the 4 sets of bits marked in the following table have an even number of "1" bits.
[画像: Come back later, we're still working on this one... ]
Among the current generation of infrared IC detectors, it seems that only the family of the TSOP34333 (TSOP34133, TSOP32133, TSOP34333, TSOP32333, TSOP34533, TSOP32533) can match the specification of HP to receive signals intended for their nifty little thermal printer. Those ICs can detect pulses of 6 cycles, as required (other ICs need 10 cycles or more).
Among those, Mouser currently stocks only the TSOP32133 and TSOP34133 which differ only by their pinouts (I prefer the latter). Both feature the least vigorous type of the new automatic gain controls (Vishay's AGC1) recommended for "legacy devices" with lesser immunity to the infrared noise created by fluorescent lighting. Grab a few if you want to listen to what your HP calculators have to say... (the part costs less than 1ドル).
The original model was the Pronto TS-1000 which sold for 400ドル (not including an "optional" 80ドル battery charger).
Pronto remotes have the ability to learn directly from other remote control units the IR codes they are supposed to simulate. They can also receive entire databases of control codes through a built-in serial interface using a standard 3.5 mm audio jack.
Various format can be used for those databases, including the raw "Pronto HEX" codes which is especially useful for storing learned IR commands without analyzing the overall logic of any particular system.
Pronto codes first specify the modulation frequency of the IR beam, then use the duration of a carrier cycle as a unit of time (this is precisely what most remotes actually do, possibly all of them, but the time unit so specified is always short enough to measure any timing with sufficient accuracy to reproduce is effectively). The rest of the recorded codes simply consists of a certain number of "burst pairs", each composed of the number of cycles the beam is ON (that's always an integer in a properly designed IR emitter) followed by the number of cycles it's OFF (there's no technical reason for this to be an integer but it rarely fails to be, if ever, and the Pronto units assume this when they measure or record data).
[画像: Come back later, we're still working on this one... ]
Philips Pronto TS-1000 Remote Control:
A review by Daniel Tonks.
How
to Program a Philips Pronto Using USB on Mac OS X by Keith Barrett (2013年03月03日).
[画像: Come back later, we're still working on this one... ]
Interpreting Decoded IR Signals by John S. Fine.
When a modulated IR beam is turned on and off to transmit data, the cleanest signal is obtained when the digital clock and the modulating carrier are synchronous. The smallest unit of time is taken to be one period of the IR modulation cycle and the duration of a bit is a constant number of such cycles. In that context, it's best to select a 38.4 kHz carrier, so that the duration alloted to a bit in a standard 2400 Bd transmission is exactly 16 cycles. The datasheet for the TSOP48338 would then call for the representation of a "1" to be a pulse of 6 cycles followed by 10 cycles of silence. A "0" is represented by 16 cycles of silence (the widespread TSOP4838 requires 10 cycles bursts and 12 cycles of rest, which isn't good enough here). Also, note that the TSOP48338 allows up to 2000 short bursts per second, which is satisfied in 1-8-1-odd serial communication at 2400 Bd since each 11-bit frame in that protocol includes at most 9 bursts, so there are at most 2400 (9/11) < 1964 bursts per second (and an average of only 1200 burst per second with random data).
However, there is an additional requirement in asynchronous communications, that the start pulse must be at least half as wide as the interval alloted to a regular bit (here 16 cycles). To satisfy this, we stretch the start pulse to 10 cycles instead of 6. With that caveat, this IC supports an uninterrupted serial data stream in the specified format (barely so)... Stretching the start pulse by 4 cycles makes each 11-bit frame last 180 cycles instead of 176. As a frame conveys only one byte of data, the effective data rate is 102 B/s or 6 kB/min.
The 1% discrepancy between 38.4 kHz and the nominal frequency of 38 kHz can be essentially ignored, as the central frequency of the receiving filter has a tolerance of 5% and a 3 dB bandwidth of 10%. Being at most 6% off-center, there's at most a 4 dB attenuation at 38.4 kHz, relative to optimal sensitivity.
The integrated IR receivers for consumer electronics aren't always suited for continuous serial transmission. Those receivers are sophisticated superheterodyne receivers with automatic gain control (AGC). They are fine-tuned for noise-rejection in the remote control of consumer-electronics devices, like televisions and such, where the duration of the IR transmission is a small fraction of a second. To maximize sensitivity, they have maximum gain when waiting to receive a modulated IR signal. The gain decreases when IR is received to avoid swamping the circuit. If a long transmission is attempted, the gain may become so low that radiation will no longer be detected at all.
Radio-Shack used to sell a small IR receiving module with a 15 mm metal shielding (the discontinued NJL74H380A from JRC / NJR) which was able to handle a continuoue carrier wave (this IC may still be available while supplies last). Now, what Radio-Shack sells under the same part number [!] (276-640) is a different module, based on the TSOP4838. This component may be more sensitive than the old one in typical remote-control applications, but the module simply can't handle a continuous carrier wave at 38 kHz.
Critical timing considerations do not allow the widespread TSOP4838 to be used beyond 1200 Bd (at 1200 Bd, each bit lasts 32 cycles with a constant burst duration between 16 and 20 cycles, without a wide start pulse). Even so, the TSOP4838 has a limit of 800 bursts per second and could not handle long communications at 1200 Bd which may require up to 982 pulses per second (although the typical average is only 600 Bq). Thus, the VSOP4838 is only safe for 600 Bd communications. The related VSOP4438 allows 1300 bursts per second and is thus suited for 1200 Bd.
I would still rather recommend the TSOP48338 at up to 2400 Bd, provided the start pulse is stretched at the emitting end and/or at the receiving end (where it doesn't hurt to stretch all pulses alike before feeding them to a UART; I'd recommend both types of stretching for robustness in critical applications). Although I haven't yet put this to an actual test, it seems fairly clear to me that Vishay tailored the specifications of the TSOP48338 to make 2400 Bd possible.
The reason why the detectors that accomodated continuous waves are no longer produced is that the evolution of fluorescent lighting technology has created environments with too much infrared noise for this type of detectors.
Here is the key to understanding Vishay part numbers in the current generation of integrated IR receivers:
Meaning of the digits following the Vishay suffix TSOPDatasheets:
With the notable exception of the Musical Instruments Digital Interface serial bus (MIDI, at 31250 Bd) modern standard serial communications run at baud rates equal to 1200 or 1800 multiplied into a power of 2 :
The Arduino Due can send at 921600 Bd but few other serial devices do.
With the TSOP34156, 3600 Bd is possible on a 57.6 kHz IR beam. (The limit of this IR technology is about 19200 Bd using a 455 kHz carrier with a discontinued TSOP7000, as investigated in the next section.)
38 kHz Serial Infrared Transceiver
(2400 Bd) by Dr. Volker Ziemann (CERN, 2001).
Choosing an Infrared Receiver
Based on AGC Type by Thomas Mistele & Jim Toal (Vishay).
Everlight IRM8601S Datasheet (1998).
Apparently, only the prestigious Danish brand Bang & Olufsen uses IR beams with 455 kHz modulation for remote control applications. This is definitely an overkill but we may have them to thank for a protocol that allows much higher data rates than what has been discussed here so far.
In this section, we'll push that technology to achieve reliable serial transmissions at a rate of 19200 Bd over tens of meters (possibly hundreds) on an infrared beam.
To receive IR signals (870 nm) modulated at 455 kHz, Vishay introduced in 2001 the TSOP7000 (then branded Vishay and/or Telefunken). The part is no longer manufactured but thousands are still available through AERI. They go for about 5ドル on e-bay.
The TSOP7000 works best with light from an 870 nm infrared LED. For normal operations, it must receive a radiant flux of at least 1.5 mW/m2 in this case (this corresponds to a 20 m range with an obsolete TSHF5400 at 300 mA). The receiver remains usable with a 940 nm diode (12 m range with a TSAL6400 at 300 mA).
With lenses at both ends, Ioannis has reported a range of 120 m, using a TSHG6210 (850 nm) driven at 180 mA.
Below is a summary of the characteristics of this and other relevant high-performance IR emitters manufactured by Vishay. All of them have a nominal current of 100 mA which is to be applied for no more than 20 ms at a time. More importantly, they allow a "peak" current of 200 mA in pulses of less than 0.1 ms with a duty cycle of 50% or less. Thus, our 455 kHz 10-cycle bursts can be routinely driven at or near 200 mA. Interestingly, all the diodes listed bellow can withstand a surge current of at least 1 A, which can be useful to trigger an "out of range" signal easily detectable at a distance of more than twice the normal range.
The recommended "optical test signal" (see diagram below) normally consists of 10 cycles of the 455 kHz carrier at a current of 300 mA (detectable 22% beyond the distance at which a 200 mA signal fades from view). However, the short duration of such a burst (0.022 ms) allows us to drive it occasionally at a huge current of 1A, which makes it detectable 2.23 times further than 200 mA signals. It's not prudent to transmit regular data this way, though.
If an emitter isn't spectrally matched with the TSOP7000 receiver, the range is reduced by a factor given as a percentage in the next-to-last column. At this time, the spectral correction factors thus given are only educated guesses, which are neither experimental results nor proper derivation from the spectra of the emitters and the known spectral sensitivity of the TSOP7000 receiver. Sorry.
The output of the TSOP7000, is pulled low (its active state) with some delay and some jitter when sufficient infrared activity is detected around 455 kHz, as illustrated by the following waveforms from the datasheet:
The short bursts (10 cycles) which are making the best use of the receiving capabilities of the TSOP7000 are too narrow to be used directly by a standard serial interface (UART) especially in the presence of jitter. To remedy that, we stretch the active pulses to make sure that their duration is comfortably between 50% and 100% of the duration alloted to each serial bit (failure would occur if the start bit at the beginning of a serial frame was ever out of those bounds). We achieve this with an NE555 wired as a monostable, choosing the timing values of R and C so that the following inequalities are comfortably satisfied (where B = 19200/s is the Baud rate).
0.5 < R C B Log 3 < 1
With C = 10 nF and B = 19200 Bd, the proper standard value for R is 3.3 kW (4.7 kW is too tight and 2.2 kW is definitely too little). If we ever need another baud rate B, we'd want R.C.B to be pretty close to 0.644.
Resistors in NE555 monostable circuit for a timing capacitor of 10 nFWe may also use a separate NE 555 (or, rather, half a 556 using CMOS technology) with a time constant of half a second or so with a visible LED at its output which will stay lit long enough to notice when any radiation is detected, no matter how briefly. This helps check the optical part of the link and provides an indication of its noise immunity.
On the side of the emitter, we have a "455 kHz" clock and the duration of a bit at 19200 Bd can be taken to be 24 cycles (with an acceptable error of 1.26%). Resonnators at 460 kHz are also avalaible to modulate the carrier 1% faster (still very much acceptable by the TSOP7000) where a 24-cycle bit duration yields a baud rate which is only 0.17% off.
For a very precise baud rate, however, we need a 460.8 kHz clock (which is only 1.27% off the nominal center frequency of the TSOP7000 receiver). This is best obtained from standard modern crystals, rather than "intermediate frequency" (IF) 455 kHz resonators inherited from a fading radio technology. Acceptable frequencies are 0.4608 MHz multiplied into some power of two. Common baud generators use 1.8432 MHz (four times 460.8 kHz) or the next five possibilities: 3.6864 MHz, 7.3728 MHz, 14.7456 MHz, 29.4912 MHz and 58.9824 MHz.
Curiously, a "typo frequency" of 14.4756 MHz (instead of the correct frequency of 14.7456 MHz) is embodied in crystals sold on a fairly large scale. That frequency doesn't have any particular significance; it just comes from somebody's mistake, replicated over and over again by two crystal manufacturers: Abracon and Epson (Seiko).
Now, we want our IR signal to be as detectable as possible in the presence of noise. For a given power, this is best achieved by using a lower duty cycle and higher peaks of emission which stand out above the noise better. The TSOP7000 requires the duty cycle of the carrier signal to be between 10% and 50%. We can easily make it 12.5% by using an oscillator at 8 times the carrier frequency, using a widely available 3.6864 MHz crystal and turn on the emitter for one full cycle out of eight during a burst. This approach requires an emitter which can be switched on and off fairly rapidly, which makes the "cutoff frequency" listed in the above table relevant to this application.
Beo4 by Jesper Drud Nielsen, Denmark (2006).