mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Oszillator während des Betrieb wechseln (AtMega 48)


Autor: Markus Gronotte (happyhippo4u)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Kann man beim AtMega 48 während des Betriebs per Code noch ändern,
welche Clock gerade benutzt wird? Der hat ja
einen internen lowPower-RC bei 128kHz,
einen internen der zwischen 7,3 und 8,1 MHz einstellbar ist
und dann noch einen externen der bis 20MHz gehen kann.

MfG,

   Markus

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, das geht nicht. Man kann nur den Taktteiler umschalten.

Autor: Markus Gronotte (happyhippo4u)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist es auch nicht möglich die Bits zu setzen und per Reset eine andere 
Quelle zu nutzen?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Bits kann man nur per Programmiergerät ändern.

Autor: Jens P. (jmoney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich erlaube mir mal, das weiterzuspinnen. Man könnte einen Tiny 
nebendran setzen und beide SPI und RESETs miteinander entsprechend 
verschalten. Die können sich dann gegenseitig auf den entsprechenden 
Takt fusen/programmieren.

Einfacher und sicherer (und aller Wahrscheinlichkeit auch zweckmäßiger) 
ist wohl die konsequente Nutzung der diversen sleepmodi, die der AVR 
beherrscht.

Autor: irgendein Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich erlaube mir mal, das weiterzuspinnen

Da kannst du auch das Controller-Gehäuse auffräsen und die Fuses mit 
Bonddrähten an Portpins hängen...(Dass ein Chip-Reset zum Programmieren 
der Fuses notwendig ist, lasse ich mal aussen vor)

Autor: Marzipan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
..ist Rahul eigentlich ein deutscher Name!?....

Autor: irgendein Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>..ist Rahul eigentlich ein deutscher Name!?....

Ist das relevant? Dann solltest du dich lieber Rudolph nennen, wobei der 
letzte Laut freiwählbar ist...

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau Rahul, was fällt Dir überhaupt ein, so zu heißen. Laß Dich sofort 
in Daniel oder Benjamin umtaufen! Oops, sind ja auch keine deutschen 
Namen. Na, bleibt ja zum Glück der Adolf übrig, das ist doch mal ein 
herrlicher Name! ;-)

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Kompromiss wäre vielleicht ein Doppelname: Rahul-Adolf oder 
Adolf-Rahul ist doch spitze!
So, ich mach jetzt wieder was Sinnvolles. Mit euch kommt man ja nur auf 
blöde Gedanken... ;-)

Autor: irgendein Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Marzipan

Bei dem Wort fällt mir immer wieder gerne die Frage eines netten Herrn 
aus Kiel ein: "Macht Marzipan böd?"
http://www2.canes2.econnex.de/forum/viewtopic.php?t=1323

Autor: irgendein Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... blöd...

Autor: DennisDennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...verblödet man durch foren...?

das werd ich nie wieder los, was soll ich machen!?

...

Autor: Jörg B. (manos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um mal wieder zum Thema zurück zu kommen...

Meiner Meinung nach sollte eigentlich nichts dagegen sprechen, den einen 
µC über einen anderen µC umzuprogrammieren. Dies würde aber 
wahrscheinlich eine Programmunterbrechung und einen Reset des ersten 
µC's voraussetzen.

Die Frage die sich mir allerdings stellt ist, wie OFT kann ich das 
machen...

Die Daten werden ja schließlich irgendwo zwischengespeichert und da denk 
ich mal - entweder Flash oder EEPROM. Beide haben nicht unbegrenzte 
Schreibzyclen und dementsprechend sollte man m.e. eher die Lösung 
Richtung Sleep-Mode suchen (ist auch einfacher und billiger).

Autor: Jens P. (jmoney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sollte wirklich jemand auf die Idee kommen, einen Mikrocontroller durch 
einen anderen im Betrieb umprogrammieren und reseten zu lassen, bitte 
auch beachten, was alles während dem Reset passiert. Da kann es schon 
mal sein, dass eine angeschlossene Peripherie durch verbotene Zustände 
an den Portpins kaputt geht.

Also noch ein Punkt in Richtung Sleepmodi.


>Da kannst du auch das Controller-Gehäuse auffräsen und die Fuses mit
>Bonddrähten an Portpins hängen...(Dass ein Chip-Reset zum Programmieren
>der Fuses notwendig ist, lasse ich mal aussen vor)

Wollte ich schon immer mal machen. Leider hab ich weder die Fräse, noch 
die nötige Bonding-Station ;)

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man wirklich den AVR mit verschiedenen Taktfrequenzen dynamisch 
(also während des Betriebs) betreiben möchte, muss man eben einen 
externen, programmierbaren Taktteiler verwenden. Der sollte aber 
bitteschön beim Umschalten des Teilerverhältnisses keine Glitches 
erzeugen. Also schön synchron arbeiten ;-)
74HC109 könnte brauchbar sein.

MfG
Falk

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wiso extern machen, wenn der AVR sowas schon integriert hat ?

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil der nicht im laufenden Betrieb umgeschalten werden kann?

MFG
Falk

Autor: irgendein DennisDennisAdolf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Angesichts der beachtlichen Temperaturabhängigkeit der internen 
Oszillatoren kann man ja versuchen, den Takt über ein Heiz-/Kühl-Element 
zu steuern ... ;-)

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werbung an

Oder einen MSP430 nehmen, da kann man den Takt im betrieb umschalten und 
auch den DCO beliebig vom 2- bis 1024-fachen der Quarzfrequenz während 
des Betriebes einstellen. Und das alles in wenigen µs.

Werbung aus

;-)

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk wrote:
> Weil der nicht im laufenden Betrieb umgeschalten werden kann?
>
> MFG
> Falk


CLKPR - Clock Prescale Register

Kleiner Tip: Einfach mal das Datenblatt lesen...

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jaja. Ich hab bisher immer mit den Classic AVRs gearbeitet, da kenn ich 
nicht alle neuen Features. Und warum hat keiner der "Experten" den Tip 
gegeben?

MFG
Falk

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil einfach jeder im Forum schreibt, damit er was geschrieben hat, ohne 
vorher nachzudenken.
Man könnte locker mal 50% der Antworten löschen und würde keine 
nützlichen Infos verlieren. (Ich meine jetzt nicht deine Antworten, 
sondern ganz allgemein. Es gibt einige Leute hier im Forum die wirklich 
wissen von was sie reden, aber leider auch einige die wirklich absolut 
keine Ahnung haben von was sie schreiben.)

Ich hatte bei der ersten Antwort übrigends den Taktteiler schon erwähnt, 
aber das hat niemanden interessiert. Stattdessen wurden lieber sinnlose 
Kommentare und Beleidigungen abgegeben.

Autor: Jens P. (jmoney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja es geht denk ich auch eher nicht um den Takt an sich, sondern um 
den Stromverbrauch. Und der wird wohl weder durch den Taktteiler, noch 
durch einen externen Taktteiler erheblich gesenkt..

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, wird er wohl ;-)

Ich habe einen Atmega48 am laufen und stehe ebenfalls vor dem Prob, den 
Stromverbrauch drastisch zu senken.
Die einzige Chance IST das
ZITAT
CLKPR - Clock Prescale Register
/ZITAT
interner Oszillator 8Mhz, Spannung 2.25V
einfach mal den Strom messen.
jezt per Tastendruck(entprellt) den Teiler durchtakten und die 
Stromaufnahme messen. Und bitte nicht posten,
ZITAT
>Und der wird wohl weder durch den Taktteiler, noch
>durch einen externen Taktteiler erheblich gesenkt..

wird er nälich wohl (siehe erste Zeile)

Veiele Grüße
AxelR

[EDIT]
Die einzige Chance war jetzt nicht ganz richitg.
Du hast noch das Powersaveregister, wo Du nicht benötigte komponenten 
abschalten kannst(PWM,SPI,UART,TIMER usw.)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.