Forum: Mikrocontroller und Digitale Elektronik Atmega Frequenz


von Marry K. (Gast)


Lesenswert?

Hallo, ich hab einen Atmega644PU20, welcher laut Datenblatt 20Mhz bringt 
(wenn ich richtig liege).
Im erstellten Makefile vom WinAVR fand ich die Zeile: F_CPU = 8000000.
Bedeutet das nun, dass der Atmega im Moment mit 8Mhz läuft und ich das 
ganze bis 20Mhz erhöhen kann? (Auswirkung: Höherer tromverbrauch)

Lieben Gruß, Marry
von Der Uhu aus der Tube (Gast)


Lesenswert?

Ja
von Stephan W. (stipo)


Lesenswert?

Marry K. schrieb:
> Bedeutet das nun, dass der Atmega im Moment mit 8Mhz läuft und ich das
>
> ganze bis 20Mhz erhöhen kann? (Auswirkung: Höherer tromverbrauch)

Der Atmega arbeitet mit der Frequenz, die in den Fuses eingestellt sind.
Die angabe im Code ist dafür da, das man dem Programm an 1 stelle den in 
den Fuses eingestellten Wert übergibt, mit der das Programm dann 
berechnungen durchführen kann.
von Cyblord -. (cyblord)


Lesenswert?

Marry K. schrieb:
> Hallo, ich hab einen Atmega644PU20, welcher laut Datenblatt 20Mhz bringt
> (wenn ich richtig liege).
> Im erstellten Makefile vom WinAVR fand ich die Zeile: F_CPU = 8000000.
> Bedeutet das nun, dass der Atmega im Moment mit 8Mhz läuft und ich das
> ganze bis 20Mhz erhöhen kann? (Auswirkung: Höherer tromverbrauch)
>
> Lieben Gruß, Marry

Nein der Takt wird durch dies Fuses und/oder durch den verwendeten Quarz 
bestimmt. F_CPU gibt lediglich deinem Programm den Takt an damit z.B. 
delays richtig funktionieren.

F_CPU muss also auf den Takt eingestellt werden mit welchem der 
Controller tatsächlich läuft.
von Marry K. (Gast)


Lesenswert?

Ok, vielen Dank! :D
Noch eine kleine letzte Frage: Ist das ganze Stufenlos einstellbar? Oder 
muss man irgendein Vielfaches von x nehmen?

:)
von early santa (Gast)


Lesenswert?

Marry K. schrieb:
> Ist das ganze Stufenlos einstellbar?
Ja. Es hängt aber davon ab, welchen Oszillator bzw. Quarz du 
letztendlich benutzten wirst.
von Marry K. (Gast)


Lesenswert?

early santa schrieb:
> Marry K. schrieb:
>> Ist das ganze Stufenlos einstellbar?
> Ja. Es hängt aber davon ab, welchen Oszillator bzw. Quarz du
> letztendlich benutzten wirst.

Danke!
Ich benutze den internen Taktgeber.
Im Datenblatt hab ich die frequenz von 20 Mhz gefunden. Ist die auch 
Standard bei den Fusebits? Ich hab bisher nichts (wissentlich) 
verstellt.
Oder muss ich das ganze auslesen oder nach anderen Werten im datenblatt 
suchen?

Finde ich schön, dass einem hier so toll geholfen wird. :)
von Hans (Gast)


Lesenswert?

Lies dir mal in Ruhe das Datenblatt zu deinem µC durch. Stichwort: 
Interner RC-Oszillator bzw. externe Taktquelle. Die 20MHz bekommst du 
nur mit externem Quarz oder Oszillator. CLKDIV Fuse beachten!
von Marry K. (Gast)


Lesenswert?

Hans schrieb:
> Lies dir mal in Ruhe das Datenblatt zu deinem µC durch. Stichwort:
> Interner RC-Oszillator bzw. externe Taktquelle. Die 20MHz bekommst du
> nur mit externem Quarz oder Oszillator. CLKDIV Fuse beachten!

Im Datenblatt hab ich nun folgendes gefunden:
"By default, the Internal RC Oscillator provides an approximate 8 MHz 
clock."

Also ist die Einstellung im Makefile schon korrekt und wenn ich eine 
viel höhere Taktrate bis 20MHz haben will, brauche ich einen externen 
Quarz, ja?

Lieben Gruß! :)
von spess53 (Gast)


Lesenswert?

Hi

>Im Datenblatt hab ich nun folgendes gefunden:
>"By default, the Internal RC Oscillator provides an approximate 8 MHz
>clock."

Da steht auch irgendwo, das die Fuse CKDIV8 gesetzt ist. Heisst 1 MHz.

MfG Spess
von Hans (Gast)


Lesenswert?

Korrekt!
Es gibt hier auch einige Tutorials, die du dazu lesen könntest. Das 
erleichtert den Einstieg :-).
von Stephan W. (stipo)


Lesenswert?

spess53 schrieb:
> Hi
>
>>Im Datenblatt hab ich nun folgendes gefunden:
>>"By default, the Internal RC Oscillator provides an approximate 8 MHz
>>clock."
>
> Da steht auch irgendwo, das die Fuse CKDIV8 gesetzt ist. Heisst 1 MHz.
>
> MfG Spess

Hab noch nicht so viele Datenblätter angelesen. Kann man davon ausgehen, 
das die Atmega-Reihe per default immer mit 1Mhz ausgeliefert wird?
von Cyblord -. (cyblord)


Lesenswert?

Stephan W. schrieb:
> spess53 schrieb:
>> Hi
>>
>>>Im Datenblatt hab ich nun folgendes gefunden:
>>>"By default, the Internal RC Oscillator provides an approximate 8 MHz
>>>clock."
>>
>> Da steht auch irgendwo, das die Fuse CKDIV8 gesetzt ist. Heisst 1 MHz.
>>
>> MfG Spess
>
> Hab noch nicht so viele Datenblätter angelesen. Kann man davon ausgehen,
> das die Atmega-Reihe per default immer mit 1Mhz ausgeliefert wird?

Nein, man liest das Datenblatt des Controllers welchen man verwendet und 
verlässt sich nicht auf irgendwelche Vermutungen. Wahrscheinlich sehen 
die Default Einstellungen der Fuses bei allen Atmegas gleich aus, aber 
solange das nicht Schwarz auf Weiß irgendwo so steht, würd ich es nicht 
einfach annehmen. Du musst sowieso das Datenblatt lesen wenn du einen 
Controller verwenden willst. Wozu also vermuten?

gruß cyblord
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.