
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 if the data in the FIFO was still valuable when the
overrun event occurred.
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.
When LIN break detect (LBKDE) is asserted, S1[OR] has significantly different behavior
than in other modes. S1[OR] will be set, regardless of how much space is actually
available in the data buffer, if a LIN break character has been detected and the
corresponding flag, S2[LBKDIF], is not cleared before the first data character is received
after S2[LBKDIF] asserted. This behavior is intended to allow the software sufficient
time to read the LIN break character from the data buffer to ensure that a break character
was actually detected. The checking of the break character was used on some older
implementations and is therefore supported for legacy reasons. Applications that do not
require this checking can simply clear S2[LBKDIF] without checking the stored value to
ensure it is a break character.
47.8.5 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
received, it is possible that the application code will read the data buffer such that
sufficient room will be made to store the dataword that is being NACKed. Even if room
has been made in the data buffer after the transmission of a NACK is completed, the
received data will always be discarded as a result of an overflow and the
Application information
K22F Sub-Family Reference Manual, Rev. 4, 08/2016
1298
NXP Semiconductors
Summary of Contents for K22F series
Page 2: ...K22F Sub Family Reference Manual Rev 4 08 2016 2 NXP Semiconductors...
Page 168: ...Module clocks K22F Sub Family Reference Manual Rev 4 08 2016 168 NXP Semiconductors...
Page 258: ...Functional description K22F Sub Family Reference Manual Rev 4 08 2016 258 NXP Semiconductors...
Page 292: ...Functional description K22F Sub Family Reference Manual Rev 4 08 2016 292 NXP Semiconductors...
Page 398: ...Functional description K22F Sub Family Reference Manual Rev 4 08 2016 398 NXP Semiconductors...
Page 750: ...Functional description K22F Sub Family Reference Manual Rev 4 08 2016 750 NXP Semiconductors...
Page 816: ...Application information K22F Sub Family Reference Manual Rev 4 08 2016 816 NXP Semiconductors...
Page 890: ...Application information K22F Sub Family Reference Manual Rev 4 08 2016 890 NXP Semiconductors...
Page 1302: ...Application information K22F Sub Family Reference Manual Rev 4 08 2016 1302 NXP Semiconductors...
Page 1374: ...Functional description K22F Sub Family Reference Manual Rev 4 08 2016 1374 NXP Semiconductors...