mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Software AVR-USB -> Unknown Device


Autor: Max Wau (wauschi)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Ssss Ssssss (sssssss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
pullup an der richtigen datenleitung ? (weiss nimmer obs bei D+ oder D-
hin muss)
Wenn er am falschen ist/nicht dran ist wird er als highspeed(?) device
erkannt und funzt nicht (oder lowspeed, ka. jedenfalls falsch ;) )

Bye, Simon

Autor: Max Wau (wauschi)
Datum:

Bewertung
0 lesenswert
nicht 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... :-) )

Autor: Max Wau (wauschi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

Durch einen Reset am µC kann ich wieder eine Kommunikation auf die D+
und D- Leitungen zaubern und Windows meldet wieder "Unknown Device".

Autor: Luky S. (luky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe genau dasselbe Problem und auch noch keine Lösung gefunden.
Allerdings verwende ich keinen Mega8, sondern einenn 88er.

Autor: Lokko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Lokko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe beim messen mit dem oszi die gleichen aufnahmen gemacht wie ihr.
kurzes daten senden und dann nix -> "unbekanntes gerät"

Autor: Max Wau (wauschi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lokko

Egal ob ich am 2.0 Host oder 1.1 Hub anstecke, es geht nicht, leider.

Da bist du schon weiter wie ich :-)

Der, der eine Lösung für uns kenn wird unser HELD.

Autor: Lokko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal ne blöde frage... hast du auch den externen quarz als taktquelle bei
den fusebits gewählt!??!

Autor: Max Wau (wauschi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CKOPT = 0
CKSEL = 1111
SUT   = 11
(BODEN= 0)

Durch toggeln eines Pins erkenne ich, dass der µC wirklich läuft.

Autor: Max Wau (wauschi)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian Rötzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Andreas B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: SIGINT (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also meine liste mit Fehler die ich machte:
-Widerstand an die falsche Datenleitung
-Fuses falsch eingestellt
-Im Quellcode die USB-Pins nicht als Ausgang oder so....

Autor: Jens D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habt ihr mal die komplette verkabelung versucht??
und denkt an die 2 widerstände in der datenleitung (ich hatte 68R
genommen) dann hatte es funktioniert

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die beste hilfe ist ein Oszi am usb....

Autor: Christian Starkjohann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.