Forum: Mikrocontroller und Digitale Elektronik Richtige Taktfrequenz bestimmen


von Unlucky2012 (Gast)


Lesenswert?

Hi,

leider konnte ich weder einen Artikel im Wiki noch einen Beitrag im 
Forum finden, der meine Frage(n) beantwortet. Ich bin mir sicher, dass 
es zumindest im Forum entsprechende Beiträge geben muss, nur mit dem 
Stichwort "Taktfrequenz" findet man natürlich recht viel ;).

Und zwar geht es um die Frage, wie ich die richtige Taktfrequenz 
"bestimme". Zumindest ich habe den Eindruck, dass bei vielen Projekten 
der Takt der Mikrocontroller unnötig hoch gewählt wird (oft 16 MHz), 
obwohl das (deutlich) mehr Strom braucht. Dies scheinen viele zu 
verdrängen ;).

Ich würde lieber nach dem Motto "So langsam wie möglich, so schnell wie 
nötig" vorgehen.

Klar kann man durch Trial & Error gucken, ob es noch "schnell" genug 
ist, aber ich würde das ganz gerne im Vorfeld einschränken können. 
Sofern man schon etwas programmiert hat, könnte man vermutlich auch die 
Anzahl der benötigten Takte ausrechnen / überschlagen und dann auf eine 
Mindesttaktfrequenz schließen. So ganz gefallen mir diese Lösungen aber 
nicht, ich würde das ganz gerne schon im Vorfeld wissen oder aber 
zumindest recht genau einschränken können.

Daher wüsste ich gerne wie ihr (und ich bezeichne euch jetzt einfach mal 
als Profis ;)) dabei vorgeht bzw. was es da für Hilfestellungen gibt.

Mit freundlichen Grüßen,

von H.Joachim S. (crazyhorse)


Lesenswert?

Auf die Idee wird wohl ohne Not keiner kommen, die Taktfrequenz so 
niedrig wie möglich zu legen.

Es spielt stromverbrauchsmässig kaum eine Rolle, ob ich mit 16MHz 
Volldampf fahre und dann die Hälfte der Zeit im sleep-Modus verbringe 
oder mit 8MHz bei nahezu 100% Auslastung fahre.
Aber mit der 16MHz-Variante hat man die Möglichkeit, die sleep-Zeit zu 
verkürzen, falls man doch mehr Rechenleistung braucht.
Ich habe ein paar Standardquarze, damit kommt man im Normalfall aus, 
Ausnahmen gibts - aber nicht wegen möglichst kleiner Taktfrequenz.

Ansonsten nennt sich das Erfahrung - im Vorfeld abschätzen zu können, 
was man braucht.

von spess53 (Gast)


Lesenswert?

Hi

>Zumindest ich habe den Eindruck, dass bei vielen Projekten
>der Takt der Mikrocontroller unnötig hoch gewählt wird (oft 16 MHz),
>obwohl das (deutlich) mehr Strom braucht. Dies scheinen viele zu
>verdrängen ;).

Ob das wirklich deutlich mehr ist hängt vom Gesamtsystem ab. Du darfst 
nicht nur den Controller sehen. Bei einer Anwendung die ein paar 100mA 
oder mehr braucht gibt es nichts zu verdrängen.

MfG Spess

von Bernd (Gast)


Lesenswert?

Man KÖNNTE nicht - wenn es sehr zeitkritisch ist,
MUSS man schauen ob (häufige) Interrupts zu lang
dauern, sogar, ob ein weiterer IRQ aufgehalten wird,
usw usf.
Wenn aber gleich auf Schnelligkeit programmiert wird,
kann man oft auch die Taktrate verringern.

Aber ums Rechnen kommt man nicht rum.

von jb (Gast)


Lesenswert?

hallo
ich habe mal eine frage zu ISP Taktfrequrnz bei AVR Dragon. wenn ich den 
AVR Dragon mit Atmel Studio 6 verbinden und die ISP Taktfrequenz 
einstelle, steht dann da, man soll die Taktfrequenz 1/4 nieder stellen 
als die vom Ziel-Board. Warum?

gruß
jb

von spess53 (Gast)


Lesenswert?

Hi

>steht dann da, man soll die Taktfrequenz 1/4 nieder stellen
>als die vom Ziel-Board.

Dort steht, das die ISP-Frequenz kleiner als 1/4 der Taktfrequenz sein 
muss.

>Warum?

Bei der ISP-Programmierung ist der Controller ein SPI-Slave. Und da gibt 
es diese Begrenzung (Datenblatt):

In SPI Slave mode, the control logic will sample the incoming signal of 
the SCK pin. To ensure
correct sampling of the clock signal, the minimum low and high periods 
should be:
Low periods: Longer than 2 CPU clock cycles.
High periods: Longer than 2 CPU clock cycles.

MfG Spess

von jb (Gast)


Lesenswert?

>Dort steht, das die ISP-Frequenz kleiner als 1/4 der Taktfrequenz sein
>muss.

als die vom Board oder?


gruß jb

von spess53 (Gast)


Lesenswert?

Hi

>als die vom Board oder?

Kleiner als die Taktfrequenz des Controllers. Im Datenblatt CPU Clock – 
CLKcpu genannt.

MfG Spess

von jb (Gast)


Lesenswert?

ach so...habe ich dann zwei taktfrequenzen? einmal vom Board selbst da 
steht 7,3728 und vom Controller atmega128?

gruß
jb

p.s. spess53 wollte mich noch für die hilfe bedanken. habe es geschafft 
das board in C zu schreiben.

von Karl H. (kbuchegg)


Lesenswert?

Welches Board?

Im Regelfall ist die Frequenz des Taktes auf dem Board auf die Frequenz 
mit der der Mega getaktet wird.

Zum Thema ISP:
Stell es dir vereinfacht so vor. Wenn dein ISP Progammer den Flash 
programmiert, dann wird ja der Hauptprozessor im Reset gehalten. 
Arbeitet also nicht. Aber irgendwas muss arbeiten, iregdwas muss die ISP 
Befehle annehmen und umsetzen.
Da gibt es also einen kleinen µC-Kern, der neben der Haupt-CPU sitzt und 
dann zum Zug kommt, wenn der µC programmiert werden soll. Und der läuft 
nicht beliebeig schnell. Daher muss die ISP Frequenz kleiner sein, als 
die Taktfrequenz der Haupt-CPU. Eben 1/4.

von jb (Gast)


Angehängte Dateien:

Lesenswert?

>welches Board?
mein MR-C3024 von robobova

ok. aber woher soll ich denn jetzt wissen, welche taktfrequenz ich jetzt 
nehmen soll? das rote im kästchen doch ein quarz mit der taktfrequenz 
und dann habe ich noch vom µC.

gruß
jb

p.s. Karl Heinz Buchegger bei dir bedanke ich mich natürlich auch für 
die hilfe :)

von Werner (Gast)


Lesenswert?

jb schrieb:
> das rote im kästchen doch ein quarz mit der taktfrequenz und dann habe
> ich noch vom µC.

Versuch mal, dein Problem in ganze Sätze zu fassen.

von jb (Gast)


Lesenswert?

>> das rote im kästchen doch ein quarz mit der taktfrequenz und dann habe
>> ich noch vom µC.

>Versuch mal, dein Problem in ganze Sätze zu fassen.


Ich habe das schon bemerkt, dass das kein anständiger Satz ist oder bist 
du hier für die Grammatik zuständig.

von Hannes L. (hannes)


Lesenswert?

jb schrieb:
>>> das rote im kästchen doch ein quarz mit der taktfrequenz und dann habe
>>> ich noch vom µC.
>
>>Versuch mal, dein Problem in ganze Sätze zu fassen.
>
>
> Ich habe das schon bemerkt, dass das kein anständiger Satz ist

Es geht nicht um die Grammatik, sondern um die Entstellung des Sinns.

Das rote im Kästchen ist ein Wippenschalter!

Das silbrige im roten Kästchen ist ein Quarz.

> oder bist du hier für die Grammatik zuständig.

Das ist der Grund, warum ich mich überhaupt gemeldet habe. Sein Hinweis 
ist berechtigt, Deine freche Antwort sicherlich nicht.

...

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.