Hallo Bastel-Gemeinde, ich suche nach einer Lösung um mit einem Mikrokontroller über einen USB Anschluß mehrer virtuelle serielle COM Schnittstellen anzuprechen. Also ähnlich dem bekannten FT232 nur das ich mindestens 3-4 COM Ports benötige. Kann man Mikrokontrollerseitig mehrere FT232 parallel schalten? bzw. gibt es dafür spezielle IC. Wie vehält es sich mit den Treibern auf der Windowsseite. Wenn mehrere FT232 an einem USB Port hängen, kommt es zu irgendwelchen Konfilkten und woher weiß das System welchem FT232 welcher COM Port zugewiesen ist, wenn sie Zwischendurch mal abgesteckt waren? Ich hoffe meine Fragen waren einigermaßen verständlich? Wäre für eure Hilfe sehr dankbar. Es gibt doch auch PICs mit USB Schnittstelle, eventuell gibt es in dem Bereich eine Lösung für mein Problem? Viele Grüße, Steffen
Ich habe selbst 4 FT232 über einen USB-HUB-IC an einen USB-Port hängen. ergibt 4 einzellne COM-Schnittstellen. Der FT4232 wäre aber ideal, leider ist er noch nicht wirklich zu bekommen...
Mikrokontrollerseitig brauchst du enstsprechend viele serielle Ports. Aber willst du wirklich von einem Mikrokontroller mehrere serielle Verbindungen zu ein und demselben Host machen? Das wäre ziemlich sinnlos, eine Datenverbindung mit einem geeigneten Protokoll sollte reichen.
>vehält es sich mit den Treibern auf der Windowsseite. Wenn mehrere FT232 >an einem USB Port hängen, kommt es zu irgendwelchen Konfilkten und woher >weiß das System welchem FT232 welcher COM Port zugewiesen ist, wenn sie >Zwischendurch mal abgesteckt waren? Ich meine das geht über Seriennummern. Hatte vor einiger Zeit an der Arbeit an einem Rechner an die 30! identische USB-RS232 Wandler hängen (Allerdings nicht mit FTDI Chip). Hat tadellos funktioniert. Auch beim wiedereinstecken wurden wieder exakt die gleichen COM Ports wiederhergestellt.
Erst mal Danke für die vielen nützlichen Hinweise! Der FT4232 scheint ja wirklich wie für mein Problem gemacht :-) Mit der Verfügbarkeit ist es vorerst kein Problem, da ich die Schaltung eh erst mal testen muß. Dafür können ja auch 2x FT2232 herhalten. Wie ich das mit den 4 seriellen Ports am µC mache, werde ich sehen. Bei der Controllerwahl bin ich recht flexibel und bei den PICs gibt es auch welche mit 4 Hardware UARTs. Natürlich wäre es optimal wenn dafür nur ein SPI bzw. I2C Port benötigt würde. Da habe ich gleich noch einige spezielle Frage dazu. Bei diesen USB-COM Wandlern kann man doch sicher die Baudrate einstellen. Ideal wäre ja nun, wenn am anderen Ende der µC immer mit einer fixen Baudrate mit dem FT232 kommunizieren könnte. Unabhängig von der Einstellung auf dem PC. Die FTs haben ja einen recht großen I/O Puffer. Ist das möglich? Wie ich weiterhin gelesen habe, besitzen die FT2232 einen Fast Opto-Isolated Serial Interface Mode. Galvanisch getrennt wäre noch das I-Tüpfelchen. Sind die FTs in diesem Modus auch als virtuelle COM-Ports ansprechbar? >Aber willst du wirklich von einem Mikrokontroller mehrere serielle >Verbindungen zu ein und demselben Host machen? Das wäre ziemlich >sinnlos, eine Datenverbindung mit einem geeigneten Protokoll sollte >reichen. Das wäre natürlich das Optimum! Leider bin ich nicht in der Lage, die dafür nötigen Treiber auf Windows, Linux und MacOS Seite bereitzustellen. Oder gibt es dafür irgend ne Free- bzw. Shareware? Das erwartete Datenaufkommen wird sich sehr in Genzen halten, pro Minute nur wenige Bytes. Reichen würde so ein Protokoll, welches mehrere COM-Port bündelt, allemal. Viele Grüße, Steffen
Oehm, willst du da unbedingt was basteln, oder warum tut es kein fertiger USB<->RS232 Multiport Wandler?
>Oehm, willst du da unbedingt was basteln, oder warum tut es kein >fertiger USB<->RS232 Multiport Wandler? Nun ja, die ankommenden Daten sollen natürlich im µC weiterverarbeitet werden und dieser soll eine entsprechende Rückantwort liefern. Auch Schrittmotore, Temperatur- und Feuchtesensoren kommen noch dran. Viele Grüße, Steffen
>Natürlich wäre es optimal wenn dafür nur ein SPI bzw. I2C Port benötigt >würde. Es gibt I2C UART Bausteine. >Bei diesen USB-COM Wandlern kann man doch sicher die Baudrate einstellen. >Ideal wäre ja nun, wenn am anderen Ende der µC immer mit einer fixen >Baudrate mit dem FT232 kommunizieren könnte. Unabhängig von der >Einstellung auf dem PC. Geht nicht. Die Wandler sind transparent. D.h. du stellst am PC die Baudrate ein, und die wird selbstverständlich dann auch am Chip ausgegeben.
> Leider bin ich nicht in der Lage, die dafür nötigen Treiber auf > Windows, Linux und MacOS Seite bereitzustellen. Was für Treiber? > erwartete Datenaufkommen wird sich sehr in Genzen halten, pro >Minute nur wenige Bytes. Reichen würde so ein Protokoll, welches > mehrere COM-Port bündelt, allemal. Irgendwie verstehe ich dein Problem nicht. Du hast also einen PC, und an den möchtest du einen µC anschließen. Du hast nur sehr wenig Datenaufkommen, möchtest diese Daten aber dennoch auf vier serielle Schnittstellen verteilen, weil du glaubst, sonst irgendwelche Treiber zu benötigen? Soweit ergibt das irgendwie erstmal keinen Sinn.
>Was für Treiber? Irgendwie müssen die COM Schnittstellen doch auf USB umgeleitet werden? Ich hätte gedacht, das das mit einem passenden Treiber funktioniert. Auf der Linux und Mac Plattform kenn ich mich gleich gar nicht aus, deswegen will ich ja was fertiges. >Irgendwie verstehe ich dein Problem nicht. Du hast also einen PC, und an >den möchtest du einen µC anschließen. Du hast nur sehr wenig >Datenaufkommen, möchtest diese Daten aber dennoch auf vier serielle >Schnittstellen verteilen, weil du glaubst, sonst irgendwelche Treiber zu >benötigen? Soweit ergibt das irgendwie erstmal keinen Sinn. Natürlich laufen auf dem Windows, Mac, Linux-Rechner mehrere Anwendungen bzw. Plugins die irgendwelche Geräte über die serielle Schnittstelle steuern. Z.B. eine Aufnahmesteuerung für Kameras. Dort muß fokussiert werden, die Temperatur abgefragt, das Filterrad bewegt, evtl. noch ein Bildfeldrotator angesteuert werden usw. Und jedes Gerät benötigt logischerweise eine eigene Schnittstelle. Viele Grüße, Steffen
> Auf der Linux und Mac Plattform kenn ich mich gleich gar nicht aus, > deswegen will ich ja was fertiges. Ich hatte das wohl falsch verstanden. Es kam für mich so an, als ob du bei einer Schnittstelle statt vier irgendwelche zusätzlichen Treiber zu brauchen glaubst. > Dort muß fokussiert werden, die Temperatur abgefragt, das Filterrad > bewegt, evtl. noch ein Bildfeldrotator angesteuert werden usw. Und > jedes Gerät benötigt logischerweise eine eigene Schnittstelle. Ach, es sind mehrere Geräte. Oben hast du doch geschrieben: > Wie ich das mit den 4 seriellen Ports am µC mache, werde ich sehen. > Bei der Controllerwahl bin ich recht flexibel und bei den PICs gibt es > auch welche mit 4 Hardware UARTs. Deshalb war ich davon ausgegangen, daß nur ein einziges an den vier COM-Ports hängt. Wozu brauchst du sonst einen µC mit 4 UARTS?
> Ach, es sind mehrere Geräte. Oben hast du doch geschrieben: > > Wie ich das mit den 4 seriellen Ports am µC mache, werde ich sehen. > > Bei der Controllerwahl bin ich recht flexibel und bei den PICs gibt es > > auch welche mit 4 Hardware UARTs. > Deshalb war ich davon ausgegangen, daß nur ein einziges an den vier > COM-Ports hängt. Wozu brauchst du sonst einen µC mit 4 UARTS? Du hattest es schon richtig verstanden. Da die Steuerungsaufgaben nicht sehr komplex sind, wollte ich nur einen µC benutzen. Er hat ja nicht viel zu tun. Und da die zu steuernden Geräte zusammen an einem Platz stehen, könnte man sie alle an die zu bauende Kontrollerbox anschließen. Diese würde nun wiederum nur 1 USB Kabel zu PC benötigen. Ich hoffe mein Vorhaben ist jetzt soweit klar. Werde mal schauen, wo ich so einen FT2232 herbekomme. Bei http://www.csd-electronics.de/de/index.htm sind sie recht günstig zu bekommen, allerdings handelt es sich um den FT2232L. Laut http://www.ftdichip.com/Products/FT2232C.htm soll man aber für neue Desings den FT2232D benutzen. Hat der Vorgänger irgendwelche Bugs?
Hallo Steffen, die FTDI-Typenbezeichnung ist wie folgt: FT2232C - alter Typ, mit Blei FT2232L - Bleifrei FT2232D - Bleifrei und zusätzliche Modi möglich Man sollte wirklich nur noch den D-Typ verwenden. Hier gibts auch fertige Module: www.b-redemann.de Gruß
frage : warum verwendet man den µC wenn er ja nicht viel zu tun hat als datensammler?? also wenn es simple sensoren + motoren sind .... alles den einen µC mache lassen und über 1 COM die daten schicken ich habe es vlt falsch verstanden .... bisher vertshe ich es so ... er hat zB 4 sensoren/aktoren diese werden mit 1 µC ausgewertet dieser µC schickt die daten nun über 4 UARTs an 4 FTDI um in einem 4fachHUB IC zu landen wo im PC 4 COM schittstellen auftauchen jede COM hat nun einen sensor/aktor effizienter ist es aber nun wirklich nur 1 COM zu nutzen und einpassendes protokoll zu verwenden
Danke für die vielen weiteren Infos... > effizienter ist es aber nun wirklich nur 1 COM zu nutzen und > einpassendes protokoll zu verwenden Sicher wäre das von allen die beste Lösung. Das Problem ist nur, das die Steuerungssoftware auf dem PC schon existiert. Siehe z.B. http://www.cyanogen.com/index.php, es gibt noch einige mehr von der Sorte. Die meisten Sensoren/Aktoren werden halt über COM Schnittstellen gesteuert. Finde ich ja auch in Ordnung, läßt sich nämlich sehr leicht für eigene Anwendungen nutzen. Wenn es eine einfache Möglichkeit gibt, mehrere COM-Schnittstellen softwaremäßig über einen Kanal zu bündeln, ohne das die Anwendung was davon merkt... immer her damit :-) Das sollte dann aber bitte auch für Linux und MacOS ohne Lizenzgebühren verfügbar sein. Wie ich schon weiter oben schrieb, bin ich nicht in der Lage solche Treiber selbst zu erstellen. Deshalb soll es etwas sein, was sich in der Praxis schon 1000fach bewährt hat. Für mich sind das, von der Handhabung her, eben diese USB-Seriell Wandler. Und das man davon problemlos mehrere an einen USB-Bus hängen kann, haben ja nun schon einige Poster erwähnt. Viele Grüße!
Sehr gute Erfahrungen habe ich mit moxa gemacht (http://www.moxa.com/) Läuft dann über Ethernet. In Industriehallen bisher (toitoitoi) jahrelang ohne Störung. Dort habe ich riesen Kabelwirrwar durch eine Cat6 Dose ersetzt. Zentral administrierbar und programmierbar ist das ganze auch. Deutsche Vertretung ist Sphinx Computer, sehr professionell und freundlich.
Kleiner Nachtrag, die Steurungssoftware war auch vorhanden und wurde nicht geändert. Lösung lautet COM-Server mit virtuellen COM-Ports im PC.
Ein Erfahrungsbericht zu USB/seriell: Das ganze ist bei mir 2 Wahl. Im Betrieb verlieren selbst die besten die ich kenne (FTDI) ab und zu die Verbindung. Verm. wenn Störimpulse kommen oder Ausgleichsströme fliessen. Dann hilft häufig nur ein Neustart des PCs. USB ist halt kein Industrieprotokoll und hat im Gegensatz zu Ethernet auch keine galvanische Trennung. Das ganze fällt auch häufig nur bei Geräten im 24/7 Einsatz auf. Bei einem Notebook (der eh ständig rauf und runter gefahren wird) ist das selten zu bemerken.
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.