Forum: Mikrocontroller und Digitale Elektronik Mal wieder: ATMega übertakten


von Reinhard R. (reirawb)


Lesenswert?

Ich wollte keine Leichen aufwecken und habe mal einen neuen Thread 
aufgemacht.

Hier kurz mal meine Erfahrungen von gestern Abend zum Thema übertakten:

Ich habe gestern mein Testboard (Eigenentwicklung- und Bau mit Atmega 
16-16 in SMD) in Betrieb genommen und wollte mal die Taktfrequenz des 
internen RC-Generators wissen. Also kleines Programm geschrieben und 
gebrannt (Mal so aus dem Kopf wiedergegeben, ohne Gewähr).

   ;Initialisierung
   .include m16.inc
   Reset:  ldi r16,0xFF
           out DDRB,r16    ;Port B auf Ausgang
   ;Schleife 5 Prozessortakte, toggelt bei jedem Durchlauf PB0
   Loop:   inc r16         ;1 Takt
           out PortB,r16   ;1 Takt
           nop             ;1 Takt
           rjmp Loop       ;2 Takte

DSO (Frequenzzähler habe ich nicht) an Port B0 und die abgelesene 
Frequenz mit 10 multipliziert ergibt die Taktfrequenz des Prozessors, es 
waren so 8,2 MHz.

Nun habe ich da noch eine Schachtel mit Quarzen, z.T. ausgelötet und 
meist ohne sinnvolle Bezeichnung. Also die Fuses umgestellt und nach und 
nach alle unbekannten Quarze mal gesteckt und die Frequenz bestimmt. Das 
höchste war ein 32 MHz-Quarz, das oben stehende Miniprogramm wurde damit 
anstandslos abgearbeitet.
Ich habe dann noch ein kleines Programm zum Ansteuern einer LCD-Anzeige 
geladen, dieses lief mit 24 MHz noch problemlos, mit 32 MHz waren einige 
Zeichen verschoben. Wobei ich aber vermute, dass das eher mit den 
Steuerzeiten für das Display zu tun hat als mit falscher 
Befehlsabarbeitung. Das Timing ist auf 16 MHz abgestimmt. Wenn ich heute 
Abend Zeit finde, versuche ich mal das Timing zu ändern und die 32 MHz 
mit dem Display zu testen.

Das Ganze hat natürlich nur Experimentierstatus, nur mit einem Exemplar 
und auch nicht umfassend getestet. Aber die Tatsache stimmt mich 
optimistisch, dass eine moderate Übertaktung im Hobby- und 
Bastlerbereich problemlos funktionieren sollte.

Reinhard

von ligthninglord (Gast)


Lesenswert?

Ich würde dir empfehlen auch die Temperatur des M8 zu überwachen, die 
werden gerne warm wenn sie mehr Arbeiten müssen ;-). Wie sieht es mit 
der Peripherie aus, geht da noch alles oder geht gar nichts mehr, haste 
da schon ein bisschen mit rumgespielt, den meine µC machen deutlich mehr 
als nur nen LCD ansteuern, die ganzen Timer und der ADC und der USART 
und die SPI und und und sind ja auch wichtig.

von Michael U. (amiga)


Lesenswert?

Hallo,

das Thema ist ja nun alt wie die Welt. Naja, eher alt wie die 
Prozessoren. ;-)

Ein normaler Mega8 in meinem Multimeter-Prüftstift läuft auch bei 3V 
stabil mit 16MHz Quarz. Dieser eine macht es, ob es ein anderer aus 
einer anderen Charge auch macht? Keine Ahnung, ich brauchte nur den 
einen.
Zwei Mega16 aus gleicher Lieferung machten auf meinem Logicanalyzer 
keine Anstalten bei 20MHz Quarz.

Der 68040 in meinem Amiga 4000 lief damals ewig mit 30MHz stabil. Na 
gut, bei 35 Grad im schatten nicht so ganz. ;-)

Die Frage ist doch ganz einfach: ist es im konkreten Fall die einzig 
sinnvolle Lösung, es zu versuchen, kann man das privat gern probieren.

Niemand garantiert, daß es wiederholbar ist, niemand garantiert, ob es 
mit vielen oder nur sehr wenigen Exemplaren klappt, in welchen 
Spannungs- und Tempraturgrenzen es klappt, wenn jemand den Kram z.B. 
nachbaut.

Es ist einfach die Diskussion nicht wert, man kann es einfach versuchen 
oder es bleiben lassen.

Gruß aus Berlin
Michael

von bob (Gast)


Lesenswert?

Schon vor über 20 Jahren wurden z.B. Z80 Prozessoren ausgemessen um mit 
dem 4fachen des Nomimaltaktes betrieben zu werden. Offiziell verfügbar 
waren die nicht, oder wenn, dann zu Mondpreisen. Was nicht den hohen 
Anforderungen entsprach wurde dann halt für "normale" Zwecke verbaut.
Ähnlich geht das bei der heutigen Prozessorherstellung. Vom gleichen 
Wafer kommen Prozessoren mit verschiedenen Taktraten, je nachdem welche 
Prüfungen geschafft wurden. Nur ist man da weit von einer Verdopplung 
des Taktes entfernt.
In allen Fällen hilft wenn man die Kühlung aktiv verbessert.

von (prx) A. K. (prx)


Lesenswert?

Du hast kontrolliert, mit welcher Taktfrequenz der dabei wirklich 
lief? Jenseits von 20MHz sind Quarze meist Oberwellenquarze, mit 
gewissen Ausnahmen bei 24/25MHz. Und Oberwellenquarze in dem Bereich 
wackeln in normalen Oszillatoren bei ungefähr 1/3 der Nennfrequenz.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

32Mhz mit 20Mhz-AVRs habe ich auch schon erfolgreich getestet. Einsetzen 
würde ich solche 'Kanonen' allerdings nicht. Die Zuverlässigkeit kann 
ich aber bestätigen. Die Controller wurden dabei aber nicht merklich 
wärmer. Die Stromaufnahme eines Mega2560 zum Beispiel lag bei 30mA, 
EEPROM-Schreiben ging problemlos, sämtliche Peripherie lief 
ausgezeichnet.

von bob (Gast)


Lesenswert?

Nun, ich persönlich habs nicht gemacht, aber das ganze wurde durchaus in 
"Serie" eingesetzt nach entsprechender Testdauer.

von Sven P. (Gast)


Lesenswert?

Bei so Popelprozessoren wie den AVRs wirste mit der Temperatur ziemlich 
sicher keine Probleme kriegen. Vielmehr werden andere Teile der 
Peripherie schon viel früher aussteigen, vornehmlich das EEPROM. 
Irgendwann kommt dann vermutlich das Flash und dann ist sowieso Ende :-)

von Reinhard R. (reirawb)


Lesenswert?

> Du hast kontrolliert, mit welcher Taktfrequenz der dabei wirklich
> lief? Jenseits von 20MHz sind Quarze meist Oberwellenquarze, mit
> gewissen Ausnahmen bei 24/25MHz. Und Oberwellenquarze in dem Bereich
> wackeln in normalen Oszillatoren bei ungefähr 1/3 der Nennfrequenz.

Messmethode im OP beschrieben, am Pin B0 3,2 MHz gemessen. Um das mit 
dem geposteten Programm zu erreichen muß der Takt 32 MHz betragen.
Weitere Pheripherie -speziell ADC, USART, SPI- nicht getestet.

Reinhard

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.