14

When using a USB-to-Serial interface everything works as long as I don't go beyond 57600 Baud. At higher rates I only get giberish like this:

é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

What makes the problem so strange is, I exchanged every component and the problem still presists. I tried different OSes (Ubuntu, Windows XP, Windows 7, Mac OS X 10.7) with 32 and 64 Bit. I tried USB-to-Serial interface from FTDI and Prolific. I tried reading the output from my Raspberry PI and from an Asterisk Appliance. I changed the cables and the wiring. Nothing helped.

I made a example with a old notebook with native COM and put the USB-to-Serial to the same connection as "sniffer" (only Rx and GND connected) to make sure the output and everything is ok as one can see on the native port. The voltage is okay. Settings for both are 115200 Baud, 8 Bit with 1 Stop and no flow control. Native is okay. USB is messed up.

I used the newest drivers and double checked all connections. I have no idea what is wrong here. As I couldn't find anyone describing problems like this I question my long experience in computer science and think I'm doing some completely wrong.

5
  • I've used (as probably others have) USB-serial adapters at 115200 baud. One of the cheaper adapters does have a signal ground issue. The GND on the RS-232 side is not connected to the USB GND; some connections (depending on chassis ground connections) produce garbage data. Are you reporting that all setups over 57600 baud have problems? Is there any common piece of equipment involved? What is that breadboard in the video? Is that a homemade level-shifter?
    – sawdust
    Dec 8, 2012 at 20:18
  • I did not try higher values than 115200, so I can not surely say they make problems aswell. The breadboard is used to split the signal so I can use it on the native port and the USB-to-Serial one. No electrical parts there except some wires. My USB-to-Serial device has an open (wire) end and I applied a RJ45 jack to it, so I can definitly say the GND is connected correct. Without connecting it I get no output. So I think this should be OK. The fact that many others use this adapters without any problems is exactly the part of the problem that drives me crazy...
    – Mose
    Dec 8, 2012 at 20:26
  • Splitting the signal could be problematic. If there are just wires, then does that mean that there is no line termination to cancel reflections (which can get worse as frequency goes higher)?
    – sawdust
    Dec 8, 2012 at 20:41
  • Yes it could be a problem, but not in this case. I just wired this up to demonstrate the problem better. The problem was experienced without any of this "sniffing" stuff. I just wanted to show that the device is spitting out it's data right by showing it simultaniously.
    – Mose
    Dec 8, 2012 at 20:53
  • 9600 seems perfectly fine, 115200 produces garbage data at the front. Feb 9, 2015 at 10:30

2 Answers 2

6

After thinking it through and finding a single post which was a little bit in the right direction I figured out it is the only remaining possibility to invert the signal and give it a try. Fortunately FT232RL has option flags in it's EEPROM (programmable with "MProg" by FTDI) to set this:

FTDI MProg

After this, everything worked on every Baud rate. Don't ask me why, I have no technical explanation for it. I'm looking forward to get an oscilloscope for further investigation. Never saw such a strange problem before.

I tested my USB-to-Serial with a Cisco Switch too and it didn't work without this inversion.

2
1

I too had the same problem connecting to our MCU at speeds over 57600 and after suspecting our UART, I found that a Silicon Labs CP2102 USB to UART Bridge (TTL) worked properly at higher baud rates without having to tweak the FTDI chipset.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .