Retry-on-error, Retry-on-error –13 – Altera SerialLite II IP Core User Manual

Page 36

Advertising
background image

Chapter 3: Parameter Settings

3–13

Link Layer Configuration

January 2014

Altera Corporation

SerialLite II MegaCore Function

User Guide

Retry-on-error

The SerialLite II MegaCore function allows you to improve the bit error rate of your
data by using the Retry-on-error parameter. This parameter is only available on the
priority data port. The parameter provides for segments with errors to be
retransmitted, so that only good segments are delivered to the Atlantic receive
interface.

When the Retry-on-error parameter is turned on, all segments sent by the transmitter
are acknowledged. There are two types of acknowledgement:

ACK

: The received segment is good and error-free.

NACK

: The received segment contains an error. If you turn on the Retry-on-error

parameter, the transmitter retransmits all segments starting from the segment with
errors. (If you turn off the Retry-on-error parameter, the receiver raises a data
error.)

The segment buffers in the transmitting logic hold segments until they have been
acknowledged. Once a segment has been acknowledged by ACK, it is released from the
buffer so that the buffer can be used for another segment. If a segment is
acknowledged by NACK, that segment and all segments sent after that segment are
retransmitted.

Up to seven segments waiting for acknowledgment can be held at once. If more
segments arrive while all eight buffers are occupied, the priority data port stalls until
an acknowledgment is received, freeing up a buffer for the next segment.

The retry-on-error operation proceeds as follows:

1. When the receiver receives a good segment, the segment is delivered to the

Atlantic interface and an ACK acknowledgment is sent back to the transmitter.

2. Any data errors cause the segment to be acknowledged as errored (NACK). Once

that happens, the receiver ignores all incoming data until it receives the
retransmitted segment.

3. All segments are numbered internally with a segment ID. The receiver knows

which segment it expects next, so if the next expected segment has been corrupted
or lost, the next received segment has the wrong segment number and the receiver
requests a retransmission of the sequence starting with the segment ID it was
expecting.

4. The oldest outstanding segment to be acknowledged has an associated timer, set

by the Timeout value on the Link Layer page in the SerialLite II parameter editor.
If an acknowledgment (ACK or NACK) is lost or corrupted in transit, the timer expires
causing the affected segment and all subsequent segments to be retransmitted.

5. The transmitter knows which segment it expects to be acknowledged next. If the

next acknowledgment is not for the expected segment, the transmitter infers that
the expected acknowledgment was lost and retransmits the segment in question
and all subsequent segments. Only segments that have the correct segment ID are
buffered. The timer starts when the segment is identified as the next segment to be
acknowledged.

Advertising