Wireless & IrSimple (TM) Connectivity!








 

 
-- IrDA Tutorial --

"An Introduction to the IrDA Standard and System Implementation"
By Dr. Keming W. Yeh and Dr. Lichen Wang

Abstract
The IrDA standard has successfully progressed from IrDA-1.0 (115.2Kbps) to IrDA-1.1 (4Mbps) in the short two and half years. There are many components, adapters, software and mobile systems available for the IrDA-1.0 standard on the market now. The same will happen soon for IrDA-1.1 standard with the optoelectronic, analog and digital interface ASIC components already on the market. It is important to understand the difference between IrDA-1.0 and IrDA-1.1 in the physical modulation, protocol, system implementation and external attachment considerations.
Introduction
Infrared Data Association (IrDA) Infra-red has long been used as a transmission medium for TV/VCR controllers, calculators, printers, and PDAs. In late 1993 an industrial group spearheaded by HP, IBM, and Sharp was founded to promote an industrial standard for Infra-red communications. A short two and half years later, this group, the Infra-red Data Association, has grown to 130 members strong. The membership are international and include component manufacturers, OEMs, hardware and software companies. More impressively, by 1995, many IrDA compliant products are already in the end users' hands. This include IR equipped notebook PCs, PDAs, printers, as well as IR adapters for PCs, printers, etc. According to BIS Strategic Research, by 1996, 85% of the new notebook PCs will have IrDA capability built into the systems. Unlike the earlier IR predecessors which use proprietary protocols, this new crop of IrDA compliant equipments are inter-operative across applications, across manufacturers, and across platforms. The key features of IrDA standard are:
  • Simple and low cost implementation
  • Low power requirement
  • Directed, point-to-point connectivity
  • Efficient and reliable data transfer
Physical Layer
The IrDA Physical Layer Specification sets a standard for the IR transceiver, the modulation or encoding/ decoding method, as well as other physical parameters. IrDA uses IR with peak wavelength of 0.85 to 0.90 micro-meter. The transmitter's minimum and maximum intensity is 40 and 500 mW/Sr within a 30 degree cone. The receiver's minimum and maximum sensitivity is 0.0040 and 500 mW/(cm.cm) within a similar 30 degree cone. The link length is 0 to 1 m with an error rate of less than 1 in 10**8 bits. There are three different modulation or encoding/decoding methods. The first one is mandatory for both IrDA-1.0 and IrDA- 1.1. The other two are optional and are for IrDA-1.1 only. For transfer rate of 9.6k, 19.2k, 38.4k, 57.6k or 115.2 kbps operations, a start (0) bit and a stop (1) bit is added before and after each byte of data. This is the same format as used in a traditional UART. However, instead of NRZ, a method similar to RZ is used, where a 0 is encoded as a single pulse of 1.6 micro-sec to 3/16 of a bit cell, and a 1 is encoded as the absence of such a pulse. In order to have unique byte patterns to mark beginning and ending of a frame and yet allow any binary data bytes, byte stuffing (escape sequence) is used in the body of the frame. A 16-bit CRC is used for error detection. The 9.6 kbps operation is mandatory for both IrDA-1.0 and IrDA-1.1. 19.2k, 38.4k, 57.6k and 115.2 kbps are all optional for IrDA-1.0 and IrDA-1.1. For transfer rate of 0.576M or 1.152 Mbps operation, no start or stop bits are used and the same synchronous format as HDLC is used. Again, a 0 is encoded as a single pulse (1/4 the bit cell) whereas a 1 is encoded as the absence of such a pulse. In order to ensure clock recovery, bit stuffing is used (same as in HDLC). The same 16-bit CRC is also used. Both 0.576M and 1.152 Mbps operations are optional for IrDA-1.1. For transfer rate of 4.0 Mbps operation, a 4-PPM method is used. Again, no start or stop bits are used. In addition, bit/byte stuffing are not needed either. A 32- bit CRC is used in this case. This rate is used in IrDA-1.1 only.
IrLAP Layer
The IrDA Link Access Protocol (IrLAP) establishes the IR media access rules and various procedures for discovery, negotiation, information exchange, etc. IrLAP is a mandatory layer of the IrDA standard but not all the features are mandatory. The minimum requirements are clearly spelled out in the specification. The main media access rules are that for any station which is currently not participating in a connection, it must listen for more than 500 msec to make sure that there is no IR traffic before it starts to transmit, and that for any station which is currently participating in a connection, it must transmit a frame within any given 500 msec. Media access among the stations participating in a connection is controlled by a token-like Poll/Final bit in each frame. Transmission of user data without first establishing a connection is allowed in IrLAP. As far as IrLAP is concerned, connection-less transmission are broadcast in nature and are not acknowledged by the receiver. The discovery procedure defines a orderly way to exchange IDs. The initiator broadcasts its own ID repeatedly for a known number of times and listens between these repeated transmissions (slots). The responders randomly choose one of the slots and send their own IDs. If there is a collision, this procedure can be repeated. The negotiation procedure is used to establish a connection with operating parameters that both parties can support. Some or these parameters, such as bit rate, must be identical for both side, thus the "largest common denominator" is used. Some other parameters, such as maximum data size, are the limits of one party which the other party must respect. After all these operating parameters are known to both parties, a connection can be established. Before this happens, all traffic (connection-less transmission of data, discovery procedure, negotiation procedure, etc.) are carried out at 9.6 kbps async. mode with maximum data size of 64 bytes. Once connection is made, the negotiated data rate can be as high as 115.2 kbps (IrDA-1.0) or 4 Mbps (IrDA-1.1), the negotiated maximum data size can be as big as 2048 bytes. During connection, the information exchange procedures are used. Frames containing user data are sequence checked in addition to CRC. There are also supervisory frames used for flow control, error recovery, and to pass the token. Connection may be one-to-one or one-to-many. One of the stations in a connection plays the role of a primary, all others play the roles of secondaries. Usually, the station that initiated the connection, or the common one in a one-to-many connection is the primary station. The primary station is responsible for the recovery of lost token, to maintain the 500 msec heart beat, and, in general, the orderly operation of the connection. In addition to the above major procedures, there are many other procedures, for example: sniffing, address conflict resolution, exchange primary/ secondary roles, just to name a few. Collectively, IrLAP provides an orderly and reliable connection between the IR stations.
IrLMP Layer
The IrDA Link Management Protocol (IrLMP) consists of two components: the Link Management Information Access Service (LM-IAS), and the Link Management Multiplexer (LM- MUX). IrLMP is a mandatory element of the IrDA standard, but again, not all features of IrLMP are mandatory. LM-ISA entity maintains an information base so that other IrDA stations can inquire what services are offered. This information is held in a number of objects, each associated with a set of attributes. For example, "Device" is an mandatory object and has attributes "DeviceName" (an ASCII string) and "IrLMPSupport" (IrLMP version number, IAS support, and LM-MUX support). The other component of IrLMP, LM- MUX, provides multiple data link connections over the single connection provided by IrLAP. Within each IR station, multiple Link Service Access Points (LSAPs) can be defined, each with a unique selector (LSAP-SEL). LM-MUX provides data transfer services between LSAP-SEL end points within the same IR station as well as across the IrLAP connection to other IR stations. The LM-ISA discuss previously uses a pre-defined LSAP-SEL (0) for other IR stations to access over IrLAP and through LM-MUX. The LM-MUX can be in one of two modes, exclusive or multiplexed. When in exclusive mode, only one LSAP connection may be active. In this case the flow control provided by IrLAP can be used for the only connection. When in multiplexed mode, several LSAP connections may actively share the same underlying IrLAP connection. However, in this case additional flow control must be provided by upper layers or the applications.
IrTP, TinyTP, IrCOMM, and Beyond
IrTP and TinyTP are optional transport protocols. The main proposes are to provide individual LSAP flow control functions and to segment or reassemble data. The additional flow control is needed when the LM-MUX is in multiplexed mode. The segmentation and reassembly of data is used to match the user buffer size and IrLAP/IrLMP data size. IrCOMM is the protocol to emulate pre-existing wired serial and parallel ports. There are four service types. The 3-wire raw service type emulates a 3-wire RS-232 port ( TxD, RxD and Gnd wires with no flow control). It has no control channel and relies on IrLAP for flow control (and hence it must use LM-MUX exclusive mode). The other three service types use TinyTP and have separate control channels. They emulate 3- wire (cooked), 9-wire, and Centronics parallel. Other IrDA optional layers include PnP (Plug-and-Play), Obex (Object exchange), and many others. Most of these optional layer are aiming at facilitating the adoption/development of application programs. Physical Layer, IrLAP, and IrLMP are the only layers that are mandatory in the IrDA standard. While these three layers provide the bases for an efficient and reliable link, the design is extensible and open-ended. IrDA has defined and is continuously working on other optional upper layers.
IrDA-1.0 System Implementation
To implement IrDA capability into systems like notebook PCs, PDAs, etc., one needs to use the digital interface chip and an analog front-end component. IrDA-1.0 digital chips in the form of super I/O chips are provided by National Semiconductor, SMC, Winbond, etc. Analog module are in two forms: chips or optoelectronic modules. Analog chips are supplied by Irvine Sensor, Unitrode, Rohm and Crystal Semiconductor (which has an integrated mixed-signal analog/digital chip) where additional IR-LED and detector diode are needed and careful PCB layout around the sensitive detector circuitry is required. Optoelectronic modules are provided by HP, Temic, Siemens, Sharp, etc. which integrate the analog chip with the IR-LED and diode in one compact module with various pinout configurations. The system implementation of IrDA- 1.0 is straightforward. The only inconvenience is the need to implement in IrDA application software (e.g. Windows 95 -IR driver from Microsoft or Tranxit file transfer software from Puma Technology) the respective hardware device driver to program speeds for each hardware systems. For IrDA-enabled portable devices that do not use Windows operating system, special IrDA protocol engine (stack) in either C or assembly codes need to be built in. Due to their limitation of low-power, slow CPU, limited memory, very compact IrDA protocol stack is required. ACTiSYS has successfully licensed their protocol stack in C or various assembly codes (model # ACT- IR920SW-IR960SW) to many OEM manufacturers of cellular phones, pagers, printers, portable instruments, portable storage devices, handheld PCs, etc. The code compactness is represented by one of their model, ACT-IR920SW (8031 code for peripherals) that is only 3.8 KBytes.
IrDA-1.1 System Implementation
Aside from the differences in the Physical Layer, The IrLAP, IrLMP, and upper layers of IrDA-1.0 and IrDA-1.1 are almost identical. By design, IrDA-1.1 is also backward compatible with IrDA-1.0. However, due to the much higher data rate allowed in IrDA-1.1, there are both hardware and software implications. For the 115.2 kbps top data rate used in IrDA-1.0, most computers and micro- controllers only need very minimum hardware and can use the CPU to handle the byte stuffing or removal and the CRC calculations. Low end micro-controllers such as 22 MHz 80C51 and 12 MHz Z80 has been successfully used to implement IrDA secondary stations at 115.2 kbps. The hardware needed consists of a UART (which most computers and micro-controllers may already have), a simple encoder/decoder circuit and the IR transceiver. For the 1.152M and 4.0 Mbps data rate used in IrDA-1.1, a packetizer must be used and the encoder/decoder circuit is more complex. The IR transceiver must also be capable of handling the faster speed. In most of the cases, DMA needs to be used to transfer data from the packetizer to and from memory. Even through there is no significant changes in the IrLAP, IrLMP, and upper layers of the protocol from IrDA-1.0 to IrDA-1.1, software efficiency must also be considered. For example, at 115.2 kbps, it takes about 100 msec to transmit a 1 KByte frame. Thus a 2 msec software overhead will only cause a 2 % degradation in performance. At 4 Mbps, however, it takes only 2 msec to transmit the same 1 KByte frame and the same 2 msec software overhead will cause a 100 % degradation in performance. In order to take advantage of the higher raw data rate, IrDA-1.1 software must be more efficient or be assisted by hardware.
External Connection
To implement IrDA-1.0 external adapters to be attached to the RS232 serial port, the challenge is to reach a long distance with reliable IR connection sustainable at 115.2Kbps baud rate, using only the limited current supplied from the RS232-port signal lines. This current is typically in the range of 10mA which needs to be booted up to around 21mA average current at 115.2Kbps rate in order to provide reliable IR communication at distance of 1 meter. ACTiSYS has successfully accomplished this with their ACT-IR220L serial adapter which offers 2.4 meter reliable IR link distance in most applications using no external power. For the Japanese market where ASK- IR modulation and protocol specification has long been used in consumer electronic devices like organizers, etc. It is very desirable to have both IrDA and ASK dual modes in the IR interface device. One example is the ACTiSYS ACT-IR200L dual- mode serial adapter. It also maintains the company tradition of long IR communication distance using only RS232-port signal power and no external power source. For implementing IrDA-1.0 external adapter for printer and other peripherals, compact IrDA protocol stack needs to be built into the adapter. Some examples are ACTiSYS's ACT-IR100X and IR100M printer adapters. To implement IrDA-1.1 (1.152M and/or 4M bps) external serial adapter, RS232 port is too slow. There are four options: internal add-on card, special IrDA connector, enhanced parallel port, special serial port like Universal Serial Bus (USB), etc. All these options are being explored by many of the current IrDA adapter suppliers. Example is ACTiSYS's ACT-IR2000 series. To implement IrDA-1.1 external adapters for printers, peripheral devices or wired LAN, the appropriate IrDA protocol stacks need to be built into the adapters. Examples are the LAN adapter from Extended Systems and ACTiSYS (ACT- IR1000M and IR6000N).
System Hardware Testing
The common problem faced by many of the IrDA-enabled systems manufacturers is the long IrDA test bottleneck on the production line. They usually use the commercially available IrDA-compliant application software or even the non-IrDA compatible file transfer software. To shorten the test time, they use very short test file. The problem is long test time (~1 minute), no easy reading and unreliable test of error rate at different speeds, no parameter re- setting by QA engineer, no isolation of send or receive problem, no automatic recording of test results. Recently, there are specific IrDA system hardware test software available to solve all these critical problem. Example is ACTiSYS's ACT-IR900SW which requires 5~10 sec. per test system to automaticall print and record the error rates. It has special test patterns to exercise stress test on IrDA hardware. It can even test both IrDA and ASK modes. Its extension, IR9000SW will test IrDA-1.1 enabled system hardware and is being tested on the newly available IrDA-1.1 adapters.


Conclusion
We have described here the basics of IrDA-1.0 and IrDA-1.1 protocol, system implementation, external connection and system hardware testing. The components for both IrDA generations will become easily available and their cost reduced very quickly. The percentage of IrDA-enabled mobile and desktop computers will increase very quickly. This will expand soon into the various vertical markets of non-computer industries. The IrDA-compliant application software, the protocol stacks for controller environment and system hardware testing software have been the show stopper. This situation is improving quickly and should accelerate the rate of IrDA implementation into new systems. Many new IrDA applications in video conferencing, ISDN-, PBX-link will also emerge. The new challenge for IrDA community is the incorporation of and co- existence with consumer IR (usually longer distance, higher power and lower baud rate) applications and future higher speed (perhaps 15 Mbps or higher) extension.
 

[ Home Page | About ACTiSYS | Contact us | IrDA Products | Tutorials | IrDA Test Center | Compatibility | Price & Buy | [Price List | Technical Support | Downloads | Track a Package | Jobs | Feedback | Privacy | Terms ]

ACTiSYS CORP.  | 921 Corporate Way | Fremont, CA 94539 | Tel: +1-510-490-8024 |  Fax: +1-510-623-7268 |  irda-info@actisys.com

1996-2013 ACTiSYS Corporation, All Rights Reserved

    
--------------------------------------------------------------------------------------------------
Member of Infrared Data Association (IrDA) Since Its Founding Day!