7 aborts, 7 aborts -13 – Cirrus Logic EP93xx User Manual

Page 535

Advertising
background image

DS785UM1

14-13

Copyright 2007 Cirrus Logic

UART1 With HDLC and Modem Control Signals

EP93xx User’s Guide

1

4

1

4

14

incoming address consisting entirely of “1”s, that is, 0xFF or 0xFFFF, will always match, as it
is expected to be the broadcast address. For packets whose addresses do not match, the
HDLC receiver will generate no interrupts, modify no status bits, and place no data in the
receive FIFO.

14.4.7 Aborts

If a packet is aborted or is too short, or if using Manchester encoding and the receiver DPLL
loses the carrier signal, the CPU will see at least some part of the packet in the receive FIFO.
In all cases, reading the last byte of the packet from the receive FIFO will set the EOF and
RAB bits in the UART1HDLCSts (and possibly generate an interrupt). In the case of an abort
indicated by an HDLC transmitter, that is, an escape-closing flag sequence in asynchronous
mode or an all “1”s byte in synchronous mode, all bytes received in the frame will appear in
the receive FIFO.

In asynchronous mode, if the abort is caused by a framing error (a missing stop bit), all bytes
up to and including the misframed byte will appear in the receive FIFO. Reading the last byte
will also set the UART1HDLCSts.FRE bit.

In synchronous mode, if the abort is caused by a misaligned flag or a series of seven
consecutive “1”s, all bytes except the one containing the bit after the sixth “1” will appear in
the receive FIFO. If the abort is caused by the receiver DPLL losing synchronization with a
Manchester encoded bit stream, the UART1HDLCSts.DPLLE bit is set.

Finally, if the packet is too short, that is, there are not enough received bytes to hold the
specified number of address and CRC bytes, the entire packet will appear in the receive
FIFO. In all cases, the packet is illegal and will be ignored by the CPU.

Table 14-3. HDLC Receive Address Matching Modes

AME

Match

Function

Address Match Test

00

No matching

01

One byte address

NOT

((AMV[31:24] XOR ADDR) AND AMSK[31:24]) OR

NOT

((AMV[23:16] XOR ADDR) AND AMSK[23:16]) OR

NOT

((AMV[15:8] XOR ADDR) AND AMSK[15:8]) OR

NOT

((AMV[7:0] XOR ADDR) AND AMSK[7:0]) OR

ADDR = 0xFF

10

Two byte address

NOT

((AMV[31:16] XOR ADDR) AND AMSK[31:16]) OR

NOT

((AMV[15:0] XOR ADDR) AND AMSK[15:0]) OR

ADDR = 0xFFFF

11

Undefined

Advertising