© 2000 Ubicom, Inc. All rights reserved.
- 16 -
www.ubicom.com
AN16
SX IrDA Virtual Peripheral Implementation
3.
4
LMP LAYER & IAS SERVER
The IrDA Link-Management-Protocol (IrLMP) layer
serves to multiplex the IrLAP connection between a num-
ber of higher layers and/or applications using the reliable
service of the IrLAP layer. The LMP layer requires that a
LMP connection be created for every instance of a ser-
vice or application that wishes to communicate across
the link so that all the data can be correctly multiplexed to
the
correct
destination
services/applications.
The
addressing is achieved by adding a one byte destination
Link-Service-Access-Point (DLSAP) address and a one
byte source LSAP (SLSAP) to every reliable I frame.
The
Information-Access-Server
(IAS)
allows
IrDA
devices to get specific details about the high layer ser-
vices the IrDA device offers. A request for information will
consist of a class-name in text form (e.g. IrDA:IrCOMM
for IrComm) and a attribute-name in text form (e.g.
Parameters for IrComm). If the IAS server has a entry of
the correct class-name then it will respond by returning
the data associated with the requested attribute. The text
names are generally ASCII but are considered to be lan-
guage-independent byte sequences and are case sensi-
tive The IAS implementation is secondary only and as
such can reply to requests for information but cannot
request information itself.
In the IrDA Virtual Peripheral both the IrLMP layer and
the IAS have been implemented together in the one layer
referred to as the LMP layer.
3.4.1 LMP LSAP Addresses
The following services are provided:
IAS server (LSAP = 0)
IrComm service (LSAP = 5)
3.4.2 LMP Behavior
The IrComm service LMP state is remembered as either
connected or not connected by the use of the lmpAppL-
SAP variable. This variable holds the LSAP of the remote
service that opened the connection to the IrComm ser-
vice and if 0 the IrComm service is considered to be not
connected.
The IAS service LMP state is not stored. Any attempt to
open the IAS service is accepted and any attempt to
close it is ignored.
Any attempt to access an unknown LSAP or the IrComm
LSAP while it is not connected will result in a BadLSAP
Received Nr = NrNotAck
Start WD Timer.
NrAck := NrAck 1.
Inform LMP layer that transmitted data must be resent
if appropriate.
Jump to TestNs.
same
Received Nr = other
Send RD frame.
Start WD timer
SCLOSE
NRM
(TestNs)
Received Ns = Ns
Ns := Ns + 1
Inform LMP layer that received data is valid if
appropriate.
Jump to SendData.
same
Received Ns <> Ns
Inform LMP layer that received data is valid if
appropriate.
Send S frame.
same
Frame was a S frame
Jump to SendData
same
NRM
(SendData)
LMP layer has data to send
Send I frame.
NrAck := NrAck + 1.
same
LMP layer does not have data to
send
Send S frame.
same
SCLOSE
uRDFrame
Send UA response
Apply default connection parameters.
Indicate disconnect to LMP layer.
NDM
All other frames (command, final)
Send RD frame.
Start WD timer
SCLOSE
Timeout
Apply default connection parameters.
Indicate disconnect to LMP layer.
NDM
Table
3-4.
LAP State Machine