UART传输速度

时间:2018-06-21 22:52:07

标签: communication uart data-transfer

我想检查一下我的理解是否正确,但是我找不到确切的解释或例子。假设我将UART通信设置为57600位/秒,并且正在传输8位字符。假设我选择没有奇偶校验,并且由于我需要一个起始位和一个停止位,这意味着从本质上讲,为了传输一个字符,我将需要传输10位。这是否意味着传输速度将为5760字符/秒?

2 个答案:

答案 0 :(得分:1)

您的计算本质上是正确的。
但是5760字符/秒将是最大传输速率。由于它是异步链接,因此允许UART发送器空闲字符帧之间的线。

IOW波特率仅适用于字符帧的位。
字符的传输速率取决于是否有可用的数据来保持发射机忙/饱和。
例如,如果微控制器使用编程的I / O(带有轮询或中断)而不是DMA进行UART传输,则高优先级的中断可能会使传输停顿并在帧之间引入延迟。

答案 1 :(得分:0)

Baudrate                     = 57600

Time for 1 Bit: 1 / 57600    = 17,36 us

Time for a frame with 10 Bit = 173,6 us

this means max. 1 / 1736 us  = 5760 frames(characters) / s**