17-10
DS785UM1
Copyright 2007 Cirrus Logic
IrDA
EP93xx User’s Guide
1
7
1
7
17
17.4.1.2.1 Address Field
The 8 bit address field is used by a transmitter to target a select group of receivers when
multiple stations are connected using the infrared link. The address allows up to 255 stations
to be uniquely addressed (00000000b to 11111110b). The global address (11111111b) is used
to broadcast messages to all stations. The serial port contains an 8 bit register that is used to
program a unique address for broadcast recognition as well as a control bit to enable/disable
the address match function. Note that the address of received frames is stored in the receive
buffer along with normal data and that it is transmitted and received starting with its LSB and
ending with its MSB.
17.4.1.2.2 Control Field
The MIR control field is typically 8 bits, but can be any length. The serial port does not provide
any hardware decode support for the control byte, but instead treats all bytes between the
address and the CRC as data. Thus any control bits appear as data to the programmer. Note
that the control field is transmitted and received starting with its LSB and ending with its MSB.
17.4.1.2.3 Data Field
The data field can be any length that is a multiple of 8 bits, including zero. The user
determines the data field length according to the application requirements and transmission
characteristics of the target system. Usually a length is selected which maximizes the amount
of data that can be transmitted per frame, while allowing the CRC checker to be able to
consistently detect all errors during transmission. All data fields must be a multiple of 8 bits. If
a data field that is not a multiple of 8 bits is received, an abort is signalled and the end of
frame tag is set within the receive buffer. Also note that each byte within the data field is
transmitted and received starting with its LSB and ending with its MSB.
17.4.1.2.4 CRC Field
MIR uses the established CCITT cyclical redundancy check (CRC) to detect bit errors that
occur during transmission. A 16 bit CRC-CCITT is computed using the address, control and
data fields and is included in each frame. A separate CRC generator is implemented in both
the transmit and receive logic. The transmitter calculates a CRC while data is actively
transmitted and places the 16 bit value at the end of each frame before the stop flag is
transmitted. The receiver calculates a CRC for each received data frame and compares the
calculated CRC to the expected CRC value contained within the end of each received frame.
If the calculated value does not match the expected value, an interrupt is signalled. The CRC
computation logic is preset to all ones before reception/transmission of each frame. Note that
the CRC is transmitted and received starting with its MSB and ending with its LSB. The CRC
uses the four term polynomial:
CRC(x) = (x
16
+ x
12
+ x
5
+ 1)
Summary of Contents for EP93 Series
Page 28: ...P 6 DS785UM1 Copyright 2007 Cirrus Logic Preface EP93xx User s Guide PP P ...
Page 162: ...5 36 DS785UM1 Copyright 2007 Cirrus Logic System Controller EP93xx User s Guide 55 5 ...
Page 576: ...15 18 DS785UM1 Copyright 2007 Cirrus Logic UART2 EP93xx User s Guide 1515 15 ...
Page 634: ...17 38 DS785UM1 Copyright 2007 Cirrus Logic IrDA EP93xx User s Guide 1717 17 ...
Page 648: ...19 6 DS785UM1 Copyright 2007 Cirrus Logic Watchdog Timer EP93xx User s Guide 1919 19 ...
Page 688: ...21 32 DS785UM1 Copyright 2007 Cirrus Logic I2S Controller EP93xx User s Guide 2121 21 ...
Page 790: ...27 20 DS785UM1 Copyright 2007 Cirrus Logic IDE Interface EP93xx User s Guide 2727 27 ...
Page 808: ...28 18 DS785UM1 Copyright 2007 Cirrus Logic GPIO Interface EP93xx User s Guide 2828 28 ...