30.6.3.3 IrDA Modulation and Demodulation

Transmission and reception can be encoded IrDA compliant up to 115.2 kb/s. IrDA modulation and demodulation work in the following configuration:

  • IrDA encoding enabled (CTRLB.ENC=1)
  • Asynchronous mode (CTRLA.CMODE=0)
  • 16x sample rate (CTRLA.SAMPR[0]=0)

During transmission, each low bit is transmitted as a high pulse. The pulse width is 3/16 of the baud rate period, as illustrated in the following figure.

Figure 30-12. IrDA Transmit Encoding
The reception decoder has two main functions:
  • To synchronize the incoming data to the IrDA baud rate counter. Synchronization is performed at the start of each zero pulse.
  • To decode incoming Rx data. If a pulse width meets the minimum length set by configuration (RXPL.RXPL), it is accepted. When the baud rate counter reaches its middle value (1/2 bit length), it is transferred to the receiver.
Note: The polarity of the transmitter and receiver are opposite: During transmission, a ‘0’ bit is transmitted as a ‘1’ pulse. During reception, an accepted ‘0’ pulse is received as a ‘0’ bit.

Example: The following figure illustrates reception where RXPL.RXPL is set to 19. This indicates that the pulse width must be at least 20 SE clock cycles. When using BAUD=0xE666 or 160 SE cycles per bit, this corresponds to 2/16 baud clock as minimum pulse width required. In this case the first bit is accepted as a ‘0’, the second bit is a ‘1’, and the third bit is also a ‘1’. A low pulse is rejected since it does not meet the minimum requirement of 2/16 baud clock.

Figure 30-13. IrDA Receive Decoding