Hallo zusammen, ich möchte für mein µC-Projekt einen FT232 benutzen und habe mir für die ersten Tests einen Chip mit DIP-Adapter besorgt, um das ganze auf dem Steckbrett zu testen. Ich betreibe den FT232 in der Self-powered Variante in genau der gleichen Schaltung, wie es im Datenblatt beschrieben wird (ohne CTS/RTS). Es funktioniert in Richtung UART->USB auch alles einwandfrei. Wenn ich aber Daten über das Terminal am PC an den FT232 sende (ich benutze hterm), ist Bit 2 (bei Bit 0 beginnend) immer 0. Aus 4 wird also 0, aus 5 eine 1, aus 6 eine 2, aus 7 eine 3 aber 8 ist wieder richtig. Das hab ich auch schon ausgiebig getestet. Es ist immer dieses Bit und nur in die Richtung USB->UART. Es bleibt auch bei allen Baudraten identisch. Den µC habe ich ausgeschlossen, indem ich auf der UART-Seite ein AnalogDiscovery 2 von Digilent an TX/RX anklemme und über die Waveshare-Software direkt Daten sende und empfange. Der µC ist hier also komplett außen vor. Beim ersten Aufbauversuch habe ich mich einmal in den Pins verzählt und der IC ist kurz ein bischen warm geworden. Ich habe ihn dann sofort von der Versorgung getrennt und die Schaltung korrigiert. Weiss hier jemand, ob es sein kann, dass diese kurze Fehlschaltung zu so einem (dauerhaften) Fehler führt? Oder fällt jemandem vielleicht noch eine andere Möglichkeit ein? Die Treiber habe ich auf die aktuelle Version überprüft und mit hterm hat ja sonst auch noch niemand Probleme gehabt. Wenn es nichts anderes sein kann, dann muss ich mir wahrscheinlich einen Ersatzchip besorgen. Vielen Dank schon mal!
Tobias schrieb: > Wenn ich aber Daten über das Terminal am PC an den FT232 sende (ich > benutze hterm), ist Bit 2 (bei Bit 0 beginnend) immer 0. Aus 4 wird also > 0, aus 5 eine 1, aus 6 eine 2, aus 7 eine 3 aber 8 ist wieder richtig. Wie merkst du das? > ist Bit 2 (bei Bit 0 beginnend) immer 0. Aus 4 wird also 0, aus 5 eine > 1, aus 6 eine 2, aus 7 eine 3 aber 8 ist wieder richtig. Wie kommst du auf 8 Bits? Was passiert, wenn du auf der RS232 Seite TX und RX verbindest? > Weiss hier jemand, ob es sein kann, dass diese kurze Fehlschaltung zu > so einem (dauerhaften) Fehler führt? Kann schon sein. Das ist, wie wenn du mit dem auto einmal kurz auf den Randstein gefahren bist. Was dabei passiert hängt also ein wenig vom Anfahrwinkel ab, von der Geschwindigkeit und der Höhe des Randsteins. Mit ein wenig Glück ist nur die Felge zerkratzt. Mit ein wenig Pech verzieht es dir das Fahrwerk...
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Wie merkst du das? Das sehe ich auf der Waveshare-Software im protocol watcher. Ich sende quasi über hterm und empfange über das Digilent. Lothar M. schrieb: >> ist Bit 2 (bei Bit 0 beginnend) immer 0. Aus 4 wird also 0, aus 5 eine >> 1, aus 6 eine 2, aus 7 eine 3 aber 8 ist wieder richtig. > Wie kommst du auf 8 Bits? Mit 8 meinte ich dezimal 8. Das stimmt wieder, weil das Bit 2 da ja sowieso 0 ist. Rx und Tx habe ich noch nicht verbunden. Das werde ich aber mal versuchen.
Tobias schrieb: > Mit 8 meinte ich dezimal 8. Es sind aber nicht 8, denn es gibt noch ein Startbit, potentiell ein Paritybit und danach noch mindestens ein Stopbit. Zeig mal einen Screenshot o.ä. Deines Digilent-Dingens, auf dem man den kompletten Signalverlauf sehen kann.
Naja dass es Start- und Stopbit etc. gibt weiss ich auch. Ich bin jetzt nicht blöd oder sowas...nur Student. Ich bin im Moment nicht im Labor, deswegen kann ich keinen Screenshot machen. Bei dem Digilent-Dingens handelt es sich um ein USB-Oszilloskop/LogicAnalyzer/Funktionsgenerator. An dieses Gerät wird Rx/Tx, die aus dem FT232 rauskommen angeklemmt und in der zugehörigen Software ein Serialport betrieben. Hier wird genauso wie in hterm die Baudrate, Stopbits, Parität etc. eingestellt. Im Grunde betreibe ich zwei Terminals am PC, die über den FT232 kommunizieren. An diesem Digilentgerät liegt es aber mit Sicherheit nicht. Das gleiche tritt eben auch mit µC auf, wenn ich die vom PC gesendeten Daten z.B. auf einem LCD anzeigen lasse. Wenn es mit etwas zu beheben wäre, das in den tausend anderen FT232-threads schon besprochen worden ist, würde ich hier keinen neuen aufmachen. Wahrscheinlich wird es auf einen neuen Chip hinauslaufen.
Tobias schrieb: > Im Grunde betreibe ich zwei Terminals am PC, die über den FT232 > kommunizieren. Wie gesagt: Schritt 1: TX und RX auf der RS232 Seite verbinden und schauen, ob die gesendeten Zeichen wieder ankommen. Und zum Test diese Verbindung auch mal auftrennen, dann darf nichts mehr kommen (Test auf lokales Echo).
:
Bearbeitet durch Moderator
Tobias schrieb: > Wenn ich aber Daten über das Terminal am PC an den FT232 sende (ich > benutze hterm), ist Bit 2 (bei Bit 0 beginnend) immer 0. Klingt, als ob du das Bit 2 irgendwo mit Masse verbunden hast oder der Chip einen Schaden hat.
S. R. schrieb: > Klingt, als ob du das Bit 2 irgendwo mit Masse verbunden hast Das ist bei einer seriellen Schnittstelle allerdings nicht gerade einfach ...
Rufus Τ. F. schrieb: > Das ist bei einer seriellen Schnittstelle allerdings nicht gerade > einfach ... You win. ;-)
Tobias schrieb: > Ich bin jetzt > nicht blöd oder sowas...nur Student. Diskutiert ihr so etwas immer ohne Schaltplan? Ich vermute mal nicht, dass HTERM ein Bit unterschlägt, wenn das Tobias schrieb: > Digilent-Dingens korrekt angeschlossen ist wird das wohl auch nicht die Ursache sein. Also wohl Schaltung, FT232.. oder MC - in dieser Reihenfolge.
S. R. schrieb: > Klingt, als ob du das Bit 2 irgendwo mit Masse verbunden hast oder der > Chip einen Schaden hat. In diesem Fall dürfte sich der Fehler auch beim Loopback-Test zeigen. Digilent abklemmen, RxD mit TxD verbinden und schauen ob das, was Du in Hterm tippst auch zurückkommt. Um das defekte Bit zu reparieren reicht ein handelsüblicher FIB-Cutter: http://occam.utoronto.ca/instrumentation/nb5000-precise-cutting-and-observation-tool/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.