-- 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.
|