logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Attiny13][GCC] - Watchdog do wybudzania z Idle/Power-Down

vcppp_p 02 Cze 2009 20:46 2161 4
  • #1 6608362
    vcppp_p
    Poziom 12  
    Cześć,
    buduję układ w którym zależy mi na oszczędzaniu energii, stąd chcę by po wykonaniu pomiaru procesor przechodził w tryb Idle lub Power-Down (wg dokumentacji Watchdog może wybudzić również z tego drugiego, więc chyba Power-down lepszy?)
    Moje pierwsze pytanie - czy wybudzenie z trybu power-down przez użycie watchdoga następuje przez wywołanie przerwania czy przez reset?
    A drugie pytanie - możecie podzielić się jakimś kawałkiem kodu na takie rozwiązanie?

    Pozdrawiam i z góry dziękuję :)
  • #2 6608494
    Menuet
    Poziom 19  
    Witam,
    Oczywiście, że możesz wybudzać procesor z trybu Power-down bez resetowania procesora, Watchdog wywołuje przerwanie "od siebie" i procesor jest już aktywny. A to czy podczas przerwania od Watchdoga procesor jest resetowany czy też nie to muszisz ustawić w odpowiednim rejestrze z Watchdoga (WDTCR) tam też ustawisz czas po jakim będzie generowane przerwanie.
    A co do kodu, to w zasadzie nic specjalnego, zwykła obsługa przerwania wystarczy.
    W razie jakiś pytań moge podrzucić kawałek kodu w assemblerze.
    Pozdrawiam, Menuet.

    Aaa, zapomniałem, tryb Power-down jest lepszy, gdyż procesor pobiera jeszcze mniej prądu. Mnie przy pracującym Watchdogu i takim trybie uśpienia ten procek pobiera około 4-5µA przy 5V.
  • #3 6726333
    Adamu_s
    Poziom 11  
    Witam.
    Mam pytanie odnośnie wybudzania mikrokontrolera z trybu np. power down poprzez watchdoga:
    Jaki jest sens stosowania watchdoga do wybudzania mikrokontrolera.
    Ja to rozumiem tak, że mikrokontroler po uśpieniu powinien zostać wybudzony na skutek jakiejś zewnętrznej przyczyny (np. wystąpieniu przerwania zewnętrznego)

    Mógłby ktoś podać przykład stosowania watchdoga do wybudzenia mikrokontrolera?
    Dziękuję i pozdrawiam
  • #4 6726571
    wladziu22
    Poziom 17  
    Niekoniecznie musi to byc watchdog lecz wystarczy uzyc przerwani od timera i w funkcji przerwania będzie wybudzenie procesora. A taki wybudzenie można zastosować np do pojedynczego pomiary np napięcia i przekazania na uart i znowu uśpienia.
  • #5 6726945
    Menuet
    Poziom 19  
    Witam,
    Ja często stosuje watchdoga do takiego wybudzenia przy układach zasilanych z baterii, do np kontroli jakiegoś napięcie czy czegoś innego. Ma to taką zalete, że wewnętrzny generator procesora jest wyłączony a działa tylko generator watchdoga, który pobiera bardzo mało prądu, ok 5µA przy 3V, a wykorzystanie "normalnego" timera zwiększyło by ten prąd do około 300-500µA przy częstotliwości zegara 1MHz. Także tam gdzie zależy na znikomym prądzie spoczynkowym lepiej jest użyć watchdoga i cieszyć się bardzo małym prądem pobieranym :)
    Pozdrawiam, Menuet.
REKLAMA