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

Introduction

It is helpful if the reader of this application report has some prior knowledge of the Infrared Data Association (IrDA) specifications. Some general information on the stack is provided in Section 5 but this is by no means interchangeable with the full documentation and specifications for IrDA.

This implementation follows the standards defined by IrDA Lite. The application uses IrPHY, IrLAP, IrLMP, TTP, and IrCOMM 3-wire services to implement an IrDA serial port connection as a passive, secondary-only device. When a primary IrDA peer transmits the string "t" to the MSP430 MCU, the MCU detects the string, reads the ADC internal temperature sensor, and responds with the temperature reading. Within this application report, three different projects are included:

  • IrDA demonstration application running on an MSP430F149 device, using Timer_A to implement IrPHY encoding and decoding and using the ADC12 to obtain the temperature reading
  • IrDA demonstration application running on an MSP430FG4619 device, using USCI_A0 to implement IrPHY encoding and decoding and using the ADC12 to obtain the temperature reading
  • IrDA demonstration application running on an MSP430F2274 device, using USCI_A0 to implement IrPHY encoding and decoding and using the ADC10 to obtain the temperature reading

To provide a more complete solution, a demonstration application for Windows®-based PCs is also included. This application is written in the C programming language and shows how to establish an IrDA connection between a PC and the MSP430 IrDA stack using only standard Windows API calls.