Hallo Wo stellt man eigentlich den CPU-Takt ein? (ich benutze ATmegaxxx und als IDE WinAVR) Im Makefile, so habe ich gelernt, trägt man den Takt zwar ein, aber der tatsächliche Takt in der CPU wird dadurch keineswegs beeinflußt. Im avrdude-Abschnitt vom Makefile kann ich aus den avrdude-flags aber auch nicht erkennen, daß die CPU-Frequenz eingestellt wird. Wenn man dagegen das Programm via AVR-Studio-4 in den µP überträgt, kann man wenigstens mit SUT_CKSEL einstellen, ob der interne Takt oder der ext crystal osz verwendet werden soll. Bei den ext crystal osz. darf man doch wohl nur die Frequenz des tatsächlich vorhandenen Quarzes anwählen? Was macht dann jemand mit einem 16-MHz-Quarz? Ziemlich unklar ist mir, was die startup time xk und die nachfolgenden ms bedeuten. Gibt es irgendwlche Beschreibungen zu diesm Problem? mfg Alexander
Der CPU-Takt hängt vom verwendeten Quarz ab. Das, was du im Makefile einträgst ist die Geschwindigkeit, die beim Compilieren als Wert benutzt wird (falls benötig, z.B. für delays). Des Weiteren wird die Geschwindigkeit durch den Vorteiler bestimmt. Den kannst du in den so genannten Fusebits einstellen (hast du scheinbar schon entdeckt)
was Du schreibst, bestätigt meine Vorurteile. Mit AVRStudio kann ich also nur wählen, ob interner Takt oder externer Quarz benutzt werden soll. Und letzterer taktet so, wie er gebaut ist. Wenn man es langsamer möchte, sind dann 0,9-3, 3-8 und 8 MHZ von SUT_CKSEL die Vorteilermöglichkeiten, die Du meinst? Und was ist mit startup times und den ms?. Vermute ich richtig, daß man vor der Benutzung von avrdude / pn erstmal via AVRStudio die CPU-Frequenz passend einstellen sollte? mfg Alexander
Was willst du eigentlich für einen Controller Programmieren? Es gibt für jeden unterschiedliche Einstellungsmöglichkeiten. SUT_CKSEL klingt eher nach ext. Taktquelle (sorry, bin selbst noch Anfänger. Ich guck das sofort nach)
>Und was ist mit startup times und den ms?.
Was es damit auf sich hat findest Du auch im Datenblatt erklärt. Der
Abschnitt heißt "Clock Startup Sequence". Schon gelesen? :-)
Gastofatz schrieb: >>Und was ist mit startup times und den ms?. > > Was es damit auf sich hat findest Du auch im Datenblatt erklärt. Der > Abschnitt heißt "Clock Startup Sequence". Schon gelesen? :-) Nein, weil ich nicht wußte, wo ich was suchen sollte. Ich hjole es nach. mfg
1 | The various choices for each clocking option is given in the following sections. When the CPU |
2 | wakes up from Power-down or Power-save, the selected clock source is used to time the start- |
3 | up, ensuring stable Oscillator operation before instruction execution starts. When the CPU starts |
4 | from reset, there is as an additional delay allowing the power to reach a stable level before com- |
5 | mencing normal operation. |
(ich hoffe du kannst Englisch) Das beantwortet (hoffentlich) deine Frage nach den startup times. (umfangreiche Tabellen und viele weitere Informationen zum Setzten der Fuses findest du im jeweiligen Datenblatt deines Controllers!)
Alexander Schmeil schrieb: > Mit AVRStudio kann ich also nur wählen, ob interner Takt oder externer > Quarz benutzt werden soll. Und letzterer taktet so, wie er gebaut ist. Je nach Prozessor (den du immer noch nicht verraten hast), gibt es noch weitere Vorteiler. Manche haben nur die CKDIV8-Fuse, mit der der Takt durch 8 geteilt werden kann, unabhängig davon, was Taktquelle ist, andere haben auch andere Taktteiler. Und dann gibt es noch welche, die mehrere RC-Oszillatoren haben, die mit unterschiedlichen Frequenzen laufen. In der Appnote AVR054 gibt es eine Liste der verschiedenen Versionen von internen Oszillatoren. Du mußt dann schauen, welche dein Prozessor hat. Per Default ist es übrigens normalerweise immer so eingestellt, daß ein Takt von 1 Mhz oder die diesem nächstelegene Option anliegt. > Wenn man es langsamer möchte, sind dann 0,9-3, 3-8 und 8 MHZ von > SUT_CKSEL die Vorteilermöglichkeiten, die Du meinst? Die dienen dazu, den Prozessor an die Frequenz des Quarzes anzupassen. Du wählst die, je nachdem, in welchem dieser Bereiche dein Quarz liegt. > Und was ist mit startup times und den ms?. Das ist die Zeit, die du dem Oszillator zum Einschwingen gibst, bevor der Prozessor losläuft. > Vermute ich richtig, daß man vor der Benutzung von avrdude / pn erstmal > via AVRStudio die CPU-Frequenz passend einstellen sollte? Die kannst du auch in avrdude selbst einstellen.
dann nutz doch einfach AVR studio als oberfläche so schlecht isses nun auch wieder nicht wer sich mal nach brauchbaren tools für ARM umsieht weiß was ich meine
Rolf Magnus schrieb: > Manche haben nur die CKDIV8-Fuse, mit der der Takt > durch 8 geteilt werden kann, unabhängig davon, was Taktquelle ist, > andere haben auch andere Taktteiler. Die CPUs, die eine CKDIV8-Fuse haben, haben auch alle einen programmier- baren Taktteiler (CLKPR). Die Wirkung der CKDVI8-Fuse besteht dabei ausschließlich darin, die Reset-Vorbelegung des CLKPR von 1:1 auf 1:8 umzustellen, aber man kann das dann in jedem Falle zur Laufzeit noch ändern. Ältere AVRs haben sowas aber nicht, bei denen gab es dann auch mehrere verschiedene RC-Oszillatoren (statt nur eines einzigen, der mit 8 MHz läuft).
Rolf Magnus schrieb:
> Je nach Prozessor (den du immer noch nicht verraten hast),
Es handelt sich um einen ATmega 644
Gruß
Alexander
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.