创建三种定义奇偶校验位未使用的状态的目的是什么?
“如果存在奇偶校验位但未使用,它可以被称为标记奇偶校验(当奇偶校验位始终为1时)或空格奇偶校验(位始终为0)” - Wikipedia
创建三种定义奇偶校验位未使用的状态的目的是什么?
“如果存在奇偶校验位但未使用,它可以被称为标记奇偶校验(当奇偶校验位始终为1时)或空格奇偶校验(位始终为0)” - Wikipedia
在这里被遗漏的一个非常简单且非常有用的标记或空格奇偶校验的原因是:节点地址标志。
非常低功耗和/或小型嵌入式系统有时会使用工业串行总线,例如RS485或RS422。也许许多非常小的处理器可能连接到同一个总线上。
这些微小的设备不想浪费功率或处理时间查看串口中传入的每个字符。大多数时候,这不是他们感兴趣的事情。
因此,您设计一个总线协议,例如使用9位... 8个数据位和一个标记/空格奇偶校验位。每个数据包仅包含一个带有标记奇偶校验位设置的字节或字(节点地址)。其他所有内容均为空格奇偶校验。然后,这些微小的设备可以简单地等待奇偶校验错误中断。一旦它收到中断,就检查那个字节。这是我的地址吗?否,则返回睡眠状态。
这是一个非常省电的系统...且只有10%的带宽浪费。在许多环境中,这是一个很好的权衡。
因此...如果您随后有一个PC级别的系统试图与这些微小的设备进行通信,则需要能够设置/清除奇偶校验位。因此,在传输节点地址时,您将设置MARK奇偶校验位,并在其他任何地方设置SPACE奇偶校验位。
如果您要生成数据并发送到需要奇偶校验位的硬件(可能是因为电子设备内置了硬编码字长),但不关心其值,设置标记或空间奇偶校验是有用的。
如上所述,RS485需要9位传输。无论受控设备的“大小”(例如,许多空调或冰箱都提供RS485接口,而不是真正的“微小”物品),RS485广泛用于工业应用。 RS485允许高达10Mbs的吞吐量或距离长达4000英尺。使用奇偶校验位来区分地址/数据字节可简化硬件实现,网络的每个节点都可以拥有自己的硬件,在线路上的地址字节与节点地址匹配时才生成中断。