Dienstag, 10. April 2012

Eingepegelt – kommerzieller usb2serial Adapter

Bevor mir klar geworden war, daß mein Handy-Datenkabel ein perfektes USB-seriell Kabel ist, hatte ich mir irgendwann mal einen billigen USB-seriell TTL Adapter aus China bestellt - hatte den schon fast vergessen, aber heute ist er angekommen. So sieht er aus:

Abgesehen davon, daß er ein bisschen handgelötet ausschaut macht er einen guten Eindruck. Wie auch das Handykabel verwendet er einen PL2303; das hat mich etwas überrascht, denn die meisten Adapter die ich auf diversen Bastlerseiten und Zulieferern gesehen hatte bauen auf dem FTDI Chip FT232 auf, warum auch immer. Ansonsten fallen mir drei Dinge auf:
  1. Auf der Platine sitzt ein USB Typ-A Stecker. Das ist unpraktisch – eine Buchse vom Typ-B oder Mini Typ-B wäre besser, denn dann könnte man statt einer USB-Verlängerung ein normales USB-Kabel verwenden.
  2. Es gibt Pins für 5V und 3.3V
  3. Das Ding hat einen Jumper
Letzteres hat mein Interesse geweckt: Ob man mit dem Jumper zwischen den Signalpegeln für die beiden Spannungen wählen kann? Und wie sehen wohl die Pegel in den beiden Stellungen aus?

Also schauen wir uns das mal an. Zunächst habe ich die Versorgungsspannung an den Pins 5V und 3.3V nachgemessen und wie schon in anderen Posts bemerkt sind die 5V des USB-Ports bei mir nur 4.6V, während die 3.3V exakt stimmen. Ich habe, wie beim letzten mal, einfach einen Haufen Nullen auf das Interface geschickt und mich mit dem Oszi auf TX geklemmt. Hier zunächst mit Jumper "unten" (Vermutung: 5V Stellung):



Und nun "oben" (Vermutung: 3.3V):



Ich habe es auch bei ungesetztem Jumper probiert und glaubt mir, es sieht wieder exakt genauso aus. Scheinbar verlässt sich auch dieser Adapter darauf, daß 3.3V µCs 5V tolerante Eingänge haben. Aber wofür in aller Welt ist der Jumper dann gut? Hatte ich schon erwähnt, daß der Adapter ohne jede Dokumentation kam? Also diesmal kann mir niemand vorwerfen, ich sei nur zu faul zum Lesen gewesen ;-)

Also hab ich das Multimeter rausgeholt und die Verbindungen der drei Pins verfolgt - hier das Ergebnis:
  1  GND
2 RX
3 ??
Das verstehe ich nun wirklich nicht. In der oberen Stellung lege ich RX also auf Masse - wozu soll das gut sein? Jumper-Stellung für Leute die sich gerne selbst reden hören??? Und wenn Pin 3 eh nicht verbunden ist, warum dann ein Header mit 3 Pins? Normalerweise würde man sagen, damit der Jumperstecker ein Zuhause hat, aber chinesische Hersteller sind nicht gerade für Verschwendungssucht bekannt und da hätte man bestimmt 0.01 ¢ pro Modul sparen können!

Also weiterforschen. Einiges Herumprobieren ergab dann doch noch etwas Interessantes: offenbar sind die 3 Pins nicht einfach nur ein Jumper, sondern ein zweiter Header mir der Belegung
    1  GND
2 RX
3 TX
Und zwar für 3.3V Volt Schaltkreise. Hänge ich mich auf diesen TX-Pin bekomme ich dies:


Der high Pegel ist zwar nicht wirklich unter 3.3V, aber immerhin niedriger, als zuvor. Und wozu ist dann aber der komische Jumper? Nach einigem Denken und Rumlesen im Web bin ich zum Ergebnis gekommen, daß der evtl. zu Testzwecken dient: verbinde ich RX und TX mit dem Jumper kann ich natürlich jedes Zeichen, das ich im Terminalprogramm tippe sofort wieder empfangen (habe das mit den 5V und den 3.3V Pins getestet). Wieder was gelernt.

Keine Kommentare:

Kommentar veröffentlichen