Communication Link Speeds

Unlike typical NDIS media, the infrared medium supports a large number of different speeds for transmitting and receiving bits. Current definitions for operating speed vary from 2,400 bits per second (bps) to 16 megabits per second (Mbps). In the future, more speeds may be defined by IrDA. Varying design goals at different speeds have led to different coding methods for frames: SIR, MIR, FIR, and VFIR. The differences in frame coding methods must be handled by the IrDA miniport driver and be transparent to the protocol.

The currently defined IrDA speeds and their corresponding frame coding methods are listed in the following table.

Speed (in bps) Frame coding method

2,400

SIR

9,600

SIR

19,200

SIR

38,400

SIR

57,600

SIR

115,200

SIR

576,000

MIR

1.152 Mbps

MIR

4 Mbps

FIR

16 Mbps

VFIR

 

For definitions of the frame coding methods, see IrDA Miniport Driver Packet Coding Schemes.

A particular infrared adapter does not necessarily support all the speeds listed in the preceding table. However, for two IrDA devices to communicate with one another, there must be an overlap in the supported speeds. IrDA standards specify that all IrDA devices must support the 9,600 bps rate. This IrDA specification guarantees that all IrDA devices are at least able to communicate at 9,600 bps. By communicating at 9,600 bps, IrDA devices can possibly negotiate a higher speed. For example, two IrDA devices must negotiate at 9,600 bps, but if both IrDA devices support 115.2 kilobits per second (Kbps), they can communicate data at that higher speed. Note that in rare cases, negotiation between two IrDA devices takes place at 9,600 bps, but the only speed those two IrDA devices share for data communications is the slower speed of 2,400 bps.

The IrLAP protocol can determine what speeds an IrDA miniport driver supports by sending an OID_IRDA_SUPPORTED_SPEEDSquery to the driver.

The IrLAP protocol sets the IrDA miniport driver's link speed using OID_IRDA_LINK_SPEEDalong with one of the values returned from OID_IRDA_SUPPORTED_SPEEDS before transmitting packets. Link speed indicates the speed with which an infrared adapter transmits outgoing frames and possibly the speed with which the infrared adapter receives incoming frames. For information about how to set OID_IRDA_LINK_SPEED to control the speed of incoming frames, see the description of OID_IRDA_RATE_SNIFF.

 

 

Send comments about this topic to Microsoft