您好,我是一个新手,试图证明 RS 232 Full 调制解调器和一个 RS 422(RX、TX、RTS、CTS)的工作原理
这 2 个端口位于定制设计的板上,我需要证明它们正在工作。
我能够在寄存器级别确认工作,但我需要使用 Minicom 或任何其他自定义程序等软件来证明工作。
如何使用 DB 9 连接和 LOOP BACK 证明这些端口从一台 PC 到另一台 PC 的工作
有人可以帮我弄这个吗?我是否需要使用任何额外的硬件来证明它在 Linux 中的工作原理?
您好,我是一个新手,试图证明 RS 232 Full 调制解调器和一个 RS 422(RX、TX、RTS、CTS)的工作原理
这 2 个端口位于定制设计的板上,我需要证明它们正在工作。
我能够在寄存器级别确认工作,但我需要使用 Minicom 或任何其他自定义程序等软件来证明工作。
如何使用 DB 9 连接和 LOOP BACK 证明这些端口从一台 PC 到另一台 PC 的工作
有人可以帮我弄这个吗?我是否需要使用任何额外的硬件来证明它在 Linux 中的工作原理?
最常见的串行端口测试类型可能是环回测试。创建一个测试夹具,将端口的输出引脚连接到输入引脚(TX->RX、RTS->CTS 等)。如果每个输出引脚都没有匹配的输入引脚,则需要进行三路连接。
创建环回后,您将需要编写练习引脚的软件。如果 TX 和 RX 已连接,您可以发送一个字节并验证它是否已回显。对于控制引脚,切换它们并确保连接的另一侧看到过渡。 确保您使用串行端口的每个引脚。
请注意,您应该以多个波特率运行 TX->RX 数据环回。 设计中可能存在仅在较高波特率下出现的信号完整性问题。电路板上的信号连接不良也可能被较高波特率下的电感和电容所掩盖。因此,最好以最慢的波特率、最快的波特率和中间的 1-2 运行数据环回。
您应该做的另一件事是波特率准确度测试。这将证明驱动 UART 的时钟以正确的频率运行,并且被正确分频。以一定的波特率传输 X 个字节,并验证它们是否在预期的时间内到达。要获得准确的数字,您需要绕过 OS 串行端口驱动程序中的任何缓冲(例如,使用直接寄存器 I/O),并确保适应任何开始/停止位开销(参见下面的注释)。
但是,环回测试并不详尽。 它仅证明设备可以与自身对话。设备可能仍有一些无法在本地检测到的缺陷(例如电压水平)。因此,您还应该使用外部硬件运行一些测试。将您的电路板连接到另一个系统并运行测试(例如使用 minicom)。确保他们可以互相交谈。
即使是外部通信测试也可能会遗漏一些东西。 您的电路板上的信号质量仍然很差,但对于其他设备来说恰好足够好。 要准确验证信号质量/时序,您需要一台示波器。
在运行通信测试时,将示波器探头连接到各种信号并验证信号完整性。确保电压电平有效,您看到干净的低/高位转换,并且数据引脚的时序对于指定的波特率显示正确。(与前面描述的基于软件的方法相比,示波器是一种更准确的波特率测量方法。)