Communication Link Turnaround Times

An infrared adapter consists of an infrared transceiver along with supporting hardware for encoding and decoding frames. This infrared transceiver contains a transmitter LED and a receiver diode that are typically located quite close together. The receiver diode is sensitive to infrared light because it must receive transmissions from a remote infrared LED over distances up to at least one meter. The transmitter LED is quite powerful because it must transmit to a remote receiver diode over the same distances.

During transmission, a local LED typically emits enough light to saturate the local receiver diode. In much the same way that it is difficult for people to see well after staring at the sun, it is difficult for the local receiver diode to correctly receive incoming frames immediately after the local LED transmits outgoing frames.

To allow time for the local receiver diode to recover from the saturation state and become capable of again receiving incoming frames, the IrDA protocol defines a parameter known as turnaround time. Turnaround time specifies the amount of time, in milliseconds, that it takes the receiver diode to recover from saturation. In some IrDA devices, the turnaround time may be negligible; in other IrDA devices, it can be a relatively long period of time.

The turnaround time of the local receiver diode does not affect the behavior of the local transceiver. However, the turnaround time of the local receiver diode affects the anticipated behavior of the remote transceiver. For example, if a local transceiver requires a one millisecond delay from the time its LED finishes transmitting to the time its receiver diode is capable of receiving, the remote station must wait one millisecond from receiving the last bit of a frame before beginning to transmit a new frame. The remote station performs this wait to honor the local transceiver's turnaround time.

The IrDA miniport driver must always be informed of the turnaround time of its local transceiver. The IrDA miniport driver uses OID_IRDA_TURNAROUND_TIMEto specify this time value. IrLAP can send an OID_IRDA_TURNAROUND_TIME query to the IrDA miniport driver at any time to retrieve the local transceiver's turnaround time.

To honor the turnaround time of the remote transceiver, the IrLAP protocol might sometimes specify to delay transmission of a packet. To do so, the IrLAP protocol specifies the amount of time before a packet should be transmitted. The IrDA miniport driver must not transmit the packet before waiting the requested amount of time, although the driver can wait longer if necessary. The IrLAP protocol specifies transmission-delay time of a packet in the media-specific member of the packet's associated out-of-band (OOB) data block. For more information, see Sending and Receiving Packet Arrays.

 

 

Send comments about this topic to Microsoft