波特率与比特率

电器工程 UART 波特率
2022-01-09 00:17:17

当我们初始化串行通信时,我们通常必须设置波特率(例如 115200) 我注意到很多人认为 115200 意味着每秒 115200 位。但是,每个波特(信号变化)可以编码超过 1 位。仅当每个波特 = 1 位时,波特 115200 才表示每秒 115200 位。如果每个波特率为 5 位,则波特率为 115200 意味着比特率为 115200 * 5 位/秒。

如果我上面说的是真的,假设波特率设置为 115200 ,UART和 USB3.0的波特率是多少?

它不能是 1 比 1,因为每秒 115200 位是 14.0625 KBps(每秒千字节),这太慢了。

4个回答

一个小问题:根据定义,波特(以 Emile Baudot 命名)是每秒一个符号。所以你的声明,

仅当每个波特 = 1 位时,波特 115200 才表示每秒 115200 位。如果每个波特率为 5 位,则波特率为 115200 意味着比特率为 115200 * 5 位/秒。

精神上是正确的,但是您应该将“波特”一词替换为“符号”。如果您有 32 个符号的字母表,则每个符号编码 5 位,每秒 115200 个符号的信号速率,即 115200 波特(根据定义),将为您提供 115200 * 5 = 576000 位/秒。

常用短语“波特率”在语法上不正确,与“ATM 机”不正确的方式基本相同。波特的定义中内置了速率的概念,因此说“波特率”在语法上与说“符号率”相同(如果您谈论的是不断变化的符号率,这可能是有道理的,但这不是大多数人使用它)。同样,“ATM”已经包含“机器”,因此“ATM 机器”相当于说“自动柜员机机器”(如果您谈论的是生产 ATM 的机器,这可能是有道理的,但那是通常不是人们的意思)。

撇开语法不谈,大多数中低速有线短程信号使用二进制信号,因此符号率等于比特率。有线(例如,电缆调制解调器)和通过无线电的长距离信令更可能使用多比特符号,因此比特率将高于符号率。

虽然通信是数字的,但波特率等于比特率。只有当通信被调制为模拟时,1 波特才能根据星座图编码超过 1 位

对于传输比串行连接的比特率更快的数据的总线,传输是以突发方式执行的。USB 3.0 每次批量传输最多可发送 1024 个数据字节,这意味着假设总线速度为 5Gbps,平均每 1.6384us 发送一个完整的数据包。

您正在比较抽象模型中不同层的速率。在您的示例中,USB3.0 仅用作发送“115200 bps UART”的隧道。不管USB3.0怎么做,电压可能不同,帧可能不同,速度可能不同。(他们都会顺便说一句)。

正如其他人所说,UART的比特率和波特率是相同的。所有基带信令方法都不相同(其他人称它们为数字,这不一定是正确的)。以曼彻斯特线路代码为例,该位被编码为上升沿或下降沿。

但是,您计算比特率的方式不正确。UART 使用字同步,这意味着它一次发送封装在至少 9 位帧中的整个字节。添加起始位用于接收器和发送器之间的时钟相位同步。

这也是为什么在 UART 的情况下引用比特率没有意义的原因——它的字节率或波特率。