Themen:

AVR, avr-gcc, CAN, CPLD, Elektronik, Mikrocontroller, MSP430, PIC, Roboter, Schaltungen, Sensoren, Software, Testboards

USB zu Seriell Konverter

Tags: Schaltungen
Stand: 29. Juli 2006, 18:41
20 Kommentar(e)

Diese Schaltung entstand aus dem Problem heraus, welches mittlerweile viele Leute haben, die mit einem Laptop arbeiten: Mein Laptop hat keine serielle Schnittstelle mehr!

USB-zu-Seriell-Konverter

Der erste Versuch diese Problem zu lösen bestand darin sich ein fertiges USB-Seriell Kabel bei der Firma Pollin zu bestellen. Das hat auch ganz gut funktioniert, hatte nur leider einen kleinen Haken. Fast jedes mal wenn man das Kabel abzog und wieder neu ansteckte, belegte der Treiber einen neuen COM-Port. Es wäre ja kein Problem gewesen das wieder zu ändern, allerdings blieb der alte COM Port belegt und damit unbenutzbar. Nachdem ich dann bei COM Port 15 angekommen war und manche Programme gar nicht mehr nutzten konnte (AVRProg im AVR Studio von Atmel, erkennt maximal COM Port 4!) war mir das ganze zu blöd, da auch ein de- und neu installieren des Treibers keine Besserung brachte. Die COM Ports blieben immer noch belegt.

Von diesen Problemen etwas genervt hab ich das Ganze erst mal beiseite gelegt und bin ohne COM Port ausgekommen. Allerdings geht das nicht immer, so dass etwas neues her musste. Ich hatte im Internet schon einiges gutes über den USB Konverter IC FT232BM von FTDI gelesen, auch eine gute Application Note zu dem Anschluss des Chips gefunden und daher beschlossen diesen doch mal auszuprobieren. Allerdings war dieser Chip zu diesem Zeitpunkt noch nicht bei den größeren Elektronikversendern wie Reichelt, Segor oder Conrad zu bekommen, glücklicherweise bin ich aber über ein Jugend forscht Projekt an ein paar kostenlose Samples direkt vom Hersteller gekommen. Eine Platine war dann auch schnell gemacht und endlich hat dann auch alles so funktioniert wie es von Anfang an sollte. Na ja fast, es waren noch ein paar Fehler in der Platine, da ich mich bei der Belegung der Pins für das Abschalten des RS232 Treibers geirrt bzw. verlesen hatte, aber diese waren dann nach etwas Suchen an der falschen Stelle irgendwann dann auch beseitigt und seitdem funktioniert die Schaltung sehr gut …

Platine

Zu der Platine gibt es eigentlich nicht viel zu sagen. Sie basiert im Groben auf einer Application Note von FTDI und stellt einen kompletten RS232 Port inklusive aller Handshake Leitungen bereit. Die Schaltung wird dabei vom USB Bus mit Spannung versorgt. Der der FT232BM nur in SMD Bauform erhält ist, habe ich den Rest der Platine auch in SMD ausgeführt. Daher sollte man zum Nachbau schon etwas Erfahrung bei Löten von SMD Bauteilen haben. Insbesondere der MAX211 (RS232 Treiber) ist im 28 Pin SSOP Gehäuse nicht einfach anzulöten. Die Platine ist doppelseitig, wobei nur auf der oberen Seite Bauteile angeordnet sind. Auf der Platine finden sich dann noch drei LEDs. Die erste davon zeigt an ob Spannung von der USB Schnittstelle anliegt. Die zwei anderen LED zweigen Verkehr auf der Empfangs- bzw. Sendeleitung an. Dies ist oftmals sehr hilfreich um mit einem Blick zu sehen wie viel gerade gesendet wird.

Mittlerweile gibt es den FT232BM auch bei Reichelt und Segor, so dass es kein Problem mehr ist diesen zu beschaffen. Auch alle anderen Bauteile sind bei Reichelt zu beziehen.

Downloads:

usb_seriell.zip [269.75 kB]

Zum Anfang

Kommentare

# Bernd Roessger meinte am 20. November 2006, 21:45 dazu:

Hallo, kann man die komplette Platine bei Ihnen (Dir) beziehen, da ich keine Ahnung bei der Bestückung mit SMD habe?

# Fabian Greif meinte am 20. November 2006, 22:28 dazu:

Nein. Es gibt aber fertige USB-zu-Seriell-Wandler zum Beispiel bei Reichelt, oder auch auch teilweise recht günstig bei Ebay.

# Fabianmeran meinte am 30. Dezember 2006, 19:01 dazu:

Hallo ich habe eine frage: wenn ich diesen konverter anschlisse brauche ich dann keinen Treiber oder so ähnliches??? und noch eine frage: kann ich dann auch in einem progamm z.B. ein satuploader auf einen com wie z.B. Com1 zugreifen???

# Fabian Greif meinte am 2. Januar 2007, 14:34 dazu:

Unter Linux mit halbwegs aktuellen Kernel brauchst du keinen Treiber. Für Windows gibt es den VCP-Treiber auf der Herstellerseite (FTDI-Chip).

Ohne zu wissen was ein “satuploader” ist vermute ich das die Antwort auf die zweite Frage Ja lautet.
Sobald ein Programm nicht direkt auf die Hardware zugreift, sondern die API des Betriebssystems nutzt kann man es mit dem USB-Seriell Wandler verwenden.

# Bechter Andreas meinte am 5. Februar 2007, 12:12 dazu:

Grüß dich Fabian,

Ich hätte da mal zwei fragen. 1. wo her kommt die Vcc und 2. kann diese Schaltung auch mit ?normaler? USB-Buchse verwendet werden.

# Fabian Greif meinte am 6. Februar 2007, 02:44 dazu:

zu 1.) Die Versorgung erfolgt die +5V vom USB-Bus.
zu 2.) Was ist für dich eine “normale” USB-Buchse? An die aktuell eingebaute Buchse passt ein stinknormaler USB-Stecker Typ B.

# Bechter Andreas meinte am 9. Februar 2007, 16:01 dazu:

Tschuldigung, war ein wenig ungenau. Ich meinte eine USB-Buchse A-Typ. Und dann ist mir aufgefallen dass der EEPROM programmiert werden muss. Es wäre nett wenn du mir das Programm schicken könntest.

# Franz meinte am 16. Mai 2007, 23:18 dazu:

brauche ich bei diesem gerät einen treiber oder ein programm? Kann man mit dieser schaltung mikrocontroller ansteuern??

# Fabian Greif meinte am 17. Mai 2007, 12:17 dazu:

Du brauchst den VCP-Treiber von FTDI falls du mit Windows arbeitest, unter Linux ist der Treiber direkt im Kernel enthalten, da muss also nichts mehr installiert werden.
Das Gerät meldet sich dann als serielle Schnittstelle an und darüber kann man dann natürlich auch mit Mikrocontroller kommunizieren?

# Helmut Schultheiß meinte am 14. April 2008, 11:48 dazu:

Hallo,
geht das auch in die andere Richtung? Habe einen Rechner der nur eine serielle Schnittstelle hat (spez. Gerät, nicht um USB erweiterbar) an den ein USB-Drucker angeschlossen werden soll.

Gruß
Helmut

# Fabian Greif meinte am 14. April 2008, 14:48 dazu:

Hallo Helmut,

die andere Richtung klappt nicht, da dafür ein USB Host benötigt wird (welcher ungleich komplizierter ist als ein USB Slave). Der verwendete Chip kann aber nur als USB Slave agieren.

Ich wüsste auch keinen kommerziellen Adapter mit dem man einen USB Drucker an eine serielle Schnittstelle anschließen kann, ich glaube das ist ein doch zu spezieller Anwendungszweck ;-)

Was man machen könnte wären einen zweiten Rechner zwischen zu schalten, der dann die Ausgaben von der seriellen Schnittstelle sammelt und dann ausdruckt, allerdings muss man dabei das gesamt Handling der Daten selbst übernehmen.

Grüße Fabian

# Felix Berweck meinte am 13. November 2009, 16:01 dazu:

Hallo,

wenn man den FT232R benutzt, spart man sich einiges an Bauelementen ein. Es fällt das EEPROM weg und der Quarz, ist bei dem IC bereits alles integriert.

Könnte man jetzt eigentlich für den Pegelwandler (TTL->RS232) auch einen MAX232 nehmen? Der wäre wesentlich günstiger, will jetzt nicht unbedingt 8,10? für den MAX211CAI ausgeben?

# Fabian Greif meinte am 13. November 2009, 16:26 dazu:

Hallo Felix,

wenn man den FT232R benutzt, spart man sich einiges an Bauelementen ein.

Stimmt, den gab es nur noch nicht als ich den Adapter hier entworfen habe ;-)

Könnte man jetzt eigentlich für den Pegelwandler (TTL->RS232) auch einen MAX232 nehmen? Der wäre wesentlich günstiger, will jetzt nicht unbedingt 8,10? für den MAX211CAI ausgeben?

Wenn du nur die RXD und TXD Leitung (plus zwei weitere) brauchst dann klappt das. Meistens braucht man ja nicht mehr, erst wenn man alle Leitungen verwendet lohnt sich der MAX211.

Grüße Fabian

# Alex meinte am 5. August 2010, 16:43 dazu:

Wo kann man die Platine ätzen lassen?

# Fabian Greif meinte am 5. August 2010, 17:29 dazu:

Ich habe die Platine bei PCB-Pool fertigen lassen. Allerdings lohnt sich das mittlerweile nicht mehr, es gibt für weniger Geld fertige USB-Seriell-Wandler mit dem gleichen FTDI Chip (bzw. dessen Nachfolger) zu kaufen.

Zum Beispiel:

Den ersten davon habe ich hier liegen, der funktioniert wunderbar unter Linux.

# Alex meinte am 6. August 2010, 10:03 dazu:

Danke!!

# Frank meinte am 9. August 2010, 17:02 dazu:

Hallo Fabian,
kann man einen von beiden öffnen? Ich muss an die 5V vom USB Stecker kommen!
Danke Gruß Frank

# Fabian Greif meinte am 9. August 2010, 22:59 dazu:

Ich habe nur den von Delock. Dessen Gehäuse ist vergossen oder so, es lässt sich auf jeden Fall nicht ohne größeren Kampf öffnen. Ob man dann noch sinnvoll an die Elektronik kommt kann ich dir nicht sagen.

Grüße Fabian

# Arthur Spooner meinte am 28. März 2011, 20:16 dazu:

Hallo,

ich würde gern von dir wissen wozu das EPROM Array gebraucht wird.

Danke dir :D

# Fabian Greif meinte am 29. März 2011, 11:46 dazu:

ich würde gern von dir wissen wozu das EPROM Array gebraucht wird.

Man kann den FT232BM noch konfigurieren, zum Beispiel ihm einen neuen Namen geben usw. Diese Konfiguration wird dann im EEprom abgelegt.

Neuere Chips wie der FT232RL haben das EEprom schon eingebaut, da braucht man das nicht mehr extern anzuschließen.

Grüße Fabian

Deine Meinung:

  • Textformatierung ist mit Markdown möglich.
  • HTML wird entfernt.
  • Kommentare werden moderiert und sind daher eventuell nicht sofort sichtbar.
  • Irrelevante Kommentare werden gelöscht.