该奇偶校验位是与在其中一个0或1被添加到每个组的7-8位(字节)的传输错误检测方法中使用的0或1的值的参数。目的是根据已建立的奇偶校验,每个字节始终具有奇数总数“ 1”或偶数总数“ 1”。
奇偶校验是一种用于异步通信的错误检测技术。它用于验证传输流中每个字节的完整性。例如,如果设置了奇数奇偶校验,则从传输中接收到的总数为“ 1s”甚至是偶数的任何字节都必须包含一个错误。
资料来源:foto.com
使用两种类型的奇偶校验:偶数奇偶校验,如果前一个字节中奇数总数为“ 1”,则奇偶校验添加1位;奇数奇偶校验则相反。使用这种方法,您将只能知道发生了错误,但是您将不知道发生错误的位置。
奇偶校验位是做什么用的?
发送数字数据时,发送的代码和接收的代码之间可能存在错误。错误的来源多种多样,例如电磁噪声或热噪声。
因此,有必要实现某种方法来验证接收到的代码或字节是否有错误。
但是,接收者如何知道接收到的代码是否错误?接收者在接收代码之前就不可能知道它。
例如,假设发送方发送代码01100110,但是在经过嘈杂的线路之后,接收方接收到代码00100110。接收方将不知道它已接收到第二位有错误的代码。
接收者不可能知道消息的第一位有错误,因为这将意味着接收者在发送之前已经知道了来自发送器的消息。
错误控制
可以通过使用差错控制编码来解决接收器必须能够验证是否存在差错的问题。
错误控制编码的中心思想是在要发送的信息中添加一个额外的位,以便检测并纠正错误。有许多错误处理编码。最简单的是奇偶校验位。
奇偶校验位被添加到发送的每个字节。该位用于检查信息是否已正确传递。
设置每个字节的奇偶校验位,以使所有字节都具有奇数或偶数的“ 1”位。
例
假设两个驱动器以偶数奇偶校验进行通信,这是奇偶校验的最常见形式。
根据传输单元的不同,它发送字节,并首先对每组七位(字节)中的位数“ 1”进行计数。如果位数“ 1”为偶数,则将奇偶校验位设置为0。如果位数“ 1”为奇数,则将奇偶校验位设置为1。这样,每个字节将具有偶数个比特“ 1”。
接收器会验证每个字节,以确保其具有偶数个“ 1”位。如果在字节中发现奇数个“ 1”位,则接收器将知道在传输过程中发生了错误。
以前,接收实体和发送者都必须就奇偶校验的使用以及奇偶校验是奇数还是偶数达成一致。如果双方的配置均不相同,则无法进行通信。
错误检测
奇偶校验是检测通信错误的最简单技术。
然而,尽管它可以检测到许多错误,但是它并不是绝对可靠的,因为当在同一字节中由于电噪声而改变偶数个比特时,它不能检测到这种排列。
奇偶校验不仅用于通信,还用于测试内存存储设备。例如,每当从内存中读取一个字节的数据时,许多个人计算机就会执行奇偶校验。
它是如何工作的?
假设您有7位数据代码,并且添加了另一个位(即奇偶校验位)以形成8位数据代码。可以使用两种方法:偶校验和奇校验。
作为示例,可以采用偶数奇偶校验方法。如果您采用奇数奇偶校验方法,则会采取相反的做法。
偶校验方法
此方法表明要添加的奇偶校验位必须使得最终代码中的总数“ 1”为偶数。例如:
因此,对于第一个7位代码:0010010,偶数为“ 1”(2),发送的8位代码将为:00100100,偶数为“ 1”(2)。
对于奇数为“ 1”(5)的7位代码1110110,发送的8位代码为11101101,偶数为“ 1”(6)。
接收器获得8位后,它将检查接收到的代码中的“ 1”的数量,如果“ 1”的数量是偶数,则表示没有错误,如果数量是奇数,则意味着a错误。
当所计算的接收字节的奇偶校验与接收到的奇偶校验位的值不匹配时,就表示发生了奇偶校验错误,通常会丢弃该字节。
如果发生错误,接收器将警告发送器再次发送代码。
并非万无一失
但是,这些奇偶校验方法存在一个缺点,如果将1110110代码由线路噪声转换为11111001,从而导致2位错误,则此方法无法检测到已发生错误。
奇偶校验擅长检测错误,并且将始终检测接收到的字节中任何奇数个错误。但是,如果有偶数个错误,则奇偶校验器将无法找到该错误。
参考文献
- Vangie Beal(2019)。奇偶校验。Webopedia。摘自:webopedia.com。
- 电子研究小组(2019)。字符奇偶校验。取自:erg.abdn.ac.uk。
- 词汇(2019)..奇偶校验位。摘自:vocabulary.com。
- 安格姆斯(2013)。最简单的错误控制代码-奇偶校验位。摘自:angms.science。
- 克里斯滕森(2011)。奇偶校验位定义。技术术语。摘自:techterms.com。