Frage über CP2102 USB von Silabs

#718310
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.
Gast #718608
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
#718627
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.
#718700
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren