www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik [USB] USB Stick STALL Problem


Autor: Andreas Auer (aauer1) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ich hoffe es kann mir hier jemand helfen. Und zwar befasse ich mich
gerade mit dem Lesen eines USB Sticks per AVR. Als USB Host Controller
hab ich einen Cypress SL811HS Chip drauf.

Also die Ansteuerung des Host Controllers funktioniert einwandfrei und
auch die Enumeration eines USB Devices funktioniert (sieht zumindest so
aus). Das Problem ist jetzt folgendes.... Wenn ich versuche per Bulk
Transfer einen CBW Block an das Device zu schicken, dann gibt mir das
Device den Status STALL auf dem BULK-IN Endpoint zurück. Dies bedeutet
ja, dass das Device (USB Stick) den Command nicht verstanden hat.
Danach muss ich das Device mit einem Clear Feature zurücksetzen (klappt
auch) und ich bekomm anschließend auch ein CSW zurück.
Das Problem ist, ich weiß nicht, warum der Stick das macht... ich hab
hier 4 USB Sticks rumliegen und bei 2 klappt das Lesen der Sektoren und
bei den anderen beiden nicht!?!?!? Kennt jemand einen Grund warum das
auftreten kann??

Hoffe, dass es hier einige USB Spezialisten gibt.
mfg
Andreas

Autor: T. Stütz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- Hast du per Set Address auf dem Control Endpunkt dem Gerät eine
  Adresse gegeben ?
- kann dein USBHost Controller die geforderte Strommenge liefern
  (max 500mA) ?
- Bist du sicher das du einen "Bulk Transfer" machen mußt ?
  Richtige Endpunkt verwendet ?

Gruss

Autor: Andreas Auer (aauer1) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- Also ich hab mit SetAddresse die Addresse 1 vergeben und bekomm von
dem Control Transfer auch den Status ACK.
Sollte also passen.

- Die Spannungsversorgung des Sticks wird direkt durch einen 7805
Spannungsregler gemacht. Denke also, dass es hier auch nicht zu
Engpässen kommt, da der Stick laut Config Descriptor nur 100mA
benötigt.

- Laut Config Descriptor, den ich auslesen kann, bekomm ich zurück,
dass Endpoint 1 und Endpoint 2 jeweils Bulk Transfer Endpoints sind
(der eine für IN und der andere für OUT).

mfg
Andreas

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das Lesen eines USB Sticks per AVR interessiert mich schon seit langem.
Leider habe ich bis jetzt aber keinerlei Beispielcode hierzu im Internet
finden können. Könntest Du Deinen Code posten, sozusagen als
Einstiegshilfe?
Wäre super.

Danke,
Mike

Autor: Benedikt Sauter (Firma: embedded projects GmbH) (flopper)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nutzt du die INTRQ Leitung des SL811HS ?

Ich kann das Signal mit meinem Oszi messen, aber sobald ich es an
meinen AVR anklemme ruehrt sich auf der Leitung nichts.

Im Plan von Cypress ist ein 74LS125 dazwischen geschaltet.

Nutzt du das Signal, wenn ja wie hast du es verbunden?
Gruss Bene

Autor: Herbert Bernardini (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem VNC1L von FTDI gehr es so.

• DOS-style ASCII commands (terminated with a <cr>)
– Directory commands, e.g. DIR, CD, MKD, DLD
– File commands, e.g. RDF, WRF, OPW, OPR
– Power management commands, e.g. SUD, WKD
– Debug commands, e.g. SD, IDD
– Miscellaneous commands, e.g. ‘E’ and ‘e’ for synchronisation

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.