Forum: Mikrocontroller und Digitale Elektronik ATmega1284p mit 24MHz übertakten


von Bernhard S. (bernhard)


Lesenswert?

Hallo,

kann es vielleicht sein, daß ein ATmega1284p (20MHz) sich nicht mit 
24MHz übertakten lässt (20% mehr)?

Bei einem 22MHz Quarz lief die Schaltung ohne Probleme, die Timer 
(CTC-Modus) arbeiten einwandfrei, aber bei 24MHz stimmte nichts mehr.


Bernhard

von Oliver S. (oliverso)


Lesenswert?

Bernhard S. schrieb:
> aber bei 24MHz stimmte nichts mehr.


Jetzt mal ganz ehrlich: egal, ob jetzt jemand mit ja oder nein oder 42 
antwortet, erwartest du, daß danach dein Prozessor sich anders verhält?

Oliver

von Philipp K. (philipp_k59)


Lesenswert?

Wieso will man überhaupt eine Übertaktung riskieren wenn dann die 
funktionsfähigkeit bei kleineren unstimmigkeiten sowieso nicht mehr 
garantiert ist..

von foo (Gast)


Lesenswert?

Bernhard S. schrieb:
> kann es vielleicht sein, daß ein ATmega1284p (20MHz) sich nicht mit
> 24MHz übertakten lässt (20% mehr)?

Du hast es doch experimentell bestätigt, dass das sein kann. Also: Ja

von Rado (Gast)


Lesenswert?

Nach meiner Erfahrung lassen sich Atmegas mit externem Quarz schlecht 
übertakten.

Übertaktung benötigt in jedem Fall eine erhöhte Versorgungsspannung 
(grob gesagt >5,5V).
Je nachdem, wie warm der µC dann im Betrieb wird, sollte man ihm einen 
kleinen Kühlkörper spendieren.

Wenn dein Atmega mit 6,5V Betriebsspannung und 24-MHz-Quarz nicht 
anschwingt, erst mal anderes Quarz und/oder andere Cs am Quarz 
probieren.

Wenn das nichts bringt, einen externen Quarzoszillator verwenden.

Übertaktete Atmegas würde ich in jedem Fall nur bei ungefährlichen 
Bastelexperimenten einsetzen, auf keinen Fall für eine Serienproduktion.

von m.n. (Gast)


Lesenswert?

Bernhard S. schrieb:
> kann es vielleicht sein, daß ein ATmega1284p (20MHz) sich nicht mit
> 24MHz übertakten lässt (20% mehr)?

Wie, er will nicht? Das ist ja eigenartig.
Ein richtiger Profi betreibt ihn mit 5,9 V; dann muß das doch irgendwie 
klappen ;-)

von Joachim B. (jar)


Lesenswert?

Bernhard S. schrieb:
> kann es vielleicht sein, daß ein ATmega1284p (20MHz) sich nicht mit
> 24MHz übertakten lässt (20% mehr)?

JA klar kann es sein, warum auch nicht wenn er nur bis 20MHz 
spezifiziert ist, passende Spannung mal vorausgesetzt.

Bernhard S. schrieb:
> Bei einem 22MHz Quarz lief die Schaltung ohne Probleme, die Timer
> (CTC-Modus) arbeiten einwandfrei

soweit du wissen kannst, ich gehe mal davon aus das du das Teil weder im 
Klimaschrank hattest noch die genaueste VCC gemessen hast.

Mal ehrlich kannst du die benötigten +20% wenn überhaupt nicht in deiner 
Software finden?
Da liegt doch das meiste Optimierungspotenzial.

von Bernhard S. (bernhard)


Lesenswert?

@Rado (Gast)

>Nach meiner Erfahrung lassen sich Atmegas mit externem Quarz schlecht
>übertakten.
>.... einen externen Quarzoszillator verwenden.

Dieser Tipp erwies sich als sehr wertvoll, bei einem ext. 
24MHz-Oszillator funtionierte der µC sofort, danke.

Verwendet hatte ich vorher Quarze vom Typ 20HC18, 22HC18 und 24HC18.

Wobei ich bei den 24HC18 -Typen auch die Kapazitäten änderte... ohne 
Erfolg, die Frequenzen lagen irgendwo bei 12MHz.


Ich vermute, die Ursache liegt bei den Quarzen, der Quarzbeschaltung 
oder sogar an der µC-internen Oszillatorschaltung ?


>Übertaktung benötigt in jedem Fall eine erhöhte Versorgungsspannung

Guter Tipp, ich probier es mal aus.


@Joachim B

>Mal ehrlich kannst du die benötigten +20% wenn überhaupt nicht in deiner
>Software finden? Da liegt doch das meiste Optimierungspotenzial.

Es handelt sich um dieses Projekt:

Beitrag "VGA 640x480 60Hz (164x120) RGB Vollgrafic ATmega1284p Assembler"

Der Pixeltakt soll erhöht werden, momentan verwende ich dieses Prinzip:

1
LD temp,Y+      ; aus SRAM laden (2 Pixel)
2
out PORTB,temp  ; linkes PIXEL ausgeben (unteres Nibble)
3
SWAP temp       ; Bit-Umkehr
4
nop             ; Pause 
5
out PORTB,temp ; rechtes PIXEL ausgeben (oberes Nibble)

Vielleicht seht Ihr Optimierungspotential?




Bernhard

: Bearbeitet durch User
von m.n. (Gast)


Lesenswert?

Bernhard S. schrieb:
> Ich vermute, die Ursache liegt bei den Quarzen, der Quarzbeschaltung
> oder sogar an der µC-internen Oszillatorschaltung ?

Du hattest die CKOPT auch auf 'full swing' gesetzt? Das ist schon für 20 
MHz notwendig.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Bernhard S. schrieb:
> Vielleicht seht Ihr Optimierungspotential?

Xmega mit 32 MHz benutzen?  (Oder ganz andere Controllerfamilie,
aber dann ist das Umschreiben natürlich noch mehr Arbeit.)

Selbst, wenn dein Oszillator jetzt „tickt“, woher willst du wissen,
dass er auch bei den angedrohten 35 °C im Schatten am nächsten
Wochenende das wirklich noch schafft?  Die Gatterlogik ist an sich
nicht das Problem, aber irgendwann wird dir einfach der Flash
aussteigen, denn der bildet typischerweise das Nadelöhr.

: Bearbeitet durch Moderator
von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

@m.n. (Gast)


>Du hattest die CKOPT auch auf 'full swing' gesetzt? Das ist schon für 20
>MHz notwendig.

ja, so sind die Fuses eingestellt, s. Bilder


@Jörg Wunsch

>Xmega mit 32 MHz benutzen?

ja, das wäre eine Alternative


>....aber irgendwann wird dir einfach der Flash
> aussteigen, denn der bildet typischerweise das Nadelöhr.

Wäre der Flash durch eine Übertaktung in Gefahr?

von Max D. (max_d)


Lesenswert?

Das erste was bei den AVR aussteigt ist (wie der to ja auch schon 
gemerkt hat) der Ozillator. Wenn man einen externen Takt spendiert, dann 
geht da noch ein gutes Stück bevor was schief läuft. Grade wenn man 
nicht bei 4,5V unten rum eiert und die spezifizierten 85° nicht 
ausreizt.

Ich hab vor einiger Zeit eine Seite gesehen da hat jemand mit nem 
arduino overclocking tests gefahren. Der konnte (mit 8V Vcc und 
Raumtemperatur) auf ~ 32 MHz (aus ner externen Quelle) hoch bevor der 
ardu nichtmehr wollte. Dasselbe unter LN2 (-169°) ging dann bis 65 MHz.

Die 24 MHz sind also schon in dem "normal möglichen" (aber natürlich von 
atmel nicht zugesicherten) Rahmen.

von Joachim B. (jar)


Lesenswert?

Bernhard S. schrieb:
> @Joachim B
>
>>Mal ehrlich kannst du die benötigten +20% wenn überhaupt nicht in deiner
>>Software finden? Da liegt doch das meiste Optimierungspotenzial.
>
> Es handelt sich um dieses Projekt:

wow, das wusste ich nicht, schönes Projekt.

zu Assemblerfragen +Optimierung kann ich aber nix sagen (ich komme ja 
kaum in C klar damit), da wäre PeDa der richtige Ansprechpartner.

Für meinen Kram habe ich absolut ausreichende 16-20 MHz am 1284p, bei 
mir klemmt die Optimierung in Software.

von S. Landolt (Gast)


Lesenswert?

Es handelte sich um einen Grundtonquarz?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Bernhard S. schrieb:
>> ....aber irgendwann wird dir einfach der Flash
>> aussteigen, denn der bildet typischerweise das Nadelöhr.
>
> Wäre der Flash durch eine Übertaktung in Gefahr?

Nö, du liest nur Grütze aus.

von Jan H. (jan_m_h)


Lesenswert?

Jörg W. schrieb:
> Nö, du liest nur Grütze aus.

Muss wirklich lustig aussehen, was der µC dann so fabriziert.

von matrixstorm (Gast)


Lesenswert?

ATmega1284p ist sehr empfindlich was das uebertakten angeht. Es kann gut 
sein, das er bei 24MHz keinen Code mehr ausfuehrt. Zumindest ist dies 
genau das, was er auch bei noch größeren Takten macht. (26 MHz)
Die pico-power scheint ein nicht unwesentlicher Grund der beschränkten 
Uebertaktbarkeit zu sein.
Wenn moeglich probiere es mit ATMEGA644 ohne P.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

matrixstorm schrieb:
> Die pico-power scheint ein nicht unwesentlicher Grund der beschränkten
> Uebertaktbarkeit zu sein.

Davon ist nicht auszugehen, für die Picopower-Funktionalität sind
lediglich ein paar Dinge dazu gekommen.

Allerdings dürften ATmega1284 und 644 in der Tat sehr verschiedene
Chips sein, was man u. a. auch daran sieht, dass der '1284 zwei
16-bit-Timer hat, die anderen nur einen.

von Joachim B. (jar)


Lesenswert?

matrixstorm schrieb:
> ATmega1284p ist sehr empfindlich was das uebertakten angeht. Es kann gut
> sein, das er bei 24MHz keinen Code mehr ausfuehrt. Zumindest ist dies
> genau das, was er auch bei noch größeren Takten macht. (26 MHz)
> Die pico-power scheint ein nicht unwesentlicher Grund der beschränkten
> Uebertaktbarkeit zu sein.
> Wenn moeglich probiere es mit ATMEGA644 ohne P.

scheint ein brauchbarer Tipp zu sein (wenn der Codeplatz reicht)

ich denke noch an meine Übertaktung vom WD1772 von 8MHz auf 16MHz um HD 
3,5" statt DD Drives anzusteuern, das klappte bei mir über Jahre prima 
aber es war ja auch der WD1772-02 verbaut (neuerer Typ und vermutlich in 
kleineren Strukturen und damit übertaktbar -> Scheibenkleister lässt 
grüßen, Insider wissen es)

: Bearbeitet durch User
von Winne Z. (rugbywinne)


Lesenswert?

Übetakten von AVRs geht machmal ganz gut

Beitrag "ATMEGA32 gnadenlos übertaktet mit 40MHz"

auch mehr als 20%

von Thomas E. (thomase)


Lesenswert?

matrixstorm schrieb:
> ATmega1284p ist sehr empfindlich was das uebertakten angeht.

Der 1284 auch bei der Versorgungsspannung anspruchsvoller. Ich habe noch 
keinen AVR gehabt, der nicht bei 3,3V mit 20MHz lief. Ausser der 1284. 
Der lässt sich nicht dazu bewegen.

mfg.

von Horst M. (horst)


Lesenswert?

>ATmega1284p ist sehr empfindlich was das uebertakten angeht.
Hatte mit zwei verschiedenen Chips keine Probleme mit 30 MHz aus einem 
externen Oszillator.

von matrixstorm (Gast)


Lesenswert?

Jörg W. schrieb:
[...]
> Davon ist nicht auszugehen, für die Picopower-Funktionalität sind
> lediglich ein paar Dinge dazu gekommen.

Ich meine das mal bei EUzebox Projekt gelesen zu haben. Dort wird auch 
auf 644 gesetzt da der notwendige Takt nicht mit 1284 erreicht wird.

Horst M. schrieb
> Hatte mit zwei verschiedenen Chips keine Probleme mit 30 MHz aus einem
> externen Oszillator.

Mich interessiert wirklich wie dein aufbau aussah da ich mir gern eine 
EUzebox mit dem grosseren AVR bauen wollen wuerde. Allerdings schwingt 
bei mir der Quarz an aber nix passiert. Wenn extclock gefust messe ich 
am clockamplifyer pin ein stark verwaschenes Rechteck .

Mfg

von Thomas E. (thomase)


Lesenswert?

matrixstorm schrieb:
> Ich meine das mal bei EUzebox Projekt gelesen zu haben. Dort wird auch
> auf 644 gesetzt da der notwendige Takt nicht mit 1284 erreicht wird.

Welcher? 644ohnewas, 644P, 644A, 644PA?

644ohnewas, mit einem USART, ist der 1. aus der Baureihe. 644P gehört 
mit 164P und 324P zusammen. Die waren vor dem Die-Shrink. Den 1284 gab 
es da noch nicht.

644A gehört zum 1284 und 644PA zum 1284P. 164/324 entsprechend. Die 
kamen nach dem Die-Shrink.

Möglicherweise verhalten sich die 164/324/644(P)A genauso wie der 
1284(P). Ich habe die "Kleinen" allerdings noch nie verwendet, da es 
sich preislich gegenüber dem 1284 nicht lohnt.

mfg.

: Bearbeitet durch User
von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

matrixstorm schrieb:
> Dort wird auch auf 644 gesetzt da der notwendige Takt nicht mit 1284
> erreicht wird.

Naja, wer Bauteile jenseits der vom Hersteller zugesicherten Grenzen
betreibt, der stolpert natürlich über kurz oder lang auch über
kleinere Unterschiede in der Prozessierung oder im design flow.

Es wäre deutlich sinnvoller, dafür einfach einen Controller zu
benutzen, der von vornherein für mehr Takt ausgelegt ist, einen
Xmega, oder heutzutage eins der vielen ARM-Derivate.

von S. Landolt (Gast)


Lesenswert?

Ihn dünkt', er säh' 'nen Grundtonquarz
  mit "24" drauf,
er guckt' noch mal und merkt', der kam
  gar nicht so weit hinauf.
"Wenn der nicht sauber schwingt", sprach er,
  "dann war's kein guter Kauf."

von Bernhard S. (bernhard)


Lesenswert?

@alle

für die 22MHz 5V Quarz-Variante habe ich mich entschieden, erschien mir 
sicherer bei geringem Aufwand.

Beitrag "VGA 640x480 60Hz (164x120) RGB Vollgrafic ATmega1284p Assembler"

Bernhard

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.