0

我有一个设置,其中 2 台带有 Linux 的电脑正在尝试与 RS232 串行和以太网通信。其中一台 PC,PC(B),我正在使用 USB<->RS232 连接器。当 PC(A) 发出重新启动命令时,PC(B) 重新启动,但在再次启动时,它在 PC(A) 处收到来自 PC(B) 的垃圾消息。PC(A) 仍在串行端口上侦听。其中一些垃圾消息恰好是我正在听的,这不好!

有谁知道这些消息是什么?有没有办法删除它们?Centos 是否发送一些初始化消息用于测试目的或什么?Linux 的其他发行版怎么样?

如果有人知道发生了什么,请提前致谢。=)

4

3 回答 3

1

您不能指望 USB 串行转换器在系统重启后表现良好。有一段时间设备未初始化,可能会在数据线上产生故障。数据线上的任何切换都将在 A 上显示为垃圾 Rx 数据。

如果你想做你想做的事,你必须在 A 上放一些代码来查找已知的启动消息并丢弃任何前置的垃圾字节。

于 2012-09-04T16:46:56.153 回答
1

我也注意到了垃圾。在尝试了几种波特率后,我使用示波器*检查了信号。事实证明,该消息是有效输出,而不是随机信号的结果。它以 9600 波特、8N1 发送,类似于二进制倒计时。具体发送以下字节(十六进制):11、10、0F、0E、0D、0C、0B、0A、09、08、07、06、05、04、03、02、01、00

这些字节的发送时间与(视频)控制台上显示登录提示的时间差不多。在启动过程的早期还有另一个非常短的信号序列,一个快速的 20 us 脉冲,然后是一个 10 us 的脉冲。这个序列太短,无法确定它是实际数据还是只是某种切换的副产品。

我没有注意到带有 PCI 串行控制器卡的 Windows 7 桌面上的任何东西,根据其文档,它使用 MCS9865 芯片。

  • 该盒子正在运行 Ubuntu 12.10。Linux 内核版本为 3.5.0。串行端口控制器位于 PCI Express 卡上,lspci 将其标识为“NetMos Technology PCIe 9922 Multi-I/O Controller”。
于 2013-01-29T22:45:16.133 回答
0

可能是BIOS。我的一位同事注意到他的笔记本电脑在启动期间以 115200 bps 的速度通过 RS-232 提供了 BIOS 版本号和更多信息。尝试以不同的波特率收听 RS-232;你可能会看到一些有意义的东西。

于 2012-11-08T14:16:20.153 回答