Hallo zusammen, wie im Anhang zu sehen ist, habe ich mir ein eigenes Entwicklungsboard mit einem AT90USB646 gemacht. Leider wird dieser bei Anschluss an eine PC nicht erkannt. D.h. er passiert gar nichts. Folgendes wurde bereits geprüft: - Alle VCC und GND Anschlüsse sind versorgt. - Reset und HWB Taster funktionieren (Ungedrückt High, sonst low) - D+ und D- sind nicht vertauscht - Reset und HWB besitzen eine Pull Up wie gefordert - An UCAP ist in 1uF Kondensator gegen Masse Mit einem ISP Programmer bekomme ich kontakt zu Mikrocontroller. Folgende Fuses sind gesetzt: Brownout detection bei 2,4V HWBE, CKDIV8 Ext. Crystal Osc. 8.0- Mhz 258CK + 65ms Nachdem NICHTS funktioniert hat, habe ich mit dem ISP Programmer den uController erased (Ja, ich weiß, der Bootloader ist jetzt weg). Ich habe ein simples program eingespielt, das nur eine LED schalten soll, nichteinmal das funktioniert. Daher war der Verdacht da, dass etwas mit dem Clock nicht stimmt. Doch auch nach umstellung auf den internen Clock leuchtete kein LED. Woran könnte es noch liegen ? Ich hoffe auf eure Hilfe. Vielen Dank schon mal. Gruß, Waigel
Ich hab jetzt etwas weiter geforscht und herausgefunden, dass der uController GAR NICHTS macht. Ich kann mit dem ISP Programmer den uController programmieren, die Fuse bits setzen, alles. -> Ein Takt gibt es und der uController arbeitet auch. (extern hängt ein 16MHz quarz dran, habe aber auch schon die internen 1MHz probiert) Ich hab folgendes simples Programm eingespielt und hänge mit dem Osci auf PC0 und PC1:
1 | int main() |
2 | {
|
3 | DDRC = 0xFF; |
4 | PORTC = 0xFF; |
5 | |
6 | int cntr = 0; |
7 | while(1) |
8 | {
|
9 | if(cntr == 255) |
10 | {
|
11 | PORTC |= (1<<PC0); |
12 | cntr = 0; |
13 | }
|
14 | else
|
15 | {
|
16 | PORTC &= ~(1<<PC0); |
17 | cntr++; |
18 | }
|
19 | }
|
20 | }
|
Beide Pins bleiben low, nichts ändert sich. D.h. für mich, der uController läuft nicht, bzw. es wird nichts ausgeführt. Was also kann hier falsch sein ? Danke euch für eure Antworten. Gruß, Waigel
Hast du wirklich mit ISP gearbeitet oder mit JTAG? (Dein Schaltplan zeigt keinen ISP-Steckverbinder, wohl aber einen für JTAG.) Hintergrund: ISP würde nicht mehr funktionieren, wenn mit dem Takt des Controllers was im Argen ist, JTAG dagegen benutzt (beim Programmieren) seinen eigenen Takt, sodass du einen kaputten CPU-Takt nicht bemerkst. Ansonsten bliebe eigentlich nur noch ein Kurzschluss von /RESET nach Masse, sodass der Controller die ganze Zeit im Reset ist. Das merkst du mit keinem der beiden Programmier-Interfaces. Zwischen "es läuft überhaupt erst einmal ein Stück Firmware" und "meldet sich am USB" liegen jedoch Welten. (OK, mit dem Bootloader hätte es natürlich gehen sollen.)
@ Jörg Wunsch Es war nicht vorgesehen an die Schaltung mit einem ISP Programmer ranzugehen. Nachdem aber sämtliche IO Ports herausgeführt sind, habe ich zu Debug zwecken einen ISP Programmer angeschlossen. Es ist also wirklich einer dran. (Hintergrund: Ich hab nur ein Evertool JTAG device und das unterstützt den AT90USB646 nicht). Den /Reset habe ich glaube ich schon 20mal geprüft. Der liegt immer auf +5V und wenn der Taster gedrückt wird auf 0V. Der Thread heißt "USB wird nicht erkannt", weil ich zunächst ein USB Problem vermutet hatte, nur hat sich eben jetzt herausgestellt, dass der uController selber erst mal "nichts" tut. Ich weiß gerade echt nicht weiter wo ich noch suchen soll. Denn eigentlich, wenn er per ISP Programmer erreichbar ist und er Reset es nicht ist, dann muss er laufen.
Waigel schrieb: > Denn > eigentlich, wenn er per ISP Programmer erreichbar ist und er Reset es > nicht ist, dann muss er laufen. Sehe ich auch so. Vielleicht tatsächlich defekt?
Ich hab eben das CKOUT Fuse bit gesetzt. Bei internem RC Osc. messe ich dort einen 8MHz Takt mit dem Osci. (5V Ampl.) Bei externem Crystal Osc. messe ich entsprechend einen 16MHz Takt. -> Ext. Crystal funktioniert und auch der interne Takt kommt. Welche Art von Defekt könnte denn dazu führen, dass der uController "normal" funktioniert und auch reagiert, nur sein Programm nicht ausführt ?
Ja, habe eben alle fuses in den orignal Zustand laut Datenblatt gesetzt, keine Änderung (nur dass kein Takt an PC7 mehr zu messen ist. OK, das CKOUT ist auch nicht mehr gesetzt). Ext: 0xF3 High: 0x9B Low: 0x5E Sind eventuell Änderungen notwending, nachdem der Bootloader per ISP ja gelöscht wurde ?
Waigel schrieb: > Sind eventuell Änderungen notwending, nachdem der Bootloader per ISP ja > gelöscht wurde ? Nö, wenn er damit partout nichts macht, würde ich auf einen kaputten Controller tippen. Möglicherweise harrt er intern immer im Reset. Mit einem aktuelleren JTAG ICE (oder AVR Dragon) könntest du natürlich mal versuchen herauszufinden, ob er überhaupt irgendeinen Befehl abarbeitet.
Ein AVR Dragon oder vergleichbares habe ich leider nicht zur Hand. Ich bekomme die Tage aber noch ein 2. Exemplar der obigen Schaltung (da es sich dabei um eine gefärtigte Platine handelt.) Mal sehen ob die sich genauso verhält, ansonsten ist wohl der uController hinüber. Danke erst mal für die Mühe. Falls jemandem noch etwas einfällt.... Gruß, Waigel
>Welche Art von Defekt könnte denn dazu führen, dass der uController >"normal" funktioniert und auch reagiert, nur sein Programm nicht >ausführt ? Auf jeden Fall gab es schon zahlreiche Berichte über nicht funktionierende SELBSTGEBAUTE Boards mit AT90USB1287, auch hier im Forum. Ich kann mich aber nicht errinnern, dass jemand mal die Ursache ergründet und berichtet hätte, höchstens ein "jetzt geht es" oder so, teilweise nach Chip-Tausch. Meine Boards liefen stets, war vielleicht nur Glück. Aber AT90USB128x -- will man den heute noch freiwillig einsetzen, ist doch schon etwas angegraut. (Ich hoffe man kann den AT90USB128 überhaupt noch kaufen, denn ich werde irgendwann noch einige benötigen.)
Stefan Salewski schrieb: > ber AT90USB128x -- will man den heute noch freiwillig > einsetzen Wenn du bei AVR und 64 oder 128 KiB Flash bleiben willst, was wölltest du sonst nehmen? Lediglich für die AT90USB82/162 scheint es in Form der ATmega*U2 bislang Nachfolger zu geben. Habe gerade nicht geguckt, was die ATmega*U4 genau sind, aber zumindest gibt's die nicht mit USB-OTG (OK, hat der '646 auch nicht) und auch wiederum maximal mit 32 KiB Flash-ROM.
@ Stefan Salweski Da freut man sich doch über ein so tolles Produkt aus dem Hause Atmel ;-) Grundsätzlich ist an meiner Schaltung nicht viel dran. Und zusätzlich handelt es sich noch um einen gefertigt Platine, keinen Lochrasteraufbau. Und dann wurde das ganze noch professionel bestückt. D.h. die Wahrscheinlichkeit eines Schaltungsfehlers ist verhältnismäßig gering, nachdem der Plan nicht komplex und soweit auch stimmig ist. @all Wie gesagt, ich schau mal morgen was das 2. Exemplar macht (bzw. nicht macht) und geb dann Bescheid. PS.: Auf dem Board befindet sich noch ein FTDI, der am uController angeschlossen ist und der funktioniert. (tut nichts zur Sache, aber nur so am Rande)
Hallo Jörg, ja, ich persönlich habe eh eine recht starke Bindung an den AT90USB1287, Du weist wahrscheinlich warum -- wenn nicht ist auch nicht schlimm. Aber er ist über 5 Jahre auf dem Markt, vor ca. 6 Monaten war er recht schlecht erhältlich, da wollte ich mir eventuell ein paar Dutzend einmotten... Ja, was gibt es denn sonst für schöne Chips mit USB? Auf XMEGA mit USB hatte ich mal gehofft. Einige ARM Cortex mit High-Speed gibt es wohl jetzt, ist aber eine andere Welt, und gehört eh nicht in diesen Thread. Gruß, Stefan
@ Stefan Der AT90USB128 und der 646 sind ja quasi "baugleich". Ich hab ihn auch wegen des USBs verwenden wollen um unkompliziert ein HID device zu emulieren. Aber naja....
Mir ist gerade noch eingefallen, hat eingentlich jemand von euch den original Atmel DFU Bootloader zum 646 zur hand ? Dann bei Atmel kann man den wohl seit der Umstellung der Webseite nicht mehr herunterladen. (nur für den Fall, dass das Ding mal läuft und ich den dann wieder aufspielen will) Danke.
>original Atmel DFU Bootloader zum 646 zur hand ?
Soweit ich weis gibt es von Dean Camera (LUFA) eh eine Open-Source
Alternative.
Hallo nochmal, ich habe frohe Kunde; Eben habe ich das 2. Board getestet und es hat auf sofort funktioniert. USB, Bootloader, alles. Ich verzeichne das jetzt ganz oben auf der Top10 Liste mit merkwürdigen Fehlern rund um Atmels. Denn dass ein Defekt sich so seltsam auswirkt !?... Naja. Viele Dank für eure Hilfe und noch viel Erfolg mit euren Projekten. Gruß, Waigel
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.