Cirrus Logic EP93xx User Manual

Page 612

Advertising
background image

17-16

DS785UM1

Copyright 2007 Cirrus Logic

IrDA
EP93xx User’s Guide

1

7

1

7

17

The preamble, start and stop flags are a mixture of symbols which contain either 0, 1, or 2
pulses within the four time slots. Symbols with 0 and 2 pulses are used to construct flags
since they represent invalid data bit pairings (one pulse required per symbol to represent one
of four bit pairs). The preamble contains sixteen repeated transmissions of the four symbols:
1000 0000 1010 1000, the start flag contains one transmission of eight symbols: 0000 1100
0000 1100 0110 0000 0110 0000
and the stop flag contains one transmission of eight
symbols: 0000 1100 0000 1100 0000 0110 0000 0110. The address, control, data and CRC-
32 all use the standard 4PPM DDs described above.

17.5.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 to the same set of serial lines. The address allows up to 255
stations to be uniquely addressed (00000000b to 11111110b). The global address
(11111111b) is use to broadcast messages to all stations. Serial port 1 contains an 8 bit
register which 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.5.1.2.2 Control Field

The IPC control field is 8 bits and is optional (as defined by the user). The FIR does not
provide any hardware decode support for the control byte, but instead treats all bytes
between the address and the CRC as data. Note that the control field is transmitted and
received starting with its LSB and ending with its MSB.

17.5.1.2.3 Data Field

The data field can be any length which is a multiple of 8 bits, from 0 to 2045 bytes. 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 which can be transmitted per frame, while allowing the CRC checker to be able to
consistently detect all errors during transmission. Note that the serial port does not contain
any hardware which restricts the maximum amount of data transmitted or received. It is up to
the user to maintain these limits. If a data field which is not a multiple of 8 bits is received an
abort is signalled. Also note that each byte within the data field is transmitted and received
starting with its LSB and ending with its MSB.

17.5.1.2.4 CRC Field

The FIR uses the established 32 bit cyclical redundancy check (CRC-32) to detect bit errors
which occur during transmission. A 32 bit CRC 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 byte shifting each byte transmitted through its serial shifter LSB first, then places
the inverse of the resultant 32 bit value at the end of each frame before the flag is transmitted.
In a similar manner, the receiver also 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

Advertising