Useimmat mikrokontrollerit (esim. AVR: t, MSP430: t, PIC: t jne.) tukevat useita erilaisia lepotiloja. "Syvin" lepotila on se, joka käyttää pienintä virrankulutusta (esim. "Virta pois", "Sammuta"), mutta kaikki kellojärjestelmät yleensä pysäytetään näissä tiloissa ja minusta tuntuu, että ainoa tapa " herätä "heistä tapahtuu ulkoisen ärsykkeen kautta (esim. pin-vaihdon keskeytykset, sirun nollaus). Puuttuuko minulta jotain? Onko olemassa hämmästyttävän vähän virtaa kuluttavia menetelmiä jaksottaisen herätyssignaalin tuottamiseksi MCU: lle?
Olettaen, että tavoitteeni on minimoida virrankulutus (eli nukkua syvästi niin kauan kuin mahdollista, pysyä hereillä mahdollisimman lyhyesti) samalla kun ajoittain herääminen suorittamaan toiminto, mikä on yleinen tapa saavuttaa tällainen käyttäytyminen? Asiat voidaan yksinkertaistaa edelleen olettaen, että toimintoni on valtioton (minun ei tarvitse muistaa mitään menneisyydestä sen suorittamiseksi).
Minulla on ollut jonkin verran menestystä WDT: n käyttämisessä MSP430: ssa tämän vaikutuksen saamiseksi. Tein juuri pääohjelmani tehtäväksi, ja viimeinen rivi antaa vahtikoiran ajastimen päättyä tietyn ajan kuluttua ja siirtyä LPM4.5: ään tai mihin tahansa "syvän unen" tilaan kutsutaan. Tuloksena on, että toiminto suoritetaan, MCU nukkuu, WDT vanhenee ja siru nollautuu ad nauseum. Näyttää toimivan, mietitkö vain, onko olemassa "parempi", "tyylikkäämpi" vai "energiatehokkaampi" tapa saada tällainen käyttäytyminen?
En ole vielä kokeillut tätä lähestymistapaa AVR: llä , mutta mielestäni WDT on enemmän "tehonälkäinen" AVR-laitteissa kuin MSP430: ssä, joten se ei ehkä ole yhtä houkutteleva pienitehoisessa työssä. Ehkä ei ole "universaalia" lähestymistapaa pienitehoiseen toimintaan, ja sinun on käytettävä tietyn tuotevalikoiman tarjoamia työkaluja? Tiedän, että uudella picoPower-linjalla on paljon whiz-bang -ominaisuuksia, kuten tapahtumajärjestelmä ja unikävely, jotka joissakin tapauksissa tuskin vaativat suorittimen olevan hereillä, jos pystyt tekemään sovelluksestasi sopivan tähän rakenteeseen ...
Okei tarpeeksi vaelluksestani, anna tässä mitä sinun on sanottava :)
Muokkaa Konkreettisia esimerkkejä tekniikoista olisi myös hienoa!