Zilog Z16C35 User Manual

Page 276

Advertising
background image

Application Note

Boost Your System Performance Using The Zilog ESCC

13-9

1

SDLC Frame Status FIFO enhancement is enabled by
setting WR15 D2. If it is enabled when EOF is detected,
byte count and status from the Status FIFO are loaded into
RR6, RR7 and RR1. This is used in DMA-driven systems.
Historically, EOF is treated as a special condition. Special
condition interrupts are triggered if any one of the below
interrupts is enabled:

1.

Receive Interrupt on First Character or Special
Condition.

2.

Interrupt on All Receive Characters or Special
Conditions.

3.

Special Receive Condition Only.

If 1 or 3 (above) is enabled, the data FIFO is locked after
the interrupt is serviced by reading RR1 in the Status
FIFO, as shown in Figure 11. This is commonly used in a
DMA-driven system to avoid delivering useless
information (e.g., EOF) to the data buffer. Locking the data
FIFO is not desirable in systems with long interrupt latency

and high data rate communications. The reason is the
ERROR RESET command is necessary to unlock the
FIFO. Data from the next frame may be lost if ERROR
RESET fails to issue early.

This drawback is improved in the ESCC for a DMA driven
system. By enabling interrupts on “Special Receive
Conditions only” and SDLC status FIFO, EOF is treated
differently from other special conditions. When EOF status
reached the exit location of the FIFO:

1.

A “Receive Data Available” interrupt is generated to
signal that EOF has been reached.

2.

Receive Data FIFO is not locked.

Because of these changes, the data from the next frame is
securely loaded and the system processes the EOF
interrupt. The only responsibility of the software is issuing
the Reset Highest IUS before resuming normal operation
(Figure 12).

Figure 9. Status FIFO Operation at End Of Frame

Data 1,N+1

EOF

Data n,N

Status

FIFO

Enabled?

Data n,N

EOF

Data 1,N+1

Y

Data Flow Into

ESCC Receive

Data FIFO

Packet N

Packet N+1

Set

FIFO Data

Available

Set FIFO

Overflow If

Required

Packet N

Status Is

Loaded

Increment

FIFO Pointer

Packet 10

Packet 2

Packet 1

Byte Count

(RRT = RR6)

Status

(RR1)

SDLC
Status
FIFO

n

Byte Count
of Packet N

Page 270 of 316

UM011002-0808

Advertising