ATMEGA328 overclocking

OP #4179969
Lesenswert?
• ▲
▼
Das hier ist ein Beitrag der Kategorie "Was passiert eigentlich wenn .."

Ich spiele hier gerade mit dem PWM Ausgang an einem ATMEGA328P-PU. Da 
kam mir die Frage in den Sinn, ob man den Chip auch übertakten kann. 
Also habe ich in meiner Quarzkiste gekramt und es einfach ausprobiert. 
20MHz ist der offizielle Maximaltakt, und der lief auch problemlos. Als 
nächstes kam ein 24MHz Quarz, auch problemlos. Dann mit 25MHz, läuft 
auch. 27MHz, erstaunlich, geht auch noch. Zuletzt habe ich noch einen 
Quarzoszillator mit 32.256MHz gefunden. Läuft jetzt seit einer halben 
Stunde, und das Ganze auf einem Stöpselbrett.

Das erste Bild zeigt den Aufbau, das zweite den PWM Ausgang an Pin 15. 
Der Joystick hängt an zwei Analogeingängen, das Display läuft über I2C. 
Alles benimmt sich einwandfrei.

Man beachte: es handelt sich hier nur um eine Spielerei. Ich finde es 
aber beruhigend zu sehen, wie viel Reserve der Chip bei 20MHz noch hat.

Gruß,
Wilhelm
Angehängte Dateien:
Gast #4179975
Lesenswert?
• ▲
▼
Wilhelm S. schrieb:
> Ich finde es
> aber beruhigend zu sehen, wie viel Reserve der Chip bei 20MHz noch hat

So stimmt das nicht ganz. Teile der CPU können vielleicht 32MHz ab, es 
ist aber gut möglich dass einzelne Komponenten den Dienst verweigern. 
Such mal hier im Forum, gibt schon mehrere Seiten zu diesem Thema...
#4180117
Lesenswert?
• ▲
▼
Ja es "geht".

Aus eigenen Erfahrungen:

Der Kern kann mit sehr hohen Taktraten arbeiten. Nur kommt irgendwann 
der Speicher nicht mehr hinterher. Das gilt nicht nur für das EEPROM, 
sondern auch für Flash und SRAM.

Sobald dies geschieht
ließt du falsche Daten,
speicherst du falsche Daten,
springst an eine falsche Stelle im Programm <- ganz lustig

oä. als Beispiel.

Wenn dein Programm jetzt "nur" den Timer setzt und laufen läßt kann das 
sogar recht gut gehen. Sobald du aber ein wenig mehr auf dem Speicher 
arbeitest könnte es vorbei sein.


Erfahrungen von einem ATmega644V mit max. 10MHz auf 18MHz ... macht 
irgendwann keinen Spaß mehr, daher erstmal 8MHz und einen µC bestellt 
ohne "V".

*Datenblätter geben wieso immer nur die Bereiche an, in welchen der 
Hersteller eine definierte Funktionsweise "garantiert".
#4180229
Lesenswert?
• ▲
▼
> Overclockingszene
Ja, da muß man den Chip an bestimmten Stellen vorsichtig aufbohren und 
laserdurchtrennte Brücken mit Silberlack wieder verbinden.
Anschließend kann man die Kernspannung auf 7V anheben und den 
Multiplikator frei wählen. Bei manchen Chips läßt sich dann auch ein 
zweiter deaktivierter Kern freischalten, aber dafür muß man auf dem 
Steckbrett erst ein OC-Bios installieren.

Nee, die Dinger ein paar MHz übertakten geht meistens problemlos. Ich 
denke das wird sich am ehesten auf die Zyklenfestigkeit der alternden 
Komponenten wie dem EEPROM auswirken, die dann eher ihre Toleranzgrenzen 
erreichen.
Gast #4180236
Lesenswert?
• ▲
▼
Vielleicht liegt es beim Eeprom ja schlicht daran, daß es zum Schreiben 
eine bestimmte absolute Zeit braucht, und diese aber per Zähler vom Takt 
abgeleitet wird. Nur halb geschrieben Bits sind dann auch nicht mehr 
"digital".
#4180245
Lesenswert?
• ▲
▼
Ich frage mich nur was das bringen soll?

Bei einem PC (halte ich aber auch nicht sonderlich viel davon) macht es 
vielleicht einen Sinn, um doch noch dieses oder jenes Spiel zum 
flüssigen Lauf zu verhelfen, aber auf einem µC, der ein festes Programm 
abarbeiten soll?
Entweder es läuft von Anfang an oder ich habe den falschen µC.

Grundsätzlich begrüße ich aber Versuche die bis an die Rauchgrenze 
gehen.
Gast #4180248
Lesenswert?
• ▲
▼
Paul B. schrieb:
> Bastler schrieb:
>> Nur halb geschrieben Bits sind dann auch nicht mehr
>> "digital".
>
> Das sind dann sog. Halbbitter. ...oder bringe ich jetzt etwas mit
> Schokolade durcheinander?
> ;-)
>
> MfG Paul

Nein, du hast schon recht! Eigendlich ist es ein Schorle von Bitburger
Gast #4180274
Lesenswert?
• ▲
▼
Woher kommt eigentlich diese These mit dem EEPROM? Wenn ich ins 
Datenblatt schaue, unter '9.1 Clock Systems and their Distribution' oder 
auch '9.12.1 OSCCAL – Oscillator Calibration Register', dann lese ich, 
dass der Takt für das EEPROM vom internen RC-Oszillator kommt.
Gast #4180334
Lesenswert?
• ▲
▼
Hi

>Woher kommt eigentlich diese These mit dem EEPROM? Wenn ich ins
>Datenblatt schaue, unter '9.1 Clock Systems and their Distribution' ...

Da wird EEPROM und Flash von clkFLASH oder Calibrated RC Oscillator 
versorgt

>... oder auch '9.12.1 OSCCAL – Oscillator Calibration Register', dann lese >ich, 
dass der Takt für das EEPROM vom internen RC-Oszillator kommt.

Dann wären im Extremfall drei getrennte Oszillatoren (RC-Oszillator, 
Watchdog und Crystal Oszillator) gleichzeitig aktiv. Unwahrscheinlich.

MfG Spess
#4180346
Lesenswert?
• ▲
▼
S. Landolt schrieb:
> 9.12.1 OSCCAL – Oscillator Calibration Register', dann lese ich,
> dass der Takt für das EEPROM vom internen RC-Oszillator kommt.

Das tut er ja auch. Sonst gäbe es mit dem OSCCAL ja nichts zu 
kalibrieren. Aber eben nur solange der RC auch CPU-Takt ist.

EEPROM RW läuft synchron zum CPU-Takt.

>> 8.4.1 EEPROM Read/Write Access
>> ...
>> When the EEPROM is read, the CPU is halted for four clock cycles before
>> the next instruction is executed. When the EEPROM is written, the CPU is
>> halted for two clock cycles before the next instruction is executed.

Das liesse sich asynchron gar nicht erfüllen bzw. würde es Sinn machen.

mfg.
Gast #4180700
Lesenswert?
• ▲
▼
F. F. schrieb:
> Ich frage mich nur was das bringen soll?

Ich habe z.B. einen OCXO mit 26 MHz. Teile ich die vorher auf 13 MHz, so 
liege ich im erlaubten Bereich. Aber dann läuft Alles nur noch halb so 
schön/schnell ;-)
Oder man braucht für eine spezielle Baudrate einen Takt von 22,1184 MHz.
Warum nicht? Angsthasen laufen immer nur weg!

Die Profis hier wechseln natürlich auf ATXmega oder doch besser gleich 
auf STM32F7xx.
Gast #4180817
Lesenswert?
• ▲
▼
wunnebar schrieb:
> m.n. schrieb:
>> Das ist ja gut. Aber hast Du auch für mein 26 MHz Problem eine elegante
>> Lösung?
>
> Ist dein Problem. Aber als erstes würde ich einen Murks, wenn schon
> eingebaut, nicht als Lösung propagieren.

Ja, es ist mein Problem und es ist meine Lösung. Und auch, wenn Du mir 
mit Weltuntergang und Hölle drohst - sie funktioniert.
Das ist auch gut, weil von Dir ja keine Lösung geboten wird ;-)
Gast #4180989
Lesenswert?
• ▲
▼
m.n. schrieb:
> Ja, es ist mein Problem und es ist meine Lösung. Und auch, wenn Du mir
> mit Weltuntergang und Hölle drohst - sie funktioniert.
> Das ist auch gut, weil von Dir ja keine Lösung geboten wird ;-)

Jawoll, und ich stampf für dich auch mit dem Fuß ganz fest auf.
#4180997
Lesenswert?
• ▲
▼
m.n. schrieb:
> Oder man braucht für eine spezielle Baudrate einen Takt von 22,1184 MHz.

Das wäre der erste Ansatz auf meine Frage was das bringen soll.

m.n. schrieb:
> Warum nicht? Angsthasen laufen immer nur weg!

Das sehe ich grundsätzlich genauso.
Gerade im Anfang bin ich oft bis an die "Qualmgrenze" gegangen, um zu 
sehen was geht und was nicht.
Nur ein Beispiel: Es war wieder einmal die Diskussion um den 
Vorwiderstand für die Leds. Ein Modelbauer wollte wohl so wenig wie 
möglich Bauteile verwenden. Ich habe, nachdem die ganzen "Bloß nicht, 
die Welt geht unter - Rufe" kamen, das genau in der gewünschten Form 
aufgebaut und getestet. Zunächst war nach ca. eineinhalb Tagen Schluss 
und ich dachte, na, da haben sie doch recht gehabt. Aber es war nur ein 
Wackler auf dem Steckbrett.
Nach über eine Woche lief das alles immer noch störungsfrei und das 24 
Stunden am Tag. Weder der Controller noch die Led waren kaputt gegangen.
Danach wussten alle natürlich "dass das in diesem speziellem Fall" gar 
kein Problem sei.
Hier sind wirklich einige tolle Leute am Start und die schätze ich auch, 
aber auch eine Menge Schwätzer. Sieht man immer bei manchen trivialen 
Schaltungen, wie sie dann fast tagelang sich gegenseitig den größten 
Mist schreiben. Dabei kann man das mit einem Klick im Internet glasklar 
nachlesen oder ein Blick in den T&S sagt es dann genau.
Gast #4181155
Lesenswert?
• ▲
▼
F. F. schrieb:
> Nur ein Beispiel: Es war wieder einmal die Diskussion um den
> Vorwiderstand für die Leds.

Bekanntes Thema!
Ich habe hier wiederholt die widerstandslose Ansteuerung von LEDs 
mittels CD4094 propagiert, was problemslos ist, da die schlappen 
Ausgangstreiber dank ihrer Kennlinie einen recht niedrigen, konstanten 
Strom liefern. Bei 5 V und acht aktiven Ausgängen kann garkeine Überlast 
passieren.
Aber nein, angeblich soll die Helligkeit aller Segmente voneinander 
abweichen und ebenfalls die Welt untergehen. Beides trifft nicht zu!

Was nicht sein darf, kann nicht sein ;-)
Gast #4181173
Lesenswert?
• ▲
▼
> Was nicht sein darf, kann nicht sein ;-)

Dieses möchte ich, da die ungewohnte Hitze nichts anderes zulässt und 
der Thread ohnehin ins Abseits driftet, ergänzend umformulieren, genauer 
KLEN zitieren:

Palmström, reifer schon an Wissen,
lösend Programmierprobleme
wird von dem Betriebssysteme
'rausgeschmissen.

"Wie war" (spricht er, sich genierend,
sein Programm reaktivierend)
"möglich dieser Interrupt
immer hat's doch sonst geklappt?

Ist's die Sprache, der Compiler,
uns'rer Syntax eh'rner Pfeiler.
Ward' das operating syst-
em geändert? Oder ist

es den Standardsubroutinen
nicht erlaubt mehr, uns zu dienen
rekursiv, - ganz kurz und stur:
lags an der Programmstruktur -?"

Sitzend an dem Terminale
prüft er Bücher, Manuale ...,
bald schon weiß er was er glaubt':
Der Befehl war dort erlaubt!

Und er kommt zu dem Ergebnis:
"Nur ein Traum war das Erlebnis.
Weil", so schließt er messerscharf,
"nicht sein kann, was nicht sein darf."


Und wer mag, schlage, z.B. unter Projekt Gutenberg-DE, das Original von 
Morgenstern 'Die unmögliche Tatsache' nach.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren