USB-Seriell-Konverter? Reinfall!
01.07.2011, 17:33
Beim Betrachten des Schaltplans und der Dokumentation zum CP2101 hätte ich im Traum nicht daran gedacht, dass es kein COMx geben würde. Leider ist die Software nicht zum freien Download (wird auf CD mitgeliefert), so dass ich diesen Umstand nicht im Vorfeld absehen konnte.
Ursprünglich war vorgesehen, die serielle Kommunikation via COMx mittels PortMon zu betrachten. Oder vielleicht wäre sogar das Datenprotokoll offen gelegt. Um dann mit einem LabVIEW-Programm den DDS130 in einen automatisierten Messplatz zur Resonanzfrequenzbestimmung von Piezozuschnitten zu integrieren.
Das ist nun Pustekuchen, aber nach Öffnen der Verpackung. Dummerweise hat man sich bei ELV für das USBXpress-Interface des Chipherstellers (Silabs) entschieden. Das ist schneller (kaum ein Argument für diesen Anwendungsfall) und vermeidet Verwechslungen (macht deren Software einfacher).
Jetzt geht es wie folgt weiter: Debug-DLL schreiben, die sich zwischen "SiUSBXp.dll" und "DDS 130.exe" setzt und den Datenverkehr protokolliert. Sozusagen PortMon noch einmal.
Dann den VCP-Treiber von SiLabs an die USB-VID/PID anpassen und laden.
Dann eine Ersatz-SiUSBXp.dll schreiben, damit "DDS 130.exe" lauffähig bleibt, ohne zum Treiber-Jockey zu mutieren.
Dann kann's mit dem Auseinandertrieseln der Steuerkommandos weiter gehen.
Danke für die Mehrarbeit. Auch dank Closed-Source.
(Da hätt'ssch ooch alles alleene machen können.)
Das Gerät und die mitgelieferte Software funktioniert wie beschrieben, aber ohne Automatisierungs-Schnittstelle (bspw. DDE) oder Quelltext nützt das alles nichts.
henni
Ursprünglich war vorgesehen, die serielle Kommunikation via COMx mittels PortMon zu betrachten. Oder vielleicht wäre sogar das Datenprotokoll offen gelegt. Um dann mit einem LabVIEW-Programm den DDS130 in einen automatisierten Messplatz zur Resonanzfrequenzbestimmung von Piezozuschnitten zu integrieren.
Das ist nun Pustekuchen, aber nach Öffnen der Verpackung. Dummerweise hat man sich bei ELV für das USBXpress-Interface des Chipherstellers (Silabs) entschieden. Das ist schneller (kaum ein Argument für diesen Anwendungsfall) und vermeidet Verwechslungen (macht deren Software einfacher).
Jetzt geht es wie folgt weiter: Debug-DLL schreiben, die sich zwischen "SiUSBXp.dll" und "DDS 130.exe" setzt und den Datenverkehr protokolliert. Sozusagen PortMon noch einmal.
Dann den VCP-Treiber von SiLabs an die USB-VID/PID anpassen und laden.
Dann eine Ersatz-SiUSBXp.dll schreiben, damit "DDS 130.exe" lauffähig bleibt, ohne zum Treiber-Jockey zu mutieren.
Dann kann's mit dem Auseinandertrieseln der Steuerkommandos weiter gehen.
Danke für die Mehrarbeit. Auch dank Closed-Source.
(Da hätt'ssch ooch alles alleene machen können.)
Das Gerät und die mitgelieferte Software funktioniert wie beschrieben, aber ohne Automatisierungs-Schnittstelle (bspw. DDE) oder Quelltext nützt das alles nichts.
henni