我们可以根据TX输出信号计算RS232通信的波特率吗?


10

我们可以从X输出信号计算出RS232通信的波特率通信速度吗?

下图来自RS232通信输出信号。我用0xaa拍了这张照片,高点之间的时间段是100.us。

听说外部振荡器的频率为8Mhz。我们可以据此计算波特率吗?

示波器轨迹显示RS232信号


9
我认为EE应该知道这一点F=1/T
尤金(Eugene Sh)。

2
我原以为这是关于在不了解数据以简化配置的情况下检测波特率的问题,但这是吗?@EugeneSh。不仅是正确的-在使用电子设备时,了解频率的定义是基本知识。
NieDzejkob

1
提示:如果你被这样的困惑,让你的开发机发送您的最佳猜测你的想法,你所看到的,看看看起来像在比较范围。如果有误,请完善您的猜测以使其更接近。
克里斯·斯特拉顿

Sigrok是开源的,对吗?人们如何看待“猜频率”?
mckenzm

Answers:



12

您的示波器显示的时间为。这既可以是您设置光标,也可以是自动使用示波器上的测量功能。你不说 无论哪种方式,我都同意Olin的评论,即接近9600 bps,这是RS-232通信的常见比特率。100μs


但是,如果您对外部时钟速率有自己的看法,那么如果是这样,您将认为不可能有一个精确的9600 bps。不能平均分配到9600 bps。8MHz

其他一些想法:

  1. 如果确实是位宽,则它们已经超出了9600 bps常见速率所允许的精度偏差。(如果需要查看该图背后的计算和思想,请参见此Maxim页面。)如果我们接受的示波器精度仅为近似值,则可能不会超出精度要求。无论如何,最好知道它们的存在。 ± 2 100μs±2%
  2. 该信号显然不使用RS-232电压,而是信号。3.5V
  3. 该信号对MARK使用HI(在RS-232中,MARK是负电压),因此该信号必须是从微控制器输出的逻辑电平,而不是RS-232信号。

如果将必需的START位和最小一位时间STOP取走,则意味着数据可能至少剩余七个位时间:

在此处输入图片说明

如果我注意的话,以上内容将被解释为0x2A而不考虑字节顺序。

但是,这将是八个数据位的图表:

在此处输入图片说明

在这种情况下,解释将为0xAA或0x55,具体取决于流的字节序性质。因此,这可能代表您的0xAA(小字节序,我认为这是更常见的)。

如您所见,发送方和接收方必须事先就数据位的数量及其字节序性质达成一致。

范围结果可以解释为甚至更长的串行字大小。我以前见过它们(最常见的是9种,因为某些IC曾经用来支持它,但我什至以前也看到过10种。)

没有协议,很难确定。


作为侧边栏:

我记得在1960年创建RS-232时,电传打字机正从5位移到6位(1960年代早期的DTE)的日子,因为我父亲在家庭办公室中在家中使用这种电传打字机。实际上在一段时间内确实存在六位RS-232通信。

ASCII编码在1960年代末和1970年代初被广泛使用,是一种7位编码。RS-232数据通信使用7位数据非常普遍。

后来,随着通信IC和微控制器的普遍使用以及8位寄存器大小的大量可用,RS-232通常被扩展为一次发送/接收8位。

我认为当今大多数人只是期望它可用于8位通信。但这并非总是如此。


我认为数据也可能是19,200处的两个字节0x98 0xE6,细分为s00011001Ss01100111S [s = start S = stop]。某些字符,例如“ A” [0x41],会生成其他波特率无法创建的位模式(可能是为什么Hayes选择“ A”作为自动波特率训练序列的第一个字符),但是上面的模式将表示有效的两个字节序列为19,200波特
超级猫

我曾经是机械电传打字机打印机的骄傲拥有者。它完全是机械的,以60波特运行。如果不计算螺线管和同步电动机,则完全是机械的。起始钻头松开了一个离合器,一个选择轮开始转动,随后发生了一些事情,随后定位了打印头并发射了锤子。看着真酷。当我来到加拿大时,不得不把它留在英国。它太重了,无法运送。
Trevor_G

可以肯定的是,这是rs232具有如此极端的驱动电压和电流的主要原因之一。两者之间什么也没有,只有RS232电缆->电磁铁。
Trevor_G

@supercat是的。它也可以按时间划分。但是,这些变化开始达到需要一本书的地步。但是您的观点肯定是正确的。
jonk

1
@Trevor我从未拥有过,但是我经常使用KSR-35(一种非常令人印象深刻的基于机械凸轮的机器)和后来便宜得多的ASR-33 / KSR-33机器。我父亲在家中(死于交通事故之前)没有一个,而是一个更早的6位代码设备,大小类似于ASR-33。
点播

0

如果这是用于微控制器,则无法从其振荡器确定波特率,但是8MHz的晶体肯定能够创建9600波特。

您能测量并告诉我从最低点到最高点的确切时间吗?-第一个空间对我来说有点微。在我看来,您正在使用触发器,可以将其稍高一点,因为如果它是边缘触发器并且位于峰值上,则示波器可能会遇到触发问题。


如果您对信号进行采样并测量遇到的最小宽度,则计算速率很简单。迟早必须在起始位后跟一个“ 1”。
mckenzm

0

从示波器跟踪确定波特率有时但并非总是可能的。

波特率是位周期的倒数,但是信号可以在许多位周期内保持相同的状态,因此您无法始终从示波器跟踪中明确确定位周期。

假设有8位数据且没有奇偶校验,您的波形可以代表一个字节,其比特周期约为100ns,但也可以代表两个字节,其比特周期约为50ns。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.