USB am Nuvoton NUC120, wer kennt sich aus?

Gast #3191168
Lesenswert?
• ▲
▼
Hallo zusammen,

heut ist mir mal danach, was zu fragen. Ich hatte mir vor einiger Zeit 
mal einige Cortexe M0 von Nuvoton gegönnt, genauer den NUC120. Der ganze 
normale Kram (Clock, Ports, Seriell, Timer) geht eigentlich ohne 
Probleme.

Aber:
Der USB-Anschluß treibt mich derzeit auf die Palme. Schon den 
Device-Descriptor krieg ich einfach nicht zum Host geschickt. Aus Sicht 
des uC sieht alles bestens aus, so als ob das Paket richtig zum PC 
gesendet worden wäre, aber beim PC kommen nur Nullen an.

Also, kennt sich jemand mit diesen Chips näher aus?

W.S.
Gast #3192071
Lesenswert?
• ▲
▼
Danke für den Tip, aber das kenne ich schon. Guck dir mal in /drivers 
die USBdrv.c an, grausam. Hab vergeblich versucht, aus diesem Gestrüpp 
von void Pointern herauszufinden, wie die zugehörige Hardware denn 
tatsächlich funktioniert und was man tun muß, um wenigstens die 
Enumeration hinzukriegen, aber bei dieser!! Quelle ist das nur was für 
Masochisten.

Irgendwelche Software-Usbsniffer nützen auch nix. Entweder ein Gerät 
funktioniert bereits, dann sind sie überflüssig - oder es funktioniert 
nicht, dann kriegen sie vom eigentlichen Datenverkehr auch bloß nix ab.

Bin inzwischen soweit, daß ich mir ein paar Log-Routinen in den uC 
gesetzt hab. Resultat:

- Host sendet Reset   (find ich OK)
- Host sendet Setup-Paket und fordert Device Descriptor an (ist auch OK)
- Device Descriptor wird zum Host gesendet
- Host antwortet mit ACK  (find ich auch OK)
- Host schickt leeres Paket, wird mit ACK angenommen (= Status stage, 
scheint OK zu sein)
- Host sendet Reset (wozu? versteh ich nicht)
- Host sendet Setup-Paket und liefert einem eine Adresse (Set Addr.)
- Adresse wird eingestellt
---> dann passiert für 500 ms garnix

Würde ich die Adresse nicht einstellen, dann wartet der Host ca. 5 
Sekunden, bevor er das Spiel wiederholt. Irgendwas undokumentiertes 
passiert also damit in der Hardware.

Dann wiederholt sich das ganze Spiel noch 2x und dann schmeißt der Host 
das Handtuch und meint, das Device funktioniert nicht richtig.

Glaub ich ja gern, bloß wo ist der Fehler?

Guck ich im PC mit Usbview, dann sieht es so aus, als ob anstelle des 
Device Descriptors nur Nullen angekommen wären. Kann aber auch sein, daß 
das bloß ein Platzhalter ist.


W.S.

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.