Forum: Mikrocontroller und Digitale Elektronik AVR minimale Taktfrequenz


von Florian Gutmann (Gast)


Lesenswert?

Hat jemand Erfahrung mit "untertakteten" AVRs? Ab welchen Frequenzen
treten Probleme auf?

von Klauz (Gast)


Lesenswert?

Was soll das bringen????

von Jan M. (mueschel)


Lesenswert?

@Florian: Theoretisch lassen sich die Atmega / Attiny beliebig langsam
takten. Der Daten sind komplett in SRAM, müssen also nicht aufgefrischt
werden und bleiben erhalten, so lange die Versorgungsspannung anliegt.
Zur Orientierung: Einige Modelle haben einen internen prescaler, der
sie ohne externe Beschaltung mit 128kHz laufen lässt.

@Klausz: Strom sparen. Man müsste jedoch durchrechnen, ob es vielleicht
sinnvoller ist, schnell zu rechnen und zwischendurch einen der
sleep-modes zu nutzen.

von Bernhard (Gast)


Lesenswert?

Also einen PIC18F252 habe ich schon mit 50Hz getaktet. Das sollte
natürlich nichts bringen, hat aber einwandfrei geklappt.

von Sebastian Hoffmann (Gast)


Lesenswert?

also beim Z8encore gibt es eine untere grenzfrequenz, weil sonst die
intere getaktete spannungsregelung eine zu geringen frequenz bekommt
und das ganze zum bauteiltot führen wird, die liegt soviel ich weiss
bei ca 500KHz

von peter dannegger (Gast)


Lesenswert?

Untertakten bedeutet ja, unter die minimale Angabe im Datenblatt zu
gehen.

Und das ist beim AVR nicht möglich, denn kleiner als 0Hz geht nicht.

Da also das Untertakten rein physikalisch nicht möglich ist, hat auch
keiner Erfahrung damit.


Peter

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Taktgenerator für extremstes Untertakten:

"the big bang: the ultimate hero of low frequency"
(yello: solar driftwood)

von KoF (Gast)


Lesenswert?

also bei mir in der firma hat man ne ganze zeit mpc`s im testfeld
geschrottet, weil man "einen tackt" von hand erzeugt hat. das haben
die nicht überlebt! aber ein avr ist ja bei weitem nicht so komplex wie
ein mpc mit powerpc-architektur ;-) schön möglich das das dort
vielleicht gehen mag ;-)

von Hauke Sattler (Gast)


Lesenswert?

Es gibt sehr wohl Prozessoren die eine minimale Taktfrequenz haben. Dies
sind oft alte oder hochgetaktete Typen. Das liegt glaube ich daran das
die die Logicgatter dynamisch statt statisch aufgebaut sind.
Dadurch kann man sich die langasameren P-Kanal Transistoren sparen.

Die AVRs sind jedoch statische Typen. Dot kann ein Beliebig kleiner
Takt verwendet werden. Wichtig ist nur das dieser Takt KONSTANT ist.
Also würde Handgetaktet oder Hamsterrad betrieben nicht gehen, da sich
dann die Taktzyklen zu sehr voneinander unterscheiden.

bis dann
Hauke

von Laeubi (Gast)


Lesenswert?

Ich warte shcon auf den Thread "Wieviel Mhz schafft nen
durschnittlicher Hamster" :D

von Rahul (Gast)


Lesenswert?

Den Thread (mit etwa der gleichen Überschrift) hatten wir schon...
Bei AVR steht das in der Regel auf der ersten Seite des Datenblattes.

von Mark H. (haemi)


Lesenswert?

Mit diesem Thema habe ich kürzlich unangenehme Erfahrungen machen
müssen. Habe einen ATmega48 für eine KFZ-Anwendung (also Ziel: Strom
sparen) mit 128kHz getaktet (per Fuses). Das Ergebnis war, daß ich mich
damit für das ISP erstmal ausgesperrt habe. Erst "uisp" war per
Argument in der Lage, den STK200-Klon langsam genug zu takten, so daß
der AVR auch mitkam. Fuses konnte ich damit zurückstellen, Programmcode
in den Flash laden konnte ich so leider nicht (immer Verify-Error) -
sonst wär das Problem damit ja aus der Welt gewesen.

Nun gut, ich habe die Fuses dann wieder auf 1MHz gestellt und den
Prescaler per Firmware am Programmstart gesetzt. Das Problem blieb aber
bestehen. Einmal gesetzt, schwingt der RC-Kreis im AVR scheinbar mit
konfigurierter Frequenz, egal ob /RESET aktiv ist oder nicht. Wie es
sich verhielt, wenn ich bereits vor der Spannungsversorgung /RESET fest
auf low gelegt habe (so daß die Firmware den Prescaler gar nicht erst
einstellen kann), habe ich leider vergessen. :|

Hat jemand Erfahrungen und Tips, wie man einen AVR mit 128kHz betreiben
und trotzdem per ISP (STK200, z.B.) programmieren kann, am liebsten mit
avrdude? Danke im Voraus!

Mark

von Uwe (Gast)


Lesenswert?

Hi!
<Hat jemand Erfahrungen und Tips, wie man einen AVR mit 128kHz
<betreiben und trotzdem per ISP (STK200, z.B.) programmieren kann, am
<liebsten mit avrdude? Danke im Voraus!
So ganz einfach wird das wohl nicht gehen, aber könnte man nicht auf
externen Takt gehen und einen umschaltbaren "Oszilator" einsetzen der
bei Reset auf 1MHz umschaltet?

MFG Uwe

von Mark H. (haemi)


Lesenswert?

Hm, weiß nicht. Würde es lieber ohne externe Bauteile hinkriegen.
Statt externem RC-Schwinger könntest Du genauso gut der Firmware per
Pin sagen, daß Du jetzt einen Programmiervorgang starten möchtest, so
daß sie den Prescaler entsprechend setzt bzw. auf Standard (1MHz)
beläßt. Quasi Bootloader für ganz Arme. ;)

Ein guter Tip, welche Programmersoftware man wie langsam genug
"sprechen" läßt, wäre schon toll. Die paar Sekunden, die das
"Flashen" länger dauert, sind ja kein Beinbruch.
Uisp kann man durch Erhöhen der SCK-Periodendauer immerhin dazu
bewegen, den Chip korrekt zu erkennen und die Fuses zu schreiben. Wie
gesagt, Flash schreiben bzw. verifizieren schlägt fehl. PonyProg konnte
ich leider nicht testen, weil meine libc-Version nicht paßte. ;(
PonyProg hat sich sonst bei Schreibproblemen sehr gut bewährt (auch
wenn ich die Kommandozeilentools wie avrdude und uisp bevorzuge wegen
"make install"-Fähigkeit).

Mark

von Simon K. (simon) Benutzerseite


Lesenswert?

Wieso sollte das nicht gehen? Genauso wie man den AVR beliebig langsam
takten kann, sollte man auch das Programmierinterface beliebig langsam
takten können. Wenn avrdude das nicht unterstützt, musst du dich mal
woanders umsehen.

von Laeubi (Gast)


Lesenswert?

TwinAvr kann das... minimale Programmier Frequenz: 1hz
... dann dauerts aber wirklich arg lange ;)

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.