Software AVR-USB -> Unknown Device

OP #324784
Lesenswert?

Hat schon jemand mit der Software-USB-HID-Implementierung von Objective
Development für ATmega8 gearbeitet? Ich habe die Projekte Automator und
HidKeys ausprobiert indem ich die Schaltungen nachgebaut habe und das
fertige .hex file verwendet habe.

Verbinde ich den AVR zum USB-Port ist kurz USB-Traffic auf den
Leitungen zu sehen und dann meldet Windows: "Unknown Device".

Ich habe mich vergewissert, dass alle Spannungen, Verbindungen, usw.
stimmen.

Ich hätte erwartet, dass ich ohne Driverinstallation ein HID Gerät im
Geräte-Manager finde.

Wenn ich bereits alle Leitungen, Spannungen, CLK, Bus usw.. überprüft
habe, wo könnte ich meine Fehlersuche fortsetzen?
OP #324786
Lesenswert?

Hallo Ssss :-)

Es befindet sich ein 1k5 Pull-Up zwischen D- und +5V.
Die Versorgung über USB ist konstant 4V7 und über den Pull-Up fällt 1V
ab -> Auf D- habe ich 3V7 und auf D+ habe ich konstant 0 Volt.

Beim Verbinden kann ich auf D+ ein Signal erkennen, dann geht die
Leitung auf 0V zurück. Auf D- kann ich beim Verbinden auch ein Signal
erkennen, dann bleibt die Leitung auf 3V7.

Durch Blinken einer LED an einem freien Port kann ich erkennen, dass
die Fimware läuft.

Der Controller ist ca. 5cm von der USB-Buchse entfernt.

(Auweh, das wird wieder eine lange Nacht... :-) )
Gast #324789
Lesenswert?

bei mir läuft der code auch nicht an allen rechnern.

hängt bei mir mit dem host controller im pc zusammen. erfahrung ist.

USB 1.1 host controller ... alles klappt
USB 2.0 host controller ... 3 von 4 klappen nicht.
USB 2.0 host controller -> 1.1 hub ... alles klappt

pull up ist am richtigen pin!
OP #324794
Lesenswert?

Problem behoben!!!
Es geht endlich!!!

Bei meinem Versuchsaufbau war das Gehäuse der USB-Buchse nicht mit
Masse verbunden (Nur die 4 Leitungen waren verbunden). In der Schematic
ist nicht ersichtlich, dass das Buchsengehäuse mit Masse verbunden
werden muss.

Danke für eure Mithilfe.
Gast #324795
Lesenswert?

Interessant. Das ist keinesfalls die Ursache des Problems. Was wäre
wohl, wenn gar keine Buchse vorhanden wäre und das Kabel direkt
angelötet wird?

Wo wir gerade so schön beisammen sind: Funktioniert AVR USB auch mit
Resonator statt Quartz? Theoretisch sollte es das, wie jede Maus
beweist, aber bei mir geht das nicht. Eine Einschränkung der
Softwareemulation? Wie sind Eure Erfahrungen?
Gast #324796
Lesenswert?

Hat unterdessen jemand das Problem gelöst? Ich glaube ich habe
dasselbe.... habe einfach die Firmware auf meinen AT90S8515 geladen
(ohne oder mit Anpassung kommt aufs gleiche...), dann bei Windows
"Unbekanntes USB Gerät". Ich habe leider hier gerade nur USB 2.0
Hosts, an Windows liegts nicht, ich habs bei meinem NB mit Linux
angehängt, und lsusb listet mir das Device nicht auf...

mfg Andreas
Gast #324797
Lesenswert?

Hast du schon die Fuses überprüft?!?!?
Ich hatte mit einem anderen USB-HID Treiber für den ATmega8 das
Problem, daß ich die falsche Taktquelle gewählt hatte. Vielleicht läuft
der AVR nicht... oder mit internem Quarz.
Die Schaltung wird nämlich auch als "Unbekanntes USB Gerät" erkannt,
wenn der AVR nicht läuft... die Erkennung findet durch den Widerstand
statt.

Gruß,
  SIGINT
Gast #324798
Lesenswert?

Das ist sicher der Externe Quarz, wenn ich den nämlich raus nehme
funktionieren das ganze nicht mehr... (habe ich schon getestet). Das es
durch den Wiederstand erkannt wird habe ich auch bemerkt (Es reicht +
und - vom Experimentierboard auf den USB Anschluss anzuschliessen, auf
dem auch die Widerstände verlötet sind).
Ich werds bei Gelegenheit dann mal noch an einem USB 1.0 Anschluss
testen...

mfg Andreas
Gast #324802
Lesenswert?

Ein kleiner Hinweis fuer alle, die mit diesem Problem kaempfen:

Es liegt unseres Wissens am fehlenden Spannungsregler. Das
"Automator" Projekt hat USB nur so "nebenbei". Daher haben wir den
3.3 V Spannungsregler eingespart, weil's bei uns auch so
funktioniert.

Bei manchen Hosts und Hubs wird aber die common mode range des
Eingangsverstaerkers ueberschritten.

Abhilfe:
(a) 3.3 V Spannungsregler in der Versorgung
(b) zwei Dioden in der Versorgung (fuer 1.4 V Spannungsabfall)
(c) 3.6 V Zenerdioden an D+ und D- zum Begrenzen der Spannung

Das hat zumindest allen geholfen, die sich bei uns gemeldet haben.
[Sorry, ich lese dieses Forum nicht regelmaessig. Sonst haette ich
schon frueher geantwortet.]

--
Christian Starkjohann.
http://www.obdev.at

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