Ist es möglich den AVR während dem Betrieb anders zu takten? Indem der Avr einen Transistor schaltet der einen anderen Oszillator dranhängt? Oder vielleicht sogar mit einem Quarz (Da müsste ein Bein ja schon reichen)? Geht so was? Es geht darum: Wenn das Gerät mitgenommen wird, soll es wenig Strom verbrauchen (niedriger Takt), wenn es am USB-Port steckt muss der Avr aber schnell sein um die USB Schnittstelle zu realisisieren.
Samuel K. schrieb: > Ist es möglich den AVR während dem Betrieb anders zu takten? es gibt einige Typen da kann man intern den Vorteiler festlegen. Aber im Sleep modus verbraucht so ein Atmel ja nicht wirklich viel strom, ist das etwas noch zu viel?
Samuel K. schrieb: > Ist es möglich den AVR während dem Betrieb anders zu takten? > > Indem der Avr einen Transistor schaltet der einen anderen Oszillator > dranhängt? Oder vielleicht sogar mit einem Quarz (Da müsste ein Bein ja > schon reichen)? Geht so was? Es geht darum: Wenn das Gerät mitgenommen > wird, soll es wenig Strom verbrauchen (niedriger Takt), wenn es am > USB-Port steckt muss der Avr aber schnell sein um die USB Schnittstelle > zu realisisieren. Wenn das Programm so realisiert ist, dass es bei Batteriebetrieb den µC in Wartephasen 'schlafen legt', dann verbraucht der µC so wenig Strom, dass die Selbstentladung der Batterie/Akkus höher liegen dürfte. Und bei Bedarf hat man dann trotzdem wieder die volle Rechenleistung zur Verfügung.
Dann braucht der schnelle µC doch Impulsartig Strom. Entlädt das den Akku nicht schneller, als ein langsamer µC? achso, die Selbstentladung ist größer als der impulsartige strom?
Samuel K. schrieb: > Dann braucht der schnelle µC doch Impulsartig Strom. Entlädt das den > Akku nicht schneller, als ein langsamer µC? weist du überhaupt über welche ströme es bei so einem µC geht? Jeder Takt belasten den Akku impulsmäßig. Es es wurde schon vor langer Zeit ein bautteil namens Kondensator erfunden.
Karl heinz Buchegger schrieb: > Wenn das Programm so realisiert ist, dass es bei Batteriebetrieb den µC > in Wartephasen 'schlafen legt', dann verbraucht der µC so wenig Strom, > dass die Selbstentladung der Batterie/Akkus höher liegen dürfte. Und bei > Bedarf hat man dann trotzdem wieder die volle Rechenleistung zur > Verfügung. Das stimmt und ist eine sehr schöne Möglichkeit das zu realisieren. Hatte mein derzeitiges portables Projekt auch mit einem Atmega begonnen, verbrauchte damals glaub ich wesentlich!!! weniger als 1 mA. Bin aber dann aus anderen Gründen (Rechengeschwindigkeit) auf einen AVR32 umgestiegen, dieser ist dynamisch taktbar. -> Jedoch wenn beide im sleep sind hat keiner einen echten vorteil [Also umsteigen nicht nötig!] Verbessert mich wenn ich falsch liege aber die XMega können doch auch dynamisch getaktet werden. Aber selbst wenn du den Takt verstellen kannst ist das grundlegende Vorgehen immer das Gleiche. Nicht verwendete Perepherie abschalten (Wenn diese auf eine ersichtlich längere Zeit nicht benötigt wird! Oder garnicht verwendet!), und den Prozessor in einen Sleep modus schicken. 1: Sleep 2: Wakeup 3: Irgendwas erledigen 4: wieder Schritt 1
Da solltest Du Dich mal bei bei den PICs umsehen. Da gibt es sehr viele Typen, bei denen man den internen Oszillator in weiten Grenzen verändern kann (teils von 31 kHz bis 32 MHz). Such mal bei http://www.microchip.com/productselector/MCUProductSelector.html oder http://www.microchip.com/en_US/family/8bit/ (links sind die product tables und dann links oben der parametric search) oder Du suchst nach dem Suchbegriff "nanowatt"
Ergänzung: da geht teilweise schon bei ganz einfachen Produkten wie dem 8-Beiner 12F683
Ich meine mich zu entsinnen, neulich in einem Datenblatt eines AVR (tiny13?) gelesen zu haben, daß sich der Takt von einem clock zum nächsten nur um ein paar Prozent ändern darf. Ein schlagartigers Umschalten auf einen anderen Takt wäre damit nicht machbar.
PS: Bei attiny13 unter "System Clock and Clock Options":
1 | When applying an external clock, it is required to avoid sudden changes in the applied clock fre- |
2 | quency to ensure stable operation of the MCU. A variation in frequency of more than 2% from |
3 | one clock cycle to the next can lead to unpredictable behavior. It is required to ensure that the |
4 | MCU is kept in Reset during such changes in the clock frequency. |
danke euch allen. Die Sleeps werde ich aufjedenfall nutzen. Ich muss mal schauen, ob ich die USB Lib mit dem Rest in einen Controller packe. Sonst nimm ich einfach einen 2. Attiny.
Wenn Du einen Uhrenquarz an die TOSC-Pins eines dafür ausgelegten AVRs legst, kannst Du den internen R/C-Oszillator damit kalibrieren. Somit hast Du einen 4Mhz...14Mhz Generator, der jederzeit umstellbar ist. Dazu kannst Du noch den internen Prescaler zur Laufzeit verändern. Das Clock-System des XMega ist dagegen natürlich purer Luxus, aber auch nicht schlecht ;-).
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.