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,
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.
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
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.
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
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
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.
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.
>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 :)
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.
>> 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.
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.
...