8.1.4 串行通信的数据校验
在数据通信中,为了让通信的数据真实有效,往往需要对收发的数据进行校验,以保证传输数据准确无误。在嵌入式系统中,串行通信的校验方法有奇偶校验、循环冗余码校验、代码和校验等。
(1)奇偶校验。串行发送数据时,数据位尾随1位奇偶校验位。当约定为奇校验时,数据中逻辑1的个数与校验位1的个数之和应为奇数;当约定为偶校验时,数据中逻辑1的个数与校验位1的个数之和应为偶数。通信双方数据要保持一致,在接收数据帧时,对逻辑1的个数进行校验,若发现不一致,则说明数据传输过程中出了差错,应通知发送端重发。(https://www.daowen.com)
(2)循环冗余码校验。循环冗余码校验纠错能力强,该校验是通过某种数学运算实现有效信息与校验位之间的循环校验的。它是目前应用较广的检错码编码方式之一,广泛应用于同步通信。
(3)代码和校验。代码和校验是发送端将所发数据块求和(或各字节异或),然后将产生的一个字节的校验字符附加到数据块尾。接收端接收数据时对数据块求和(或各字节异或),以实现对数据的校验。