对于无差错异步串行通信,发送器和接收器之间的最大时钟差是多少?
RS-232 串行通信的最大可接受波特率误差是多少?
电器工程
串行
rs232
波特率
2022-01-26 05:14:40
3个回答
[首先,RS-232 中的“RS”表示“推荐标准”,即 1960 年代发布时的标准。然而,从 eons 开始,它就被 EIA 接受为 EIA-232 标准,并且从那以后,旧名称被正式放弃。但似乎没有什么比消除旧习惯更重要的了:-)]
主题:允许的时钟容差取决于检测方法。IIRC 旧的 68HC11 在开始时采样了几次,在中间采样了几次,最后采样了几次。(采样以 16 倍比特率发生。)这允许在最后一位上存在半位差异。EIA-232 上的大多数通信 :-) 由 10 位(1 个开始,8 个数据,1 个停止)组成,因此停止位中的半位是5%。
随意编辑更多值。这些是我现在正在使用的。
爱特梅尔 ATmega UART:
5 bits, normal speed : ±3.0%
5 bits, double speed : ±2.5%
10 bits, normal speed: ±1.5%
10 bits, double speed: ±1.0%
NXP LPC111x (Cortex-M0) UART:1.1%(无表)
Microchip PIC 18F2XK20/4XK20:未定义。(重量级)
正如可敬的霍洛维茨和希尔先生所说:
通过重新同步每个字符的 START 和 STOP 位,接收器不需要高精度时钟;它只需要足够准确和稳定,发送器和接收器就可以在一个字符时间的一小部分比特周期内保持同步,即百分之几的准确度。
请注意,导体长度在串行时钟误差中起着很大的作用。对于超过 2 英尺长的普通带状电缆,我的波特率保持在 19200 以下。让我嫉妒 4' 60Gb/s USB 线。
请记住,误差是峰峰值的 - 这可能是抖动时钟上高波特率的问题 - RC 振荡器可能有相当多的抖动,因此 1%(平均或 RMS)校准时钟实际上可能有瞬时误差比那个大。在较低的波特率下,这将趋于平均化。
其它你可能感兴趣的问题