- LiTime Speicher und Akkus         
Ergebnis 1 bis 10 von 10

Thema: flexibler takt?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    14.09.2007
    Ort
    Na Zuhause!
    Alter
    30
    Beiträge
    99

    flexibler takt?

    Anzeige

    Praxistest und DIY Projekte
    hallo,
    Ich hatte gerade eine idee. Ich weiss nicht, ob jemand so etwas schon gemacht hat, habe auch noch nicht wirklich gesucht...
    Also: einen digital-frequenz-converter an den takteingang eines avr, sodass der AVR (mit dem abgleich in der software) seinen takt regeln kann. (strom sparen bei inaktivität)
    Selbstkritik(damit ihr nicht so viel schreiben müsst xD):
    -wird der stromverbrauch besser, oder wiegt der dfc das wieder auf?
    -macht der AVR so etwas schon selbst in einem sleep-mode?
    Und noch eine abschliessende frage: wie tief kann man mit dem systemtakt runtergehen?
    Danke fürs lesen
    Nur tote Fische schwimmen immer mit dem Strom!

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    59
    Beiträge
    1.080
    Die AVRs können meines Wissens nach bis 0 runter, es gibt keine Mindestfrequenz.
    Die AVRs haben verschiedene Stromsparmodi, mit denen der Stromverbrauch extrem gesenkt werden kann. Es können in diesen Modi bestimmte Funktionsteile des µC lahmgelegt werden oder der µC angehalten werden, bis z.B: ein Interrupt von aussen kommt.

    Gruß MeckPommER
    Mein Hexapod im Detail auf www.vreal.de

  3. #3
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Es gibt keinen mindesttakt, aber die Frequenz darf sich nicht abrupt ändern. Das erschwert eine externen variation des Taktes. Viel der neueren AVRs haben ein Register mit dem man den Takt vom Quarz oder RC Oszillator teilen kann und diesen Teiler kann man auch zu laufzeit verändern. Es geht also ganz ohne externe hardware.
    Der Stromverbrauch ist etwa proportional zur taktfrequenz. Einen zusätzlichen Gewinn erhält man, wenn man wegen einer niedrigernen taktfrequenz auch die Spannung verringern kann, was aber zur Laufzeit eher wenig sinn macht.

    Mit den Slepp mode (Powerdown) kann man parktisch genausoviel Strom sparen wie durch den niedriegeren Takt, nur die Nutzung ist flexibler, man ist aber auf einige weniger Möglichkeiten zum wieder aufwecken gebunden.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    14.09.2007
    Ort
    Na Zuhause!
    Alter
    30
    Beiträge
    99
    danke für die antworten! Ich denke, mit software ist wirklich besser. Ich will ein thermometer bauen, das mit 3 AAA batterien 1 jahr hält. Schaff ich schon...:-p
    Und wenn mein keylogger und mein rs-232 eeprom Programmer fertig sind, stell ich vielleicht auch noch ne anleitung rein
    Mfg
    Nur tote Fische schwimmen immer mit dem Strom!

  5. #5
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Für geringen Stromverbrauch wären 2 Zellen vermutlich besser. Für sehr sparsamen Betrieb, nutzt man den Power save sleep mode und wacht nur eher selten auf. Als Takt geht da z.B. eine 32 kHz Uhrenquarz beim Schlafen und der interne RC zwischendurch, wenn wirklich mal gerechnet werden soll und der AD Aktiv sein soll.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    14.09.2007
    Ort
    Na Zuhause!
    Alter
    30
    Beiträge
    99
    achja, stimmt! Man kann die fuses sogar im betrieb setzen.
    Nur tote Fische schwimmen immer mit dem Strom!

  7. #7
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Fuses kann man nicht im Betrieb ändern, aber das register kann man ändern. Die Fuses geben nur einen Wert nach dem Reset vor. Soweit ich weiss hat man da aber nur die Wahl :1 oder :8.

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    14.09.2007
    Ort
    Na Zuhause!
    Alter
    30
    Beiträge
    99
    also das verstehe ich jetzt nicht...
    Ich kann doch IM programm z.b. Das jtag-interface Deaktivieren?! das ist zwar keine fuse-änderung sondern nur software aber kann man soetwas auch mit dem takt machen?

    MCUSR |= (1<<JTD);
    MCUSR |= (1<<JTD);
    Nur tote Fische schwimmen immer mit dem Strom!

  9. #9
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Klar kann man das Register CLKPR zur Laufzeit verändern und dadurch den Takt verändern. Wie sollte man sonst auch andere Teiler als 1 oder 8 einstellen ? Man kann nur das dazugehörig FUSEBIT nicht ändern, das den Wert für CLKPR direkt nach dem Reset vorgibt nicht ändern.
    das CLKPR Register gibt es aber nur bei neueren Chips (z.B. Mega48, Tiny2313, Tiny261). Der Tiny26, Mega8 oder
    Mega16 haben die Funktion noch nicht.

    Das ist so ähnlich wie beim JATG interface: abschalten geht in software, aber nur temporär. Nach den Rest fängt man erst mal mit JTAG an, wenn man das nicht per Fusebit abgestellt hat. Ich glabe aber man kann JTAG nicht per Software einschalten, wenn es per Fuse abgestellt war.

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Ja, aber ändert dadurch nicht die Fuses. Besserwessi hat schon recht.

    Das bedeutet, Du müsstest das JTAG-Interface bei JEDEM Programmstart abschalten, weil der Standardwert aus den FUSES ja die Aktivierung beinhaltet.

    Edit: Irgendwer war da schneller ...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus