跳转到内容

嵌入式系统/奇偶校验

来自维基教科书,开放的书籍,开放的世界

在许多情况下,特别是在传输中,包含一定量的错误检查信息非常重要,以便能够识别和丢弃错误信息。最简单的错误检查方法之一称为 **奇偶校验**。奇偶校验可以分为奇校验和偶校验方案。奇偶校验检查由单个位组成,该位根据特定条件设置。

偶校验

[编辑 | 编辑源代码]

在偶校验方案中,如果数据中设置为 1 的位数为奇数,则奇偶校验位将被设置(以使 1 的总数为偶数)。例如,01001100 将生成一个偶校验位,而 11001100 不会生成一个偶校验位。

奇校验

[编辑 | 编辑源代码]

奇校验与偶校验相反,如果数据中高位数为偶数,则奇校验会生成一个奇偶校验位(以创建奇数个 1)。

奇偶校验的局限性

[编辑 | 编辑源代码]

简单的 1 位奇偶校验只能检测单个位错误,或奇数个位的错误。如果偶数个位(2、4、6、8)在传输中出错,奇偶校验检查将无法检测到错误。

然而,在一次传输中出现 2 个错误的可能性远小于在一次传输中只出现 1 个错误的可能性。因此,奇偶校验检查是一种廉价且简单的方式来检查错误。

更高级的错误检测

[编辑 | 编辑源代码]

ECC 代码通常用于与奇偶校验位相同的目的。这些代码使用更多位,但是它们允许多位错误检测,还可以纠正单一位错误。

CRC 检查通常用于数据块的末尾。它们经过精心设计,以极高的概率检测数据块的损坏,无论块中有多少位错误。


进一步阅读

[编辑 | 编辑源代码]
华夏公益教科书