SLAA202B February   2005  – December 2018 MSP430F149 , MSP430F149 , MSP430F2252-Q1 , MSP430F2252-Q1 , MSP430F2272-Q1 , MSP430F2272-Q1 , MSP430F2274 , MSP430F2274 , MSP430FG4619 , MSP430FG4619

 

  1.   Implementing IrDA With MSP430™ MCUs
    1.     Trademarks
    2. 1 Introduction
    3. 2 Hardware Description
      1. 2.1 Hardware Overview
      2. 2.2 Circuit Description
    4. 3 Software Description
      1. 3.1 Implementing IrPHY Layer Using Timer_A
        1. 3.1.1 Transmission
        2. 3.1.2 Reception
      2. 3.2 Implementing IrPHY Layer using USCI_A0
      3. 3.3 Implementing IrLAP
        1. 3.3.1 Discovery Services
        2. 3.3.2 Connect Services
        3. 3.3.3 Data Services
        4. 3.3.4 Disconnect Services
      4. 3.4 Implementing IrLMP
        1. 3.4.1 Discovery Services
        2. 3.4.2 Link Connect and Connect Services
        3. 3.4.3 Data Services
        4. 3.4.4 Disconnect Services
      5. 3.5 IAS Implementation
      6. 3.6 TTP Implementation
      7. 3.7 IrCOMM Implementation
      8. 3.8 Application Layer
    5. 4 PC Demonstration Application
    6. 5 IrDA Protocol Basics
      1. 5.1 Physical (IrPHY) Layer
      2. 5.2 Link Access Protocol (IrLAP) Layer
      3. 5.3 Link Management Protocol (IrLMP) Layer
      4. 5.4 Information Access Services (IAS)
      5. 5.5 Tiny Transfer Protocol (TTP)
      6. 5.6 IrCOMM
    7. 6 IrDA Communication Diagram
    8. 7 Frame Exchange Log
    9. 8 References
  2.   Revision History

Link Management Protocol (IrLMP) Layer

The link management protocol (IrLMP) layer depends completely on the reliable connection services and the negotiated link provided by the IrLAP layer. The services provided by the IrLMP layer include: multiplexing of the link, address conflict resolution above the IrLAP layer, and information access services (IAS).

To be able to have multiple LMP connections on one single LAP connection, the IrDA developed a way of addressing these connections. Its method consists of having various logical service access points (LSAPs) which access a service or application. This is accomplished through the use of LSAP-SELs (LSAP selectors), which are 1-byte numbers that depending on the range they belong to is the service they provide.

Just like the IrLAP layer, the IrLMP layer has a series of primitives that stipulate the services it provides, which are, according to the IrDA Lite specification:

  • Discovery services
  • Link connect services
  • Connect services
  • Data services
  • Disconnect services

The IrLMP layer adds 2 bytes of overhead in the information field of the IrLAP frame. Figure 19 shows the IrLMP frame format.

irlmp-frame-format.gifFigure 19. IrLMP Frame Format

The control bit (C) identifies the frame as a command (C = 1) or data frame (C = 0) and the r bit is reserved. DLSAP-SEL (DS) and SLSAP-SEL (SS) are the service addresses of the destination of the frame and for the sender of the frame, respectively.

As part of the discovery services, the IrLMP layer adds overhead to the IrLAP XID frame. This overhead is constituted by the device discovery information. This field is then divided in three fields which are: service hint bits, character set, and device nickname. The service hint bits are 2 bytes that, depending on which bits are set, determine which services that specific device supports (see Table 1). The character set most widely used is ASCII, although other character sets are permitted. Finally, the device nickname is the name by which the device is identified in the IAS database service.

Table 1. Service Hint Bits

Byte 1 Byte 2
Bit Function Bit Function
0 PnP compatible 0 Telephony
1 PDA/Palmtop 1 Fileserver
2 Computer 2 IrCOMM
3 Printer 3 Reserved
4 Modem 4 Reserved
5 Fax 5 OBEX
6 LAN access 6 Reserved
7 Extension (additional hint byte follows if this bit is set) 7 Extension