Forum: Mikrocontroller und Digitale Elektronik AT90USB1287 Board


von Kampi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,


ich habe ein Problem mit einem selbst gebauten AT90USB1287 Board, 
welches ich auf Basis des AT90USBKey entworfen habe.
Auf dem Board befinden sich allerdings nur 2x2MB Flash Speicher, weil 
ich nicht mehr benötige.
Jetzt habe ich das Board soweit aufgebaut, bekomme aber keine USB 
Verbindung. Im Gerätemanager steht immer "Gerät konnte nicht installiert 
werden" (siehe Screenshot).
Der Mikrocontroller ist ansprechbar, wenn die Platine an den Rechner 
angeschlossen ist. Ich komme da problemlos mit JTAG drauf und der JTAG 
zeigt auch 3,2V an, also genau die Spannung die aus dem Spannungswandler 
raus kommen soll.
Das Programm, welches ich verwende, ist ein modifiziertes LUFA Programm, 
welches auf dem AT90USBKey problemlos läuft...da wird der 
Mikrocontroller als USB-Massenspeicher erkannt usw.
Ich habe auch schon in den Headerfiles geschaut, ob ich irgendwas ändern 
muss, weil ich ja jetzt andere Flash-Speicher verwende. Allerdings bin 
ich da nicht wirklich fündig geworden, bzw. die Befehle in dem 
Headerfile für den Flash-Speicher auf dem AT90USBKey stimmen mit meinem 
Flash-Speicher (http://www.farnell.com/datasheets/1763503.pdf) überein.
Hat hier eventuell einer noch ne Idee wo der Hund begraben sein könnte 
:(?

Danke für die Hilfe und Gruß
Daniel

von Potter (Gast)


Lesenswert?

Sobald Du ein Gerät an den USB anstöpselst, wird die sog. Enumeration 
durchgeführt: Der Host fragt die Geräteeigenschaften ab, indem er eine 
Abfolge sog. SETUP-Pakete an Dein Gerät sendet. Dein Gerät antwortet im 
Normfall mit den gewünschten Informationen und ist danach 
betriebsbereit.

Und genau das funktioniert vermutlich nicht bei Dir. Ich vermute, dass 
Dein Gerät aus irgendeinem Grund überhaupt nicht antwortet und der Host 
nach 3 maliger Nachfrage die Enumeration abbricht und Dein Gerät als 
nicht funktionierend einstuft.

Das Problem kann in der Hardware oder auch in der Software liegen. Genau 
kann man das sagen, wenn Du dir den Datenaustausch auf dem Bus anschaust 
(Protokoll-Analysator) oder Du die Verarbeitung der SETUP-Pakete in 
Deiner Firmware debuggst (GET_DESCRIPTOR ist eine typische Anfrage des 
Host. Da kann man einfach mal ne LED anschalten und schaun, ob und wie 
darauf reagiert wird - also die State Machine verfolgen).

Gruß Potter

von Kampi (Gast)


Lesenswert?

Hallo,

danke für die Antwort.
Die Software sollte funktionieren, da ich diese mit dem AT90USBKey 
getestet habe. Ich probier es aber heute Abend noch mal neu, da ich 
gerade nicht weiß ob zwischenzeitlich was an dem Programm geändert 
habe...
Danach schaue ich mal weiter :)

von Kampi (Gast)


Lesenswert?

Hey,

also ich habe es noch mal geprüft...an der Software liegt es nicht. Auf 
dem AT90USBKey läuft die 1a und da wird das Board auch erkannt. Nur mein 
Board wird nicht erkannt....
Es wird der Fehlercode 43 ausgegeben....

von holger (Gast)


Lesenswert?

Ich würde ganz schnell mal AVCC anschliessen.

von Kampi (Gast)


Lesenswert?

Hey,

also AVCC habe ich jetzt auch angeschlossen...das macht es leider auch 
nicht besser :(

von Kampi (Gast)


Lesenswert?

Hey,

ich habe mich anscheinend geirrt. Meine Software für das USBKey war 
fehlerhaft...nur wurde der Fehler, den ich jetzt bei dem Board habe, bei 
dem USBKey nicht im Betriebssystem angezeigt -.-
Ich habe mir nun eine Software von Atmel gekrallt und es 
getestet....jetzt erscheint zumindest schon mal ein Datenträger im 
Arbeitsplatz und der Treiber lässt sich installieren :)

von Kampi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe nun ein weiteres Problem....
Und zwar komme ich nicht auf den Datenträger drauf.
Das Gerät wird erfolgreich installiert und tauscht auch mit Vendor ID 
etc. im Gerätemanager auf.
Von daher denke ich, dass die USB Kommunikation klappt.
Der fehlende Zugriff auf den Speicher hat dann wahrscheinlich nur was 
mit der Kommunikation zwischen µC und Flash zu tun.
Wenn ich den Speicher formatieren will, kommt folgende Meldung (siehe 
Anhang).

von Potter (Gast)


Lesenswert?

Kampi schrieb:
> Von daher denke ich, dass die USB Kommunikation klappt.

Wenn das der Fall wäre, wüsste der PC wie groß Dein MSD ist
und würde nicht 'unbekannte Speicherkapazität' ausgeben.

von Kampi (Gast)


Lesenswert?

Hey,

ja aber die Anmeldung des Gerätes am PC klappt ja und da das Programm 
auf dem AT90USBKey läuft und auf meinem Board nicht, würde ich eher der 
Flash-Geschichte die Schuld geben.
Wenn die Kommunikation über USB nicht läuft, würde sich das Board doch 
nicht erfolgreich am PC anmelden können oder?

von Kampi (Gast)


Lesenswert?

mmmh also ich habe keine Ahnung was ich noch machen kann...
Ich habe mir das LUFA Beispiel, wo ein Temperaturlogger realisiert wird, 
herunter geladen -> auf dem USB Key funktioniert es
Auf meinem Board nicht...ich habe mich durch die Headerfiles gewühlt und 
die Befehlscodes der beiden Speicher verglichen...die stimmen.
Ich habe im Headerfile die Pagesize auf 512 Byte und die Anzahl Pages 
auf 4096 geändert, aber es funktioniert immer noch nicht :(

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.