Hallo zusammen, hat jemand Erfahrung mit CP2102 von Silabs. Ich habe nämlich eine Frage: CP2102 hat Pin 11 für SUSPEND\, ist das in output pin oder input pin? wie kann man den CP2102 in SUSPEND state setzen? Gruß Led
> CP2102 hat Pin 11 für SUSPEND\, ist das in output pin oder input pin? Das steht klar im Datenblatt geschrieben, Seite 6: http://www.silabs.com/public/documents/tpub_doc/dsheet/Microcontrollers/Interface/en/cp2102.pdf Das ist natürlich ein Ausgang. In SUSPEND geht der Baustein automatisch, wenn der Bus >= 3 ms am Idlen ist.
Danke Rene, das heißt, wenn ich >= 3ms nichts sende, dann geht der CP2102 in Suspend state, aber dann wie kann ich CP2102 wieder in Betrieb nehmen? led
Nein, so ist das nicht. Der USB pollt Dein Gerät, von sich aus sendet es rein gar nichts. Wenn Du Daten an den CP2102 schickst, werden die also erst auf Anfrage auf den Bus gelegt. Wenn da keine Daten sind, Du also keine Daten an den Baustein schickst, wird einfach nur ein NACK auf dem entsprechenden Endpunkt zurückgegeben. Es ist daher immer Traffic auf dem Bus, auch wenn Du in Deinem Controller die Füße still hälst. Es entscheidet einzig und allein der Host, wann Du in den SUSPEND gehst und wann nicht. Du kannst jetzt den /SUSPEND-Pin nehmen und beispielweise einen schaltbaren Spannnungsregler ansteuern (z.B. Nationals LP2981IM5-3.3 hat einen Enable-Eingang) und Dir dadurch die Betriebsspannung klauen. Ebenso ist es der Host, der das Gerät wieder zum Leben erweckt. Das bist nicht Du (jedenfalls in diesem Fall, da der CP2102 RWU nicht unterstützt). Und wenn der Host es wieder krachen lässt, werden auch die SUSPEND-Pins entsprechend signalisiert.
Hallo Rene, danke für deine Infor. Ich habe in Datenblatt gelesen: CP2102 verlässt SUSPEND-state, wenn man zB. von einem Microcontroller aus die Pegel an Pin RST\ von CP2102 auf 0 für >=15uS setzt (seite 6 und 11). Es ist schon gut. Aber auf der seite 11 ist noch was " (1) Resume signaling is detected or generated...." Was ist das?????????????? Gruß led
Das stimmt natürlich, /RST darfst Du ziehen, um das Gerät aufzuwecken. Allerdings setzt Du damit de Baustein komplett zurück. Als Folge wird auf dem USB die Enumeration neu gestartet -> Das Programm, das gerade mit dem Gerät arbeitet, verliert es (das Gerät) und muß es neu öffnen. Das ist irgendwie auch nicht das Gelbe, IMO. RESUME wird vom Host signalisiert, das kannst Du selbst nicht machen. Remote Wakeup (RWU) wird, wie bereits gesagt, vom CP2102 nicht unterstützt.
Hi Rene, ich habe noch was vergessen. Manchmal ist es für mich nicht ganz klar, was man unter dem "Host" verstehen soll. Der Host hier ist der PC, oder? led
Bei allen USB Geräten ist der Host immer der, der die Verbindung aufbaut, also der PC, oder halt auch ein µC, der einen USB-Host eingebaut hat. Ein USB-Device (wie es der Silabs ist) macht von sich aus überhaupt gar nix. Jeder Datentransfer muss vom Host (der mit der USB-A-Buchse) gestartet werden. Egal welche Richtung.
Hat jemand Erfahrung, wie gut der CP2102 mit Bursts zurecht kommt. Gruß Michi.
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.