Forum: Mikrocontroller und Digitale Elektronik AT90USB162 Bootloader startet nicht


von S. M. (smatlok)


Angehängte Dateien:

Lesenswert?

Hallo,
Ich hab hier einen AT90USB162 in einer absoluten 
Minimalkonfigurationsschaltung vor mir, siehe Schaltplan im Anhang.

Wenn ich das Datenblatt richtig gelesen habe, dann müsste doch von Haus 
aus der interne RC oszi auf 8Mhz(1%)@3,3V laufen, das USB interface samt 
PLL aktiviert sein und mittels HWB der von haus aus draufgeflashte 
Bootloader aufrufbar sein, oder?

Ich stecke also meine Minischaltung an den USBport, halte RST und HWB 
(PD7) auf low, schalte zuerst RST und anschließend HWB auf high - Müsste 
dann nicht ein neues device von WinXP gefunden werden ?

Tut sich aber garnichts:-( Wo ist mein Fehler, was hab ich falsch 
gemacht?
Pins sind alle genau so angeschlossen wie im Schaltplan, 3,3V versorgung 
funktioniert auch (der interne vreg liefert 3,216V um genauer zu sein). 
An den USB-Datenpins ist mit (speicher)Oszi auch nichts zu sehen.

Btw: Die Jumper hab ich inzwischen durch taster ersetzt und zusätzlich 
mit 220nF entprellt, zusätzlich noch 10uF an +5V -- hat nichts geholfen.

Hat jemadn eine idee? mach in prinzipiel was falsch ? hat der at90usb 
überhaupt nen bootloader vorinstalliert? (laut allgemeiner 
family-beschreibung ja eigentlich schon)

Danke für Tipps

von Stefan Salewski (Gast)


Lesenswert?

Ohne Quarz geht USB mit AT90USB nicht. (es sei denn man hat extrem viel 
Glück mit dem internen Oszillator, dann vielleicht.)

von Stefan Salewski (Gast)


Lesenswert?

Und im Übrigen: Bist Du Dir sicher, dass Deine Beschaltung exakt den 
Angaben im Datenblatt entspricht?

Du willst ja wohl 3.3V Self-Powered Betrieb.

Soweit ich mich an meine Platine mit dem AT90USB1287 erinnere, bleibt 
der Pin UVCC dann unbeschaltet? (Das wäre ja der interne 3.3V Regler, 
der bei 3.3V Self-Powered Betrieb keine wirkliche Aufgabe hat.)

Ich mag mich irren, also vergleiche mal sehr genau mit dem Datenblatt.

von S. M. (smatlok)


Lesenswert?

Sers, hmm,.. aber es schaut so aus als wäre das ganze so gedacht, dass 
man den internen RC nutzen kann - alle fuses sind so eingestellt, dass 
man theoretisch auf den ISP verzichten kann und schon die erste 
soft+fuses (z.b. auch auch erstmal externen quarz) über USB 
konfigurieren kann ?

Aber ich werds mal mit externen quarz probieren, könnte daran liegen.. 
neue platine mit quarz und programmierschnittstelle layout

Wegen stromversorgung: das sieht nur so aus, aber der Schaltplan ist so 
komplett, d.h. Bus-powered! - die 5V liegen an uvcc an und 3.3 kommen 
bei ucap wieder raus :-)

von Stefan Salewski (Gast)


Lesenswert?

Gut, das mit dem UVCC Pin ist beim AT90USB162 etwas anders:
Ich habe eben mal ganz kurz das Datenblatt überflogen:

>In the 3.3V configuration, the internal regulator is bypassed.

Aber ohne Quarz geht es wohl kaum.
Im übrigen: Ich bin nicht sicher ob vorgabemäßig wirklich der interne 
Oszillator aktiv ist.

In meiner alten Version des Datenblattes zum AT90USB1287 war auch 
angegeben, dass der interne Oszillator aktiv ist. Das war aber falsch, 
und wäre auch nicht sinnvoll gewesen: Man möchte ihn ja mit Quarz auf 
eine Platine setzen können und dann per Bootloader programmieren können, 
ohne erst per ISP Fuses verändern zu müssen.

von Nico E. (masta79)


Lesenswert?

Stefan Salewski wrote:

> In meiner alten Version des Datenblattes zum AT90USB1287 war auch
> angegeben, dass der interne Oszillator aktiv ist. Das war aber falsch,
> und wäre auch nicht sinnvoll gewesen: Man möchte ihn ja mit Quarz auf
> eine Platine setzen können und dann per Bootloader programmieren können,
> ohne erst per ISP Fuses verändern zu müssen.

Also bei meinen AT90USB647 und 162 (vor ca. 4 Wochen geliefert) ist per 
default der interne oszillator aktiviert. Der AT90USBKey wird dagegen 
(sinnigerweise) aber mit Quarz ausgeliefert.

von Stefan Salewski (Gast)


Lesenswert?

>Wegen stromversorgung: das sieht nur so aus, aber der Schaltplan ist so
>komplett, d.h. Bus-powered! - die 5V liegen an uvcc an und 3.3 kommen
>bei ucap wieder raus :-)

Das war aus Deinem Text/Bildchen nicht eindeutig zu erkennen.

Ich fürchte mal, vorgabemäßig ist Quarzbetrieb eingestellt. Ohne Quarz 
ist der uC dann praktisch tot, und ohne externen Programmer kannst Du 
die Fuses auch nicht umstellen.

Vielleicht meldet sich hier ja noch jemand, der schon mal einen 
AT90USB162 aufgebaut hat. Ich hatte wie gesagt nur den AT90USB1287 
verwendet.

von Stefan Salewski (Gast)


Lesenswert?

Nico Erfurth schrieb:
>Also bei meinen AT90USB647 und 162 (vor ca. 4 Wochen geliefert) ist per
default der interne oszillator aktiviert.

Interessant. Eventuell lockt dann aber die interne PLL nicht, so dass 
der Bootloader das USB-Interface nicht aktivieren kann.

Aber dann würde man ja stets einen externen Programmer benötigen, um auf 
korrekten USB-Betrieb mit Quarz umzuschalten.

Sollte Atmel es wirklich hinbekommen haben, den internen Oszillator so 
genau zu machen, dass damit USB-Betrieb möglich ist? Müsste man mal 
nachlesen...

von Stefan Salewski (Gast)


Lesenswert?

>Wegen stromversorgung: das sieht nur so aus, aber der Schaltplan ist so
>komplett, d.h. Bus-powered! - die 5V liegen an uvcc an und 3.3 kommen
>bei ucap wieder raus :-)

Achtung: Bei 5V bus powered Betrieb liegt an Pin UCAP lediglich ein 
Kondensator zur Masse, sonst nichts. Schau Dir nochmal die Beschaltung 
im Datenblatt genau an.

von Stefan Salewski (Gast)


Lesenswert?

>Bei 5V bus powered Betrieb liegt an Pin UCAP lediglich

Mist, da habe ich mich vertan. Ich hatte Figure 19-3 betrachtet, Du hast 
aber nach Figure 19-4 aufgebaut. Also soweit OK.

von Nico E. (masta79)


Lesenswert?

Stefan Salewski wrote:

> Interessant. Eventuell lockt dann aber die interne PLL nicht, so dass
> der Bootloader das USB-Interface nicht aktivieren kann.
>
> Aber dann würde man ja stets einen externen Programmer benötigen, um auf
> korrekten USB-Betrieb mit Quarz umzuschalten.

Ich hab die ICs bisher immer nur im STK600+TQFP32/64 benutzt. Es KANN 
sein das sie auch mit dem internen Oszillator halbwegs zuverlässig 
funktionieren, ich hab sie aber bisher jedesmal direkt umprogrammiert. 
Leider bin ich diese Woche unterwegs und hab nur das STK mit einem 
bereits benutzten Chip dabei. Nächste Woche könnte ich das aber auch mit 
einem jungfräulichen Chip testen.

> Sollte Atmel es wirklich hinbekommen haben, den internen Oszillator so
> genau zu machen, dass damit USB-Betrieb möglich ist? Müsste man mal
> nachlesen...

Also laut aktuellen Datenblatt ist mit dem internen Oszillator noch 
immer kein stabiles USB-Interface möglich.

von Nico E. (masta79)


Lesenswert?

Nico Erfurth wrote:

> Leider bin ich diese Woche unterwegs und hab nur das STK mit einem
> bereits benutzten Chip dabei. Nächste Woche könnte ich das aber auch mit
> einem jungfräulichen Chip testen.

Ok, jetzt hab ich mal nachgeschaut, neuen USB162 rein, und er ist 
standardmässig wirklich auf "Ext. Crystal Osc. 8.0- MHz; Start-up time: 
258CK+65ms" fused.

Soviel zum Datenblatt. ;)

von Stefan Salewski (Gast)


Lesenswert?

Nico Erfurth schrieb am 07.07.2008 um 15:25 Uhr:

>Also bei meinen AT90USB647 und 162 (vor ca. 4 Wochen geliefert) ist per
>default der interne oszillator aktiviert.

Nico Erfurth schrieb am 18.07.2008 um 00:38 Uhr:

>Ok, jetzt hab ich mal nachgeschaut, neuen USB162 rein, und er ist
>standardmässig wirklich auf "Ext. Crystal Osc. 8.0- MHz; Start-up time:
>258CK+65ms" fused.

Werden die AT90USB162 nun wirklich unterschiedlich konfiguriert 
ausgeliefert, oder war Deine Aussage von 07.07.2008 falsch?

von Nico E. (masta79)


Lesenswert?

Stefan Salewski wrote:

> Werden die AT90USB162 nun wirklich unterschiedlich konfiguriert
> ausgeliefert, oder war Deine Aussage von 07.07.2008 falsch?

Die Aussage vom 7.7. war falsch. Dabei war ich mir doch so sicher. ;)

von S. M. (smatlok)


Lesenswert?

Nico Erfurth wrote:
> Ok, jetzt hab ich mal nachgeschaut, neuen USB162 rein, und er ist
> standardmässig wirklich auf "Ext. Crystal Osc. 8.0- MHz; Start-up time:
> 258CK+65ms" fused.
>
> Soviel zum Datenblatt. ;)

Na sauber! Viel zu krass...

Danke fürs nachschaun :-)

Ich werd wohl am Dienstag meine Testplatine mal bestücken und probiern 
obs mit Quarz nun so funktioniert wie ichs mir vorstelle ;-)

von S. M. (smatlok)


Angehängte Dateien:

Lesenswert?

Hallo,
Ich bin etwas am Verzweifeln. Ich habe nun die neue Platine (Schaltplan 
im Anhang) bestückt, jedoch macht das USB interface immernoch nichts.

Die neue Platine hat nun ein 8mhz quarz und einen programming port. Mit 
meinem USBasp kann ich auch die Fuses auslesen, jedoch nicht schreiben, 
da AVRDUDE den at90usb162 nicht unterstützt. Ich bastel mir gerade einen 
neuen USBProg, damit sollte es dann hoffentlich funktionieren.

Aber (irgendeine) clock läuft anscheinend, sonst könnte ich die fuses 
(lf: 5E hf: D9 ef: F4) nicht auslesen!? Daher:

masta79, könntest du mir die werte aller Fuses sagen, welche bei dir 
eingestellt sind ? Evtl passt ja sonst was nicht mit meinen prescalern 
oder pll-enable bits oder -..

von Stefan Salewski (Gast)


Lesenswert?

>Ich bin etwas am Verzweifeln.

Ich kann Dir nicht gut helfen, da ich selbst derzeit nur den AT90USB1287 
verwende.

Aber was auffällt: Pin 31 ist jetzt unbelegt, ganz am Anfang war er wohl 
an Vcc angeschlossen?

Hast Du die Beschaltung wie im Datenblatt angegeben gemacht (Durch 
Deinen Schaltplan blicke ich nicht vollständig durch.)

Bist Du sicher, dass ein USB-Bootloader auf dem Chip ist?

Notfalls hol dir doch so ein Olimex-Board, ist billig.

Manchmal sind es Kleinigkeiten: 8 mHz und 8 MHz unterscheiden sich 
stark, und 8mhz -- ja was soll das eigentlich sein?

von Stefan Salewski (Gast)


Lesenswert?

>Aber was auffällt: Pin 31 ist jetzt unbelegt,

Das war wohl mein Fehler -- Dein Schaltplan ist so breit, dass er von 
meinem Browser herunterskaliert wird, daher sah es auf den ersten Blick 
so aus, dass Pin 31 unbelegt ist (dünne Linien verschwinden!).

Beim genaueren Hinsehen scheint aber doch alles OK zu sein.
Meine Vermutung wäre, das kein Bootloader drauf ist.
Es hatten sich schon einige Leute den Bootloader überschrieben und sich 
dann gewundert, dass sich bezüglich USB nichts tut.

Aber ich würde in Deiner Stelle wirklich die Olimex-Boards in Erwägung 
ziehen, siehe dazu auch

Beitrag "AT90USB162 wie ATMEGA programmierbar?"

von S. M. (smatlok)


Lesenswert?

Es geeeht, wahnsinn, es GEEEEEHHHT!!!, das ding machts, ich brech ab :-)


Also erstmal vielen Dank für die Hilfe -- der Tipp mit den Fuses auf 
ext. Quarz war richtig.

Der zweite Fehler war:
Ich hab bei dem neuen Board mit Quarz den AVCC Pin falsch geroutet 
(nachträglich im SP geändert aber nicht auf dem layout!) ich pfeife! Ich 
habs gemerkt, nachdem ich gerade die VCC auf komplett 5V umstellen 
wollte paddel

Notiz an mich: Einfach IMMER nen DRC drüberlaufen lassen.

Achja, der ISP läuft nach wie vor nicht, aber das ist jetz erstmal nich 
so schlimm, mit FLIP kann ich ja was neues draufziehen. Egal.

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.