Forum: Mikrocontroller und Digitale Elektronik Frage über CP2102 USB von Silabs


von led (Gast)


Lesenswert?

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

von René K. (king)


Lesenswert?

> 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.

von led (Gast)


Lesenswert?

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

von René K. (king)


Lesenswert?

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.

von led (Gast)


Lesenswert?

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

von René K. (king)


Lesenswert?

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.

von led (Gast)


Lesenswert?

Hi Rene,
danke. Du bist echt fit mit CP2102
led

von led (Gast)


Lesenswert?

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

von Christian R. (supachris)


Lesenswert?

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.

von Michi (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.