USB-RS422-Umsetzer (Konverter, Adapter)

So etwas gibt es zwar zu kaufen, aber ob das Kaufteil die ausgefallene Baudrate 691,200 kBaud unterstützt, blieb unklar. Ein Umsetzer auf die serielle Schnittstelle des PCs fiel aus, weil auch PCs diese Baudrate nicht unterstützen. Außerdem sind diese Schnittstellen zu langsam.

Weil diese Baudrate zu Standardbaudraten weithin teilerfremd ist, benötigt man zwei Taktdomänen; üblicherweise zwei Mikrocontroller. Daher bietet sich hier ein fertiger USB-FIFO-Schaltkreis mit paralleler oder synchron-serieller Schnittstelle an. Die Wahl fiel dann prompt auf den FT245 von FTDI.


Schaltplan mit FT245, ATtiny2313 und 75179. Alle Beine des Mikrocontrollers sind verwendet!

Hier ging es um den digitalen Anschluss eines Lasertriangulations-Systems „µε optoNCDT 2200“ von MicroEpsilon. Zur Messwertverarbeitung in LabVIEW [Ansicht der Datenaufbereitung für optoNCDT 2200] sollte nicht der Umweg über ein Analogsignal verwendet werden, sondern alles komplett digital laufen. Außerdem unterstützt die mitgelieferte Software „ILD2200“ ebenfalls den Weg via FT245.

Der passende Quarz Q2 für die Baudrate hat 11,0592 MHz. Den gibt es, wie auch alle anderen Bauteile, günstig bei Reichelt zu kaufen. Damit liegen die Bauteilkosten bei 10 €. Etwas preiswerter als der Umsetzer von µε. Für üblichere Standardfrequenzen, wie 230,4 kBaud, 460,8 kBaud und 921,6 kBaud tut es die Quarzfrequenz 14,7456 MHz.


Aufbau-Foto auf Steckbrett. Für den FT245, den es nur in SMD gibt, wurde ein fertiges Aufsteckmodul verwendet

Die Firmware des Mikrocontrollers IC2 ATtiny2313 schaufelt die Daten bidirektional durch. Für die Empfangsrichtung werden die kompletten 128 Byte RAM als zusätzliche FIFO (Pufferspeicher) verwendet, um Pufferüberläufen vorzubeugen. Am Pin 11 ist eine LED angeschlossen (nicht im Steckbrett-Foto), die aufleuchtet, wenn die FIFO voll ist, und verlischt, wenn die FIFO leer ist. Sie sollte im Betriebsfall aus bleiben (was auch der Fall ist).

Der p-Kanal-MOSFET T1 sorgt dafür, dass der Konverter im Fall von USB-Standby (beim herunter gefahrenen Notebook) USB-standardkonform weniger als 500 µA Ruhestrom verbraucht. Ohne diese Maßnahme könnte ein stecken gelassenes Gerät den Notebook-Akku leersaugen. Der differenzielle Leitungstreiber und -empfänger IC3 ist ziemlich hungrig, aber die meiste Energie wird in den jeweiligen 120-Ω-Abschlusswiderständen verheizt.

Buchsen oder deren Anschlussbelegung für RS422 sind nicht genormt. Nach einer ausgiebigen Internet-Recherche wurde der Stecker X2 und deren Belegung nach der größten Verbreitung ausgewählt, siehe Schaltplan.
Auch der eingesetzte Mess-PC benutzt diesen Stecker in dieser Belegung. Ja, jenes eigentümliche Board (PCE-5124) hat optional RS422 und RS485. Nur wegen der nicht verfügbaren Baudrate konnte dieser Anschluss nicht verwendet werden.

 
Eagle-Leiterplattenentwurf für Selbstbaugehäuse (Reichelt „COM942“) und USB-B-Buchse

Leiterplatte von oben
Leiterplatte von unten
Fertiggerät

So sieht's aus, wenn's fertig ist

Hätte es unbedingt USB sein müssen?

Mit dem Treiber HiSerial [W2k/XP] bzw. ShsMod [Win9x/Me/2k/XP] kann man die COM-Port von Windows auf Trab bringen, sofern die Hardware das kann. Die Baudrate 691,200 kBaud wird zwar nicht unterstützt, aber dafür 921,600 kBaud. Damit kann man einen Mikrocontroller mit 2 seriellen Schnittstellen, 2 Taktdomänen oder gebrochenen Taktteilern zur Umsetzung verwenden. Achtung — böse Falle: Mit HiSerial werden COM-Ports über COM2 abgewürgt, sie funktionieren nach der Installation nicht mehr richtig! (Betrifft Industrie-PC-Board: Advantech PCE-5124)

Das schöne an dieser FT245-Lösung ist …

… dass sie kompatibel zur µε-Software „ILD2200“ ist! Dieses Bastelobjekt wird genauso erkannt wie das, was man bei µε für einige Hundert €uro kaufen kann.

Man hätte es auch …

… das Ganze mit einem brandneuen MSP430F55xx erschlagen können. Dieser enthält sowohl USB als auch (mindestens) eine serielle Schnittstelle mit gebrochenem Taktteiler. Hier Inbetriebnahme-Tipps. Das CDC-Interface würde den Windows-Treiber ersparen, nur eine .INF-Datei wäre hierbei nötig. Die Schwierigkeit wäre aber möglicherweise gewesen, alles so hinzubekommen, dass es von der µε-Originalsoftware als „ihr“ Konverter erkannt wird.

Icon  Name                    Last modified      Size  Description
[   ] Eagle.zip 20-Feb-2012 16:50 39K Leiterplatten-Design für Selbstbaugehäuse [Einsicht] [   ] Firmware.zip 03-May-2010 16:42 2.6K Software für den AVR-Mikrocontroller, Assembler für AVRGCC [Einsicht] [IMG] funktioniert.jpg 04-Jun-2010 14:43 41K [IMG] Gerät.jpg 04-Jun-2010 15:04 13K [IMG] QFN32.jpg 04-Jun-2010 14:59 37K [IMG] RS422-Versuch.png 14-Jun-2010 16:05 14K [   ] RS422-Versuch.vi 14-Jun-2010 16:03 30K Software für LabVIEW: Auslesen der Messdaten aus µε optoNDCT2200 [IMG] Schaltplan.png 06-May-2010 11:13 7.9K [IMG] Steckbrett.jpg 30-Apr-2010 13:44 93K [IMG] usb-rs422b.png 06-May-2010 13:58 2.9K [IMG] usb-rs422t.png 06-May-2010 13:59 3.9K
Zurück: Maschinenbau-Projekte

E-Mail: Henrik Haftmann
Soforthilfe: +493713396018 oder +4917621695671 oder Skype