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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.