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
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
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?
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.