Error handling in serial communication interfaces is primarily about detecting the corruption in data due to noise in the transmission lines when the data is transmitted from the source to destination. Error detection and handling improves the reliability the data on unreliable transmission lines.
Some of the errors detected are correctable at the hardware level. Typically such corrections are done through encoding schemes at physical layer level. Error correction here refers to cases where the receiver itself is able to correct it without having to consult the peer. Typically physical layer encoding based errors up to certain pre-defined number of bits are corrected.
Some of the errors are not correctable but recovered at hardware level through the retransmission handled at the higher-level protocol layers.
Some of the errors are neither correctable nor recoverable at hardware level. These types of errors are detected and reported to software. Software handles the necessary recovery. Reporting to software is handled through set of status registers and interrupts.
The last category of errors that lead to undefined state of the system requiring a physical hardware reset to recover out of it.
Error handling implementation in hardware primarily consists of all or some of the following:
Error detection logic
Error correction logic
Error recovery logic
Error reporting logic
 |
| DUT Error handling Logic Composition |