USB-to-Serial zeigt Kauderwelsch bei 115200 Baud

14

Bei Verwendung einer USB-zu-Seriell-Schnittstelle funktioniert alles, solange ich nicht über 57600 Baud hinausgehe. Bei höheren Raten bekomme ich nur so giberish:

é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

Was das Problem so seltsam macht, ist, dass ich jede Komponente ausgetauscht habe und das Problem immer noch besteht. Ich habe verschiedene Betriebssysteme (Ubuntu, Windows XP, Windows 7, Mac OS X 10.7) mit 32 und 64 Bit ausprobiert. Ich habe versucht, USB-zu-Seriell-Schnittstelle von FTDI und Prolific. Ich habe versucht, die Ausgabe von meinem Raspberry PI und von einer Asterisk-Appliance zu lesen. Ich habe die Kabel und die Verkabelung gewechselt. Nichts hat geholfen.

Ich habe ein Beispiel mit einem alten Notebook mit nativem COM erstellt und den USB-to-Serial-Anschluss mit "sniffer" (nur Rx und GND verbunden) verbunden, um sicherzustellen, dass der Ausgang und alles in Ordnung sind, wie man auf dem nativen sehen kann Hafen. Die Spannung ist in Ordnung. Die Einstellungen für beide sind 115200 Baud, 8 Bit mit 1 Stopp und keine Flusskontrolle. Einheimische ist in Ordnung. USB ist durcheinander.

Ich habe die neuesten Treiber verwendet und alle Verbindungen überprüft. Ich habe keine Ahnung, was hier falsch ist. Da ich niemanden finden konnte, der solche Probleme beschreibt, stelle ich meine langjährige Erfahrung in der Informatik in Frage und denke, ich mache etwas völlig Falsches.

Mose
quelle
Ich habe (wie wahrscheinlich andere) USB-Serial-Adapter mit 115200 Baud verwendet. Einer der billigeren Adapter hat ein Signal haben Boden Problem. Der GND auf der RS-232-Seite ist nicht mit dem USB-GND verbunden. Einige Verbindungen (abhängig von den Masseverbindungen des Chassis) führen zu Datenmüll. Melden Sie, dass alle Setups über 57600 Baud Probleme haben? Handelt es sich um ein gemeinsames Gerät? Was ist das für ein Steckbrett im Video? Ist das ein hausgemachter Level-Shifter?
Sägemehl
Ich habe keine höheren Werte als 115200 ausprobiert, daher kann ich nicht sicher sagen, dass sie auch Probleme machen. Das Steckbrett wird verwendet, um das Signal zu teilen, damit ich es am nativen Port und am USB-zu-Seriell-Port verwenden kann. Keine elektrischen Teile dort außer einigen Drähten. Mein USB-zu-Seriell-Gerät hat ein offenes (Kabel-) Ende und ich habe eine RJ45-Buchse daran angeschlossen, sodass ich definitiv sagen kann, dass die GND korrekt angeschlossen ist. Ohne Anschluss bekomme ich keine Ausgabe. Ich denke, das sollte in Ordnung sein. Die Tatsache, dass viele andere diese Adapter ohne Probleme verwenden, ist genau der Teil des Problems, der mich verrückt macht ...
Mose
Das Aufteilen des Signals kann problematisch sein. Wenn es nur Drähte gibt, bedeutet das dann, dass es keinen Leitungsabschluss gibt , der Reflexionen aufhebt (was schlimmer werden kann, wenn die Frequenz höher wird)?
Sägemehl
Ja, es könnte ein Problem sein, aber in diesem Fall nicht. Ich habe dies nur verkabelt, um das Problem besser zu demonstrieren. Das Problem wurde ohne dieses "schnüffelnde" Zeug erlebt. Ich wollte nur zeigen, dass das Gerät seine Daten richtig ausgibt, indem es sie gleichzeitig anzeigt.
Mose
9600 scheint vollkommen in Ordnung zu sein, 115200 erzeugt vorne Mülldaten.
Lin Song Yang

Antworten:

6

Nachdem ich es durchdacht hatte und einen einzelnen Beitrag gefunden hatte, der ein wenig in die richtige Richtung lief, stellte ich fest, dass dies die einzige verbleibende Möglichkeit ist, das Signal zu invertieren und auszuprobieren. Glücklicherweise hat FT232RL Optionsflags in seinem EEPROM (programmierbar mit "MProg" von FTDI), um dies einzustellen:

FTDI MProg

Danach funktionierte bei jeder Baudrate alles. Frag mich nicht warum, ich habe keine technische Erklärung dafür. Ich freue mich auf ein Oszilloskop für weitere Untersuchungen. Ich habe noch nie so ein seltsames Problem gesehen.

Ich habe mein USB-to-Serial auch mit einem Cisco Switch getestet und es hat ohne diese Inversion nicht funktioniert.

Mose
quelle
Irgendwelche Updates zu diesem Thema?
Isaac
2
Arbeitete auch für mich - das Tool heißt FT_Progjetzt - hier verfügbar: ftdichip.com/Support/Utilities.htm
MrMajestyk
1

Ich hatte auch das gleiche Problem mit der Verbindung zu unserer MCU bei Geschwindigkeiten über 57600 und nachdem ich den Verdacht hatte, dass unser UART ein Silicon Labs CP2102 USB zu UART Bridge (TTL) ist, das bei höheren Baudraten einwandfrei funktioniert, ohne dass der FTDI-Chipsatz angepasst werden muss.

Peter M
quelle