USB转串口显示乱码为115200波特


14

使用USB到串行接口时,只要不超过57600波特,一切正常。在更高的速率下,我只会变得像这样:

év.­b0JNLYÆÿ¿iëd0U²(kßÞb!
                        ú]/xscB!ï¯!BoXûÿ1ïâÖCÿ6ÌAnè*íÌC)º¿BíÞØ.C.@ÆÃwHJÂs
"YE:ñ.èFðÌCÊ÷ÞÄ
               !x
                 H
w6@BtbHJ
        ̪
          Ì6ì
H¾a¿bH.">îvy®;f<ßBÌ
               p­L¨fæH­E
­þ¼MBÞI

使问题如此奇怪的是,我更换了每个组件,问题仍然存在。我尝试了32位和64位的不同操作系统(Ubuntu,Windows XP,Windows 7,Mac OS X 10.7)。我尝试了FTDI和Prolific的USB到串行接口。我尝试从Raspberry PI和Asterisk Appliance读取输出。我更换了电缆和接线。没有任何帮助。

我以一个带有本地COM的旧笔记本电脑为例,将USB到串行端口与“嗅探器”(仅连接Rx和GND)连接到相同的连接,以确保输出和一切正常,就像在本地计算机上可以看到的一样港口。电压还可以。两者的设置均为115200波特,8位带1个停止位且无流量控制。本地人还可以。USB搞砸了。

我使用了最新的驱动程序,并仔细检查了所有连接。 我不知道这是怎么了。由于找不到任何人描述这样的问题,我质疑我在计算机科学领域的长期经验,并认为我做的是完全错误的。


我使用(可能还有其他人使用的)115200波特的USB串行适配器。较便宜的适配器之一确实存在信号接地问题。RS-232侧的GND未连接至USB GND;一些连接(取决于机箱接地)会产生垃圾数据。您是否报告所有超过57600波特的设置都有问题?是否有共同的设备?视频中的面包板是什么?那是自制的电平转换器吗?
锯末

我没有尝试使用高于115200的值,所以我不能肯定地说它们也会造成问题。面包板用于分离信号,因此我可以在本机端口和USB到串行端口上使用它。除了一些电线外,那里没有电气部件。我的USB转串口设备的一端是开放的,并且我在其上应用了RJ45插孔,因此可以肯定地说GND连接正确。不连接它,我没有输出。所以我认为应该没问题。许多其他人毫无问题地使用此适配器的事实恰恰是导致我发疯的问题的一部分...
Mose 2012年

分离信号可能会有问题。如果只有电线,那是否意味着就没有消除反射的线路终端(随着频率的升高,反射会变得更糟)?
锯末

是的,这可能是个问题,但在这种情况下不是问题。我只是将其连接起来以更好地演示问题。没有任何这种“嗅探”的东西就遇到了问题。我只是想通过同时显示设备来表明它正在散布数据。
Mose 2012年

9600看起来非常好,115200在前端产生垃圾数据。
林松杨

Answers:


6

在仔细研究并找到一条方向正确的单个帖子后,我发现这是将信号反转并进行尝试的唯一剩余可能性。幸运的是,FT232RL的EEPROM中具有选项标志(可通过FTDI的“ MProg”进行编程)来设置此选项:

FTDI MProg

此后,一切都以每个波特率工作。不要问我为什么,我对此没有任何技术解释。我期待得到示波器做进一步的调查。以前从未见过如此奇怪的问题。

我也用Cisco交换机测试了USB到串行,没有这种转换就无法正常工作。


关于此问题有任何更新吗?
艾萨克

2
也为我工作- FT_Prog现在就调用了该工具-可以在这里找到:ftdichip.com/Support/Utilities.htm
MrMajestyk 2015年

1

在以超过57600的速度连接到我们的MCU时,我也遇到了同样的问题,并且在怀疑我们的UART之后,我发现Silicon Labs CP2102 USB到UART桥(TTL)可以在更高的波特率下正常工作,而无需调整FTDI芯片组。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.