Forum: Mikrocontroller und Digitale Elektronik AT90USB646 Problem mit Bootloader unter Win7 32Bit


von Grobi (Gast)


Lesenswert?

Hallo,
ich habe ein kleines board gebastelt auf dem ein AT90USB646-AU steckt.
Das ganze ist selfpowered und mit einem 20MHz Quarzoszi ausgerüstet 
(laut Farnell 
http://de.farnell.com/jsp/search/productdetail.jsp?sku=1748497&CMP=KNC-GDE-FDE-GEN-SKU-SEP-ATMEL-ICC- 
sind max.20MHz ok). Jetzt wollte ich den Chip mit der Flip software 
programmieren, aber sobald er mit dem PC verbunden ist, erkennt er 
diesen nur als "unknown device" VID / PID alles 0x00 und installiert 
natürlich dann keinen Treiber. Eine manuelle Treiberinstallation aus dem 
flip/usb Verzeichnis funktioniert nicht da laut Windows schon der 
aktuelleste Treiber installiert ist ???Häää???!!! naja Windows halt... 
Spannunsgversorgung soweit alles OK, UVcc hat 5V, am UCap liegen auch 
die 3,3V an, VBus ist mit UVcc verbunden (denke mal das kann nicht der 
Fehler sein, läßt sich leider auch nur noch schwer ändern). Den HWB PIN 
habe ich per jumper auf GND gelegt. Damit sollte doch eigentlich direkt 
der Bootloader gestartet werden. Um überhaupt zu erfahren ob der Chip 
läuft habe ich ihn dann per ISP angeschlossen (Nein ich habe NOCH kein 
Chiperase gemacht) Er wird per ISP erkannt und ich kann das Flash 
auslesen etc. Das habe ich dann auch getan und siehe da, es steht nur 
0xFFFFFF... drin, nirgends was von irgendwelchem bootloader code zu 
sehen. Der müsste doch eigentlich darin auftauchen oder? Gesetzte 
Fusebits sind laut AVRstudio : Brownout detection at VCC 2.6V, HWBE, 
JTAGEN, SPIEN, Boot Flash size 2408 words at 0x7C00, external Crystal 
Oszi 8.0- MHz, 258CK + 64ms startup und was mich ein bißchen irritiert 
auch CKDIV8. Als bis auf das CKDIV8 finde ich das alles soweit auch OK. 
Falls der bootloader nun wirklich nicht mehr vorhanden sein sollte, wo 
könnte man den denn bekommen, auf der Atmel seite finde ich dazu nur ein 
pdf, aber nirgends das hex oder A90 file mit dem eigentlichen code und 
google hilft da leider auch nicht weiter.
Mache ich da evtl. irgendwas komplett falsch oder hat mir farnell 
wirklich Chips ohne bootloader geliefert?

MfG
Grobi

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

Damit der Controller per USB kommunizieren kann, muss er mit 8 oder 
16MHz getaktet werden!
Den Bootloader (und viele andere für USB-AVR-Controller) gibt es z.B. 
auf:
http://re.reworld.eu/en/products/u2dil/index_bl.htm

von Grobi (Gast)


Lesenswert?

Hmm echt, nur 8 oder 16 MHz? Ok das wäre ein Versuch wert, aber warum 
macht man sowas wenn doch max 20MHz möglich sind?

von Rainer R. (Firma: Reusch Elektronik) (reusch)


Lesenswert?

Ich habe zur Sicherheit nochmal einen Blick ins Datenblatt geworfen. Da 
steht auf der 2. Seite:

Maximum Frequency
– 8 MHz at 2.7V - Industrial range
– 16 MHz at 4.5V - Industrial range

Wenn er tatsächlich 20MHz könnte, würde die Antwort lauten: Es ist ja 
nicht zwingend, die USB-Schnittstelle zu nutzen. Wenn aber, dann nur mit 
einer dieser beiden Taktfrequenzen. Das liegt daran, dass die interne 
USB-Engine eine bestimmte Frequenz benötigt (ich glaube, hier sind es 
96MHz, über eine PLL vom Quarz abgeleitet).
Modernere Controller, wie ATXMega, AVR32 und ARM sind da etwas 
flexibler. Aber auch dort ist nicht jede beliebige Taktfrequenz möglich, 
um eine bestimmte Schnittstelle zu nutzen.

von Grobi (Gast)


Lesenswert?

OK, für die Infos schonmal danke!
Werde dann mal den 20MHz gegen 16MHz tauschen, reicht auch alle mal für 
meine Anwendung.
Kann es sein das in dem flash das ich ausgelsen habe nix vom 
bootloadercode zu sehen war weil die Sektion einfach nicht mit 
ausgelesen wurde?
Inhalt sieht so aus :
:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
...
:10FFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11
:00000001FF

...wenn ich die vollen 16MHz nutzen möchte sollte ich doch auch lieber 
CKDIV8 auf unprogrammed switchen.

von Grobi (Gast)


Lesenswert?

Ich glaubs nicht! Es funktioniert! 100000000 mal Danke! Es hat echt am 
Quarz gelegen, mit 16 MHz funktionierts sofort!

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.