两个连续 RS232 帧之间的最小延迟是多少?

Lor*_*oh. 5 serial-port rs232

我一直致力于在 FPGA 上创建 UART。我可以成功传输和接收在 PuTTY 上键入的单个字符。然而,当我将 FPGA 设置为不断写入大量“A”序列时,有时我会得到“@”序列或其他一些字符,直到我重置 FPGA 几次。

我相信计算机上的 UART 无法追踪起始位和零之间的差异。两个“A”之间的延迟约为30us(用逻辑分析仪测量),波特率为115200 8N1。

两个连续 RS232 帧之间是否必须保持最小延迟?

Red*_*ick 3

除了速度和数据位数之外,我认为两端必须在起始位、停止位和奇偶校验位的数量上达成一致。

请参阅异步串行通信

RS232信号

上面显示了字符如何分离,但具有相当理想化的上升和下降时间,我相信示波器会显示更像下面的内容(注意与之前的图表相比,倒置的标记/空间轴)。

在此输入图像描述

也许您应该将速度设置得较低,也许您的 FPGA 无法以较高的速度发出格式良好的信号。

此外,RS232 是异步的,我相信这意味着接收器应根据起始位和停止位同步其时序。

  • A 是二进制 01000001
  • @ 是二进制 01000000

区别在于准确的计时问题。由于计时不准确,当+3...15V 被断言时,接收器可以计数到六而不是五。

请参阅信号时序信号特性