Forum: Mikrocontroller und Digitale Elektronik Taktfuses - wo gibts im Datenblatt Auskunft


von tack tack tack (Gast)


Lesenswert?

Hallo,

habe einen ATmega 328 und möchte den Takt gerne so hoch wie möglich 
setzen weil es sich um ein sehr umfangreiches Programm handelt.

Mit den Fusecalculatoren komme ich nur auf 8 MHz.

Wo steht im Datenblatt wieviel MHz ich mit dem internen Taktgenerator 
schaffe?

von spess53 (Gast)


Lesenswert?

HI

>Wo steht im Datenblatt wieviel MHz ich mit dem internen Taktgenerator
>schaffe?

Wenn du den internen RC-Oszillator meinst, der kann per Fuses auf max. 
8MHz eingestellt werden.

MfG Spess

von gunter (Gast)


Lesenswert?

tack tack tack schrieb:
> Wo steht im Datenblatt wieviel MHz ich mit dem internen Taktgenerator
> schaffe?

9.6 Calibrated Internal RC Oscillator

von Max M. (jens2001)


Lesenswert?

tack tack tack schrieb:
> Wo steht im Datenblatt wieviel MHz ich mit dem internen Taktgenerator
> schaffe?

Seite 34.

von msx (Gast)


Lesenswert?

Mit
  CLKPR = 0x80; CLKPR = 0x0;
  OSCCAL = 255;
kommt man je nach µC auf 15 - 17 MHz.

von Pandur S. (jetztnicht)


Lesenswert?

> .. so hoch wie möglich setzen weil es sich um ein sehr umfangreiches Programm 
handelt

Die Groesse ist voellig irreleveant. Relevant ist wie lange dauern die 
Ausfuehrungen, und wie lange wartet der Controller im Minimum. Kommt er 
irgendwann zu kurz. Das waere dann unter Umstaenden auch schlechtes 
Design.

Bei mir besteht eine Applikation nach einem Init Teil aus einer 
Endlosschleife. Dort werden die Interruptflags, nicht Interrupt 
Statusbits, gepollt und etwas gemacht. Dh diese Endlosschleife ist der 
absolut einzige Punkt, wo Zeit ver-wartet wird.

Dort drin habe zB einen Pin der mir einen Impuls ausgibt. Den schau ich 
mir mit dem Oszilloskop an. Besser noch mit einem zweiten Pin, der den 
Timertick wiedergibt.

main {
 init();
 while true {
  if UARTCame==1 { UART Service & UARTCame=0 }
  if TimerTick==1 { Timer Service & TimerTick=0 & PortA.0-Puls}
  if ADCCame==1 { ADC VerarbeitungService & ADCCame=0 }
  PortA.1=1;
  PortA.1=0;
 } // while true
} // prog

Wenn dieser Puls, resp Pulse ausbleibt, fehlt Zeit.

von Oliver S. (oliverso)


Lesenswert?

msx schrieb:
> Mit
>   CLKPR = 0x80; CLKPR = 0x0;
>   OSCCAL = 255;
> kommt man je nach µC auf 15 - 17 MHz.

"If the EEPROM or Flash are written, do not calibrate to more than 
8.8MHz."

Nur so als Hinweis...

Oliver

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.