Hallo,
Ich habe ein Gerät mit integrierter USB-Schnittstelle (CP2102), das sich
am PC als COM-Port anmeldet. Am Vinculum USB-Host macht es keinen Mucks.
Meine Fragen nun:
Muß ich einen CP2102-Treiber programmieren bzw. wie weit muß ich in die
USB-Tiefen hinabsteigen, um das Ganze zum laufen zu bewegen?
Gibt es fertige Projekte, von denen man sich was abschauen kann?
Leider kenne ich mich mit USB (noch) nicht aus.
Danke für alle Tips.
==> Peter <==
> Beitrag "Vinculum und CP2102"
Danke, den hab ich glatt übersehen.
Aber er bestätigt meine Vermutung, daß ich wohl einen Treiber für den
CP2102 schreiben muß.
Kann mir jemand noch ein paar Tips geben?
Gibts irgendwo einen CP2102-Treiber im Quelltext? (C-programmieren kann
ich)
Welche Literatur etc. sollte ich mir zu USB besorgen?
Danke im voraus,
==> Peter <==
Hi,
Was machst Du mit dem CP2102?
Bei mir geht's darum, dass ich da nur Ascii Zeichen vom PC über den
Vinculum weiter über den CP2102 schicken wollte und dann an der anderen
Seite des CP2102 als RS232-Schnittstelle wieder abgreifen wollte. Ging
nicht wg. bekannter Probleme.
Aber wenn ich jetzt den FT232RL anschließe, sehe ich immer noch nix. Das
Ding meldet sich, nimmt auch brav die Formatierungen, aber wie ich die
Zeichen lesen kann oder sowas, hab ich immer noch nicht rausgekriegt...
Weißt Du da was? :-(
Gruß
Wolfgang
Hallo Peter,
der VNC braucht ersteinmal eine (passende) Firmware, sonst läuft nix.
Bei Verwendung z.B. eines VDIP-Moduls ist eine Firmware drauf, wenn man
den Chip einzeln kauft ist dort keine Firmware vorhanden.
Leider muss man sich durch die undurchsichtigen Daten- und Appl.blätter
von
FTDI quälen, um schließlich etwas passendes zu finden.
Bei FTDI gibt es einen Note zu der Funktion VNC - FT232, vielleicht
sollte man ansetzen, um das mit dem 2103 hinzubekommen...
Grüße, J.
> Du schreibst Firmware für den Vinculum?
Nein, aber der Vinculum hat low-level Funktionen wie DRD und DSD
(Empfangen und Senden von Paketen über den USB). Mit diesen Funktionen
und Analyse des Linux-Treibers für den CP2102, der ja im Quelltext
vorliegt, sollte es möglich sein, den CP2102 anzusprechen.
Ok, das Wichtigste funktioniert schon mal.
Falls jemand etwas Ähnliches machen will - folgendes sollte man tun:
1. Vinculum in den ASCII-Mode schalten. Der Binärmodus ist buggy :-(
2. Vinculums Extended Command Set aktivieren
3. Set current device "SC 0\r"
4. Die UART-Emulation des CP2102 aktivieren (mit "SSU
$4100010000000000\r" über den Vinculum)
Wenn mein USB-Client über den CP2102 Daten gesendet hat, kann ich sie
mit "DRD\r" vom Vinculum abfragen. Die Daten sehen allerdings seltsam
aus, weil die Baudate des CP2102 noch falsch ist, aber das sollte kein
Problem sein.
> Ein dickes Lob an Peter für seine Forschungen!
Gern geschehen. War einfacher, als ich gedacht hatte. Wahrscheinlich
kann man mit dem Vinculum jedes USB-Device ansprechen, ohne daß er eine
spezielle Firmware braucht.
Hallo Peter,
bin mittlerweile auch so weit, dass ich die Daten mit dem Vinculum
Kommando drd häppchenweise abholen kann. Hast Du diese irgendwie
formatiert? Sprich: ich weiß, da kommen 8 Zeichen an, die will ich
sofort in einem lesen. Bisher macht der drd zwei Abholvorgänge draus,
also zB W und olfgang.
Was ist in der Unterroutine "VINC_WaitPrompt" drin, hast Du irgendwelche
Formatierungskonstanten oder so drin?
Gruß
Wolfgang
> Bisher macht der drd zwei Abholvorgänge draus,> also zB W und olfgang.
Diese Fragmentierung wirst du wohl nicht verhindern können. Musst alles
einsammeln, bis ein "drd" keine Daten mehr liefert.
> Was ist in der Unterroutine "VINC_WaitPrompt" drin, hast Du irgendwelche> Formatierungskonstanten oder so drin?
Die Funktion wartet maximal 3 Sekunden auf "D:\\>\r" (das spuckt der
Vinculum aus, wenn er bereit ist.) und löscht danach den seriellen
Eingangsbuffer.