Eine Debug-Plattform für den FT232RL

Der integrierte Baustein FT232RL ist ein USB-UART. Er wird ähnlich wie ein Pegelwandler a la MAX232 an einen Mikrocontroller mit UART angeschlossen, erzeugt jedoch nicht RS232-Pegel, sondern einen USB-Datenstrom. Auf der Host-Seite kann mittels spezieller Treiber entweder über einen virtuellen COM-Port zugegriffen werden, oder von eigenen Applikationen aus über eine spezielle API. Mit dem FT232RL ist also auf einfache Art und Weise möglich, eigene Schaltungen mit USB-Schnittstelle auszustatten.

Dummerweise kommt der FT232RL nur in SMD-Bauform daher. Das heißt man ist meistens dazu gezwungen, eine eigene Platine zu erstellen. Außerdem bedarf es etwas Geschick, einen solchen Baustein aufzulöten. Damit nähern wir uns dem Anlaß, der zur Entwicklung dieser Debug-Plattform führte: eine meiner Schaltungen wollte partout nicht funktionieren. Nachdem ich mit einem Arbeitskollegen den Schaltplan und das Layout erfolglos gereviewt hatte, blieb als einzige plausible Erklärung der Hitzetod des Bausteins übrig.

Die Debug-Plattform besteht nun aus einem FT232RL und einem Haufen LEDs und gut zugängiger Messpunkte. Außerdem besteht die Möglichkeit, die Schaltung über die 5 Volt des USB-Hosts zu versorgen, und damit das gut geht ist noch eine flinke Feinsicherung dabei. Die UART-Signale sind über eine 9-polige SubD-Steckverbindung und über einen Wannenstecker zugängig. Als netter Nebeneffekt kann die Sicherung entfernt und mit einem Amperemeter überbrückt werden, um eine Messung der Stromaufnahme durchzuführen.

Das Bestücken habe ich besagtem Kollegen überlassen, um nicht den gleichen Fehler noch einmal zu machen. Zwar habe ich auch schon unfallfrei FT232RLs verbaut, aber man muü es ja nicht herausfordern. Der Kollege benutzt übrigens gerne Kolophonium als Flußmittel, dessen Rückstände er danach mit Iso-Propanol beseitigt. Auf dem Foto der Platinenunterseite sieht man, daß das nicht ganz so schön geworden ist. Ein Grund, warum ich No-Clean Flußmittel in Stiftform nutze - ich hasse die Bapperei mit Kolophonium.

Schaltplan der Platine Oberseite der Platine Unterseite der Platine

Die Beschaltung ist im Wesentlichen nach Datenblatt, wobei ein Pullup-Widerstand für Reset vorgesehen ist, der als optional gekennzeichnet ist. Dieser Widerstand kann beim Bestücken einfach weggelassen werden, falls man nicht abergläubisch ist. Die Signal- und Steuerleitungen sind via npn-Transistor an die LEDs gekoppelt. Die Widerstände dazu habe ich absichtlich nicht dimensioniert, hier kann und muß ohnehin experimentiert werden. Vorwiderstände je nach Geschmack bezüglich der LED-Helligkeit, Basiswiderstände je nachdem wie viel man dem Nutzsignal klauen will. Ich hab hier 10k verbaut.

Womit ich im Nachhinein nicht ganz glücklich bin, ist die Mehrdeutigkeit des SubD-Steckverbinders. Irgendwie rechnet man bei sowas mit RS232-Pegeln, also +12/-12 Volt. Tatsächlich liegen jedoch die UART-Pegel mit +5/0 Volt an. Das schreit förmlich danach, es irgendwann mal zu vergessen, und irgendwas falsch zusammenzustecken. Die Klemme für die Spannungsversorgung der eigenen Schaltung ist "WAGO 233-502", falls das jemand nachbauen möchte.

Es ist übrigens normal, daß die LEDs für DSR, CTS und RI "halbhell" vor sich hin funzeln. Das sind Eingänge, die vom FT232 aus nicht angesteuert werden. Diese sollten Target-seitig auf VCC oder GND gezogen werden. Interessanterweise leuchtet CD bei mir unbeschaltet gar nicht, obwohl es ebenfalls ein Eingang sein sollte.

Downloads

Datum Datei Beschreibung
2009-10-25 FT232-Debug.zip Schaltplan und Layout im Eagle-Format (Version 5.6)