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
Nein, das geht nicht. Man kann nur den Taktteiler umschalten.
ist es auch nicht möglich die Bits zu setzen und per Reset eine andere Quelle zu nutzen?
Die Bits kann man nur per Programmiergerät ändern.
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.
>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)
..ist Rahul eigentlich ein deutscher Name!?....
>..ist Rahul eigentlich ein deutscher Name!?....
Ist das relevant? Dann solltest du dich lieber Rudolph nennen, wobei der
letzte Laut freiwählbar ist...
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! ;-)
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... ;-)
>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
...verblödet man durch foren...? das werd ich nie wieder los, was soll ich machen!? ...
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).
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 ;)
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
Weil der nicht im laufenden Betrieb umgeschalten werden kann? MFG Falk
Angesichts der beachtlichen Temperaturabhängigkeit der internen Oszillatoren kann man ja versuchen, den Takt über ein Heiz-/Kühl-Element zu steuern ... ;-)
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 ;-)
Falk wrote: > Weil der nicht im laufenden Betrieb umgeschalten werden kann? > > MFG > Falk CLKPR - Clock Prescale Register Kleiner Tip: Einfach mal das Datenblatt lesen...
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
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.
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..
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.)
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.