为什么有些 USB 串行转换器在特定硬件上可以工作,而其他的却不工作?

为什么有些 USB 串行转换器在特定硬件上可以工作,而其他的却不工作?

我上网买了一包最便宜的 USB 转串行适配器,将 TX 放在 RX 上,将 RX 放在 TX 上,这样两个端口之间就可以毫无问题地进行通信。

于是我把这个东西插到使用 RS232 的设备中,用我最喜欢的软件以正确的波特率连接,它开始向我的屏幕发送垃圾信息。然后我用一根更贵的电缆替换了这根电缆,使用相同的配置,它就正常工作了。

我不明白。配置是由软件完成的,如果这是质量问题,它应该会影响我在电脑上使用 2 条廉价电缆进行的测试。

有人知道为什么会发生这种情况吗?

如果有人想知道电缆之间的区别,这里是输出的 lsusb。

昂贵的:

总线 001 设备 010:ID 04d8:00df Microchip Technology, Inc. MCP2200 USB 串行端口模拟器

便宜的:

总线 001 设备 011:ID 067b:2303 Prolific Technology, Inc. PL2303 串行端口/移动操作 MA-8910P

答案1

这很大程度上(几乎总是)由于廉价 USB => 串行转换器的制造商不使用真正的 FTDI 芯片,通常是廉价的仿冒品。

USB串行总线,环球年代雙向我们

串行有多种形式(尽管大多数人指的是 rs232 和 rs485),因此转换器/电缆制造商通常针对特定受众,例如网络设备控制台、编程收音机等。因此,chis 可以做更多的事情,但设备必须受到限制,以避免用户可能犯错误,例如将 5v 插入 1.8v 串行系统。这可以释放出神奇的烟雾。;)

因此,芯片的功能受到创造者的限制,以使其适合特定功能,而另一个创造者可以将同一芯片用于其他目的。同时,一直试图让它“工作”,而不会让它对插入的东西“造成危险”。

事实上,在业余无线电世界中,当有人在编程无线电时遇到困难时,首先要问的是“你为电缆付了多少钱”

下一个问题将是驱动程序,有些人喜欢重新发明轮子,每个简单设备都必须有一个特殊的供应商驱动程序(至少在 Windows Word 中),这使得编写驱动程序的人成为第二个故障点。是为了性能,还是为了利润?

有趣的是,Linux 内核原生支持我曾经使用过的每个 USB 串行适配器,包括其他人因为找不到正确的 Windows 驱动程序而扔掉的适配器!

你可以通过查看 FTDI 芯片编程器和可调电压 UART/TTL 等来获得更多通用性https://www.amazon.com/DSD-TECH-SH-U09C5-Converter-Support/dp/B07WX2DSVB你有责任了解自己在做什么,但你可以与任何连续的人交谈。或者你可以得到像巴士海盗这样的东西,在相对安全的情况下探索你甚至不确定的东西。http://dangerousprototypes.com/docs/Bus_Pirate

答案2

有过类似的经历。
廉价的 USB-RS232 适配器性能不稳定:有时完全没有问题,但有时大多数或所有字符都乱码。

事实证明,适配器 USB 端的接地连接没有短路到 DB-9 连接器的引脚 5。因此信号接地依赖于串行链路上的每一端具有完全相同的接地。

当两个 USB 适配器连接到同一台 PC 主机时,接地问题会大大减少。每个 USB 端都连接到同一台 PC,因此接地完全相同。适配器的 RS-232 端都使用相同的浮动接地。

对于目标设备,请确保其电源使用与 PC 主机相同的电源板。或者在目标设备和 PC 的接地之间连接一条短而大的(小规格)铜线。

当然,使用 DMM 进行简单的连续性测试可以确认您的适配器是否有类似的断开接地连接。


我拥有的“可靠”和“不可靠”的 USB-RS232 适配器使用相同的 Prolific PL2303 转换器芯片。因此,不要将此转换器芯片归咎为接地连接缺失的罪魁祸首或指示器。

相关内容