Error Detection Code (CRC / Error Detection)
A mathematical check value added to the transmitted data frame and recalculated at the receiver. The cyclic redundancy check is its most common form; if the calculation does not agree the frame is treated as corrupted. It catches multiple bit errors far more reliably than a simple checksum.
Its operating principle is based on polynomial division: the transmitter divides the command bytes by a fixed generator polynomial and appends the remainder to the end of the frame. The receiver repeats the same operation; if the remainder is not zero the data was corrupted in transit.
- A 16-bit code is common in short industrial frames and catches consecutive bit errors at a high rate.
- It detects, it does not correct: a corrupted frame is not repaired, it is discarded and the next frame is awaited.
- Integrity is one thing, security is another: a check code catches random corruption but is not on its own a measure against a malicious spoofing attempt.
The concrete benefit in a remote control application is that it prevents the wrong channel from pulling in. Even if a bit is corrupted and changes the command, the check value will not agree and the frame is dropped. The coding method used is not stated in the product data of the AXI ST and SF sets; do not assume a particular algorithm or bit length, and verify the behaviour with a no-load test.
Context in which this term is used: Receiver-transmitter pairing procedure