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