wir verwenden die standard USB->RS232 Kabelpeitschen.
Wie zuverlässig sind die denn bei euch?
Nach mehr als 4 Stunden hängt sich meine Software oder Windows 10 auf.
Sind keine großen Daten und es wird immer bis zu 5Mb geschrieben und dann neue Datei.
Ich habe keine Ahnung warum.
Kann auch sein das Windows probleme hat.
Bei einigen Kunden laufen Analyse-Geräte tagelang mit ICUSB2321F von Startech.com. Soweit nie Probleme damit.
Der hat FTDI FT232 drin - und als Bonus immer den selben COM-Port, auch wenn er an einem anderen USB-Port hängt.
Ich kenne das Problem, dass die COM-Verbindung nach einer unbestimmten Zeit (i.d.R. einige Stunden) auf einmal wegbricht, obwohl dauerhaft kommuniziert wird (wenn auch mit geringen Datenraten und -mengen) und der COM-Port noch im Geräte-Manager gelistet ist.
Meiner Erfahrung nach hilft folgendes weiter:
Im Geräte-Manager alle USB-Geräte durchklicken (Root-Hubs, Hostcontroller etc.). Bei einigen Geräten gibt es den Tab "Energieverwaltung". Dort den Haken "Computer kann das Gerät ausschalten, um Energie zu sparen" entfernen. Theoretisch sollte es reichen, den Haken nur bei dem Hub/Controller zu entfernen, an dem der COM-Port Adapter hängt. Ich gehe auf Nummer sicher und entferne das Häkchen überall.
Alle COM-Ports im Geräte-Manager durchklicken und hier ebenfalls prüfen, ob der Tab "Energieverwaltung" vorhanden ist. Falls ja, das Häkchen dort auch entfernen.
PC neustarten und prüfen, ob die Kommunikation jetzt stabil funktioniert.
Die Zuverlaessigkeit haengt immer ein bisschen ab was man darueber
treibt. Bloed sind alte Sachen mit Protokollen aus den 80ern oder
so wo teilweise Byteweise ausgetauscht wird und es einzuhaltende
Antwortzeiten gibt. Dann kann man eventuell mit der Buffergroesse
rumspielen. Es kann auch sinnvoll sein keinen alten FTDI zu
verwenden sondern einen moderneren der USB 2.0 macht weil
da die Zykluszeiten von 1ms auf 0.125ms runter gegangen sind.
Sehr charmant sind auch Sonderloesungen die aus irgendwelchen
Gruenden mit den Steuerleitungen rumklappern.
Bloed sind alte Sachen mit Protokollen aus den 80ern oder
so wo teilweise Byteweise ausgetauscht wird und es einzuhaltende
Antwortzeiten gibt.
Ja, das hasse ich auch.
Protokolle dürfen immer nur zustandsgesteuert sein, aber nie zeitgesteuert. Nur dann kann mal Protokolle über andere Interfaces zuverlässig tunneln.
Protokolle dürfen immer nur zustandsgesteuert sein, aber nie
zeitgesteuert.
Naja, sehr viele Protokolle haben (enge) Timeouts. Ganz besonders wenn man nur eine bidirektionale Leitung / Shared Medium hat. Wenn keine Antwort kommt muss man halt irgendwann mal davon ausgehen dass die Gegenstelle "tot" ist und die Leitung frei machen können für andere Teilnehmer. Gern möchte man auch sofort eine Rückmeldung haben ob überhaupt was ankommt, wie die ACK-Bits bei I²C oder CAN, um die Stabilität des Systems zu garantieren (Fehlerzähler & automatische Abschaltung).
Protokolle wie CAN, I²C oder auch USB kann man aber trotzdem tunneln. Allerdings müssen die Adapter dafür smart sein und die schnellen Antworten direkt senden können. z.B. die üblichen USB-CAN-Adapter senden selbst das ACK-Bit, ohne dass der PC sie dazu anweisen müsste. Ein USB-Serial-Adapter kann das von sich aus üblicherweise nicht (bis auf ggf. die Handshake-Leitungen), weil er das Protokoll nicht kennt.
Man könnte aber problemlos einen "smarten" USB-Serial-Adapter bauen, der spezifisch für eine Anwendung/Protokoll die zeitkritischen Dinge selbst abhandelt. Dazu muss dann aber auch die PC-Seite angepasst werden.
Dankeschön für die Rückmeldungen,
bisher war es immer Onboard oder PCI Karten.
nur mit diesen USB haben wir die Probleme,
da ist auch der Hersteller egal.
Wir haben einige ausprobiert und mir war schon fast klar dass es an Windows liegt. Mit dem Selben Programm unter Wine in Linux könnte ich es nochmal Probieren. Wie geschrieben es geht eine ganze Zeit lang (etwa3H) und dann wird nichts mehr aufgezeichnet. 9600Baud konstant
Ich probiere aber gerne welche aus, wenn gewünscht
Mir würden die Hersteller schon reichen,
ich habe gerade die Schaltpläne vom gegen Gerät bekommen und da ist nur die TXD in benutzung, daher keine Handshakes und ich kann das Gerät auch nicht ansprechen. Würde erklären warum Windows da zickt.
Seit 20 Jahren "USB-2COM", die sehen so aus (nur in blau und ohne Meilhaus-Aufdruck und damals deutlich billiger) https://www.meilhaus.de/usb-2com.htm
Aber wie gesagt, die werden meist mit direkter windows-seriell-programmierung benutzt ("CreateFile"). Da gibt es 0 Verluste unter Windows, wenn die Puffer entsprechend groß sind.
Schaltpläne vom gegen Gerät bekommen und da ist nur die TXD in
benutzung, daher keine Handshakes und ich kann das Gerät auch nicht
ansprechen. Würde erklären warum Windows da zickt.
Windows tut das, was Du konfigurierst. Wenn kein Handshake stattfinden soll, musst Du das beim SetCommState() berücksichtigen.
Wie geschrieben es geht eine ganze Zeit lang (etwa3H)
und dann wird nichts mehr aufgezeichnet.
Das ist keine Fehlerbeschreibung. Du musst mindestens den Datenstrom
vom Betriebsystem aus mitloggen oder wenn du damit nicht weiterkommst
dann extern.
Und Linux ist vielleicht vom Zeitverhalten ein kleines bisschen
besser, aber auch da kannst du solche Probleme haben.
Dankeschön für die Rückmeldungen,
bisher war es immer Onboard oder PCI Karten.
nur mit diesen USB haben wir die Probleme,
da ist auch der Hersteller egal.
Ich weiß nicht, ob die Leute hier wirklich schon USB-Adapter über viele Wochen oder gar Monate betrieben haben. Egal, ob COM, Tastatur oder ISDN, uns hat USB im Dauerbetrieb immer Ärger bereitet.
OnBoard auf $03F8 / $02F8 ("legacy") haben immer funktioniert, aber gibt es kaum noch. Bei PCI oder USB kommen Treiber dazwischen.
Mit PCI-Karten hatten wir auch schon Zoff, dessen Ursache ich nicht kenne. Die wurden dann ausschließlich von perle gekauft, furchtbar teuer, aber stabile Treiber.
Das wird nicht "der FTDI" sein, sondern die schlecht geschriebene Software, die mit ihm redet.
Es ist möglich, Software mit der normalen Win32-API für serielle Schnittstellen so zu schreiben, daß sie jahrelang(!) im Dauerbetrieb mit FTDI-USB-Bridges stabil und fehlerfrei funktioniert.