Overrun Nack Considerations - NXP Semiconductors MKL27Z128VFM4 Reference Manual

Table of Contents

Advertisement

38.9.3 Overrun (OR) flag implications
To be flexible, the overrun flag (OR) operates slight differently depending on the mode
of operation. There may be implications that need to be carefully considered. This section
clarifies the behavior and the resulting implications. Regardless of mode, if a dataword is
received while S1[OR] is set, S1[RDRF] and S1[IDLE] are blocked from asserting. If
S1[RDRF] or S1[IDLE] were previously asserted, they will remain asserted until cleared.
38.9.3.1 Overrun operation
The assertion of S1[OR] indicates that a significant event has occurred. The assertion
indicates that received data has been lost because there was a lack of room to store it in
the data buffer. Therefore, while S1[OR] is set, no further data is stored in the data buffer
until S1[OR] is cleared. This ensures that the application will be able to handle the
overrun condition.
In most applications, because the total amount of lost data is known, the application will
attempt to return the system to a known state. Before S1[OR] is cleared, all received data
will be dropped. For this, the software does the following.
1. Remove data from the receive data buffer. This could be done by reading data from
the data buffer and processing it.
2. Clear S1[OR].
Note that, in some applications, if an overrun event is responded to fast enough, the lost
data can be recovered. For example, when C7816[ISO_7816E] is asserted,
C7816[TTYPE]=1 and C7816[ONACK] = 1, the application may reasonably be able to
determine whether the lost data will be resent by the device. In this scenario, flushing the
receiver data buffer may not be required. Rather, if S1[OR] is cleared, the lost data may
be resent and therefore may be recoverable.

38.9.4 Overrun NACK considerations

When C7816[ISO_7816E] is enabled and C7816[TTYPE] = 0, the retransmission feature
of the 7816 protocol can be used to help avoid lost data when the data buffer overflows.
Using C7816[ONACK], the module can be programmed to issue a NACK on an
overflow event. Assuming that the smartcard device has implemented retransmission, the
lost data will be retransmitted. While useful, there is a programming implication that may
require special consideration. The need to transmit a NACK must be determined and
committed to prior to the dataword being fully received. While the NACK is being
Freescale Semiconductor, Inc.
Chapter 38 Universal Asynchronous Receiver/Transmitter(UART)
KL27 Sub-Family Reference Manual , Rev. 5, 01/2016
741

Advertisement

Table of Contents
loading

Table of Contents