Block Check (BCC) in BIS L Easy Loop function
The BCC is always calculated using the entire received data chain (all control characters and data). Each character is included in the calculations using an EXOR operation. The result is a hex value whose high byte and low byte are sent separately as ASCII characters in order to prevent mixing up with control characters.
Formation of the BCC using example with data carrier data: 01hex 23hex 45hex 67hex 89hex:
When the data are sent, the processor (n) uses the EXOR operations for all characters and the error number to calculate a BCC value. The calculated value is sent to the next processor in the form of a BCC character at the end of the data chain.
In the next processor (n+1) the sent BCC value is checked. If any discrepancy is detected, a BCC error is output in the status byte. The BCC value is recalculated and passed along to the next processor. The status byte can be used to localize errors in the system. If the error occurs at the beginning of the data chain, this implies that the following data records are OK.
If an error occurs at the end of the data chain, the error in the data chain cannot be located. This means that the data are not “reliable”, and a new read must take place. The error can however be physically associated with a processor, and that processor can be replaced if necessary.
At the end of the ring the entire BCC value for all telegrams is sent to the host control by the last processor in the system.
The controller again calculates and compares this value. If both characters are identical, the transmitted data are correct.
Note:
Within a ring all BCC values for all data records are added together. This enables errors to be localized. To ensure that the BCC does not take on the value of a control character, the calculated BCC is sent as two ASCII characters.
Learn more about Balluff RFID system