2012-12-19 106 views

回答

5

所以有三种可能性:没有平价,标记,空间,奇数和偶数。在没有奇偶校验的情况下,帧中省略了额外位,通常在协议已经使用校验和或CRC检查错误时选择,或者认为数据损坏不可能或不严重。

没有人选择标记或空间,这只是浪费带宽。模仿一些奇怪的标准,比如9位数据协议,硬件厂商喜欢强迫你购买他们的硬件,因为你没有真正的机会在没有写驱动程序的情况下重新编程UART。

0

如果要生成要发送到需要奇偶校验位的硬件的数据(可能是因为它在电子设备中内置了硬编码字长度),但不关心其值是什么,则设置标记或空间奇偶校验非常有用。

+0

要求奇偶校验位非常奇怪,不考虑其价值! – n0n0bstan

+0

不一定 - 也许接收机是为只能发送奇偶校验位的发射机构建的? – Alnitak

11

有一个非常简单和非常有用的理由,让标记或空间奇偶性看起来在这里被遗漏:节点地址标记。

非常低功率和/或小型嵌入式系统有时利用像RS485或RS422工业串行总线。也许很多非常小的处理器可能连接到同一条总线。

这些微型设备不希望浪费电力或处理时间来查看通过串口进入的每个字符。大多数时候,这不是他们感兴趣的。

所以,你设计一个总线协议,例如可能使用9位... 8个数据位和一个标记/空间奇偶校验位。每个数据包只包含一个字节或字(节点地址),并设置标记奇偶校验位。其他一切都是空间平等。然后,这些微小的设备可以简单地等待奇偶错误中断。一旦获得中断,它就会检查该字节。那是我的地址吗?不,回去睡觉。

这是一个非常低功耗的系统...和带宽只有10%的浪费。在许多环境中,这是一个很好的折衷。

所以......如果你已经有一个PC级的系统试图对这些微小的设备说话,你需要能够设置/清除该奇偶校验位。因此,您在传输节点地址时设置MARK校验,而在其他地方设置SPACE校验。

0

非常明确和有用的答案和意见。对于那些发现不合理的概念的人来说,放松一下;该术语是一个语义问题,而不是信息理论或工程问题,使用“平价”这个词带来的困难。

“标记”和“空间”位在这些应用程序中不是奇偶校验位,并且该术语来自于它们占据其他上下文中可能期望奇偶校验位的位位置。实际上,它们与奇偶校验没有任何关系,但用于任何需要恒定位值的相关目的,例如标记字节或其他信号的开始,或作为延迟,或指示信号作为数据或地址等。

因此,它们有时在逻辑上被称为“棒(奇偶校验位)”,处于“开”或“关”状态。有时他们真的是“不在乎”。