我正在开发一个嵌入式 Linux 系统、该系统使用具有定制"基板"(I/O 分线和电源调节)的现成计算机模块(COM)。
我们的基板具有两个使用 SN65HVD73收发器的差分串行(RS-422)端口。 每个收发器都连接到嵌入式 Linux COM 上的本机3.3V UART。 TX+/-和 RX+/-对未终止。 由于从动电缆非常短(1英尺到6英尺之间)、因此设计中未包含端接、因此我们认为没有必要。
基板上的 RS-422端口通过大约4英寸的非屏蔽线连接到面板安装连接器。
我们在一个 SN65HVD73、RS-422端口 A、(仅)在原型运行的20个基板中的一个上看到了奇怪的行为。 (尽管到目前为止仅对20个电路板的~一半进行了测试)
当没有设备插入端口 A 的面板安装连接器时、如果我们在 Linux 中打开串行端口并传输任何内容-任何内容-那么我们将得到一个无穷的无用字符流。 这会导致 Linux 内核出现 RX FIFO 溢出投诉。
如果我断开基板与相关面板安装端口 A 连接器之间的4英寸电缆连接,问题就会消失。
是否有任何想法说明这种情况可能会发生在这个单独的器件上?
如果我们添加终止、问题是否应该消失? 电路板上有一个点、我可以足够轻松地固定~100 Ω 电阻器。
当有一个 RS-422器件插入面板安装连接器时、我们不会发现问题。