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
>Dort steht, das die ISP-Frequenz kleiner als 1/4 der Taktfrequenz sein >muss. als die vom Board oder? gruß jb
Hi
>als die vom Board oder?
Kleiner als die Taktfrequenz des Controllers. Im Datenblatt CPU Clock –
CLKcpu genannt.
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. ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.