Pariston autonomia – siis sen itsenäisyys ja toiminta-aika - on keskeinen kysymys kaikissa puettavissa ja esineiden internetiin kytketyissä laitteissa. Käyttäjät eivät halua ladata paristoja jatkuvasti, ja jaetussa anturiverkossa jatkuva paristojen vaihtaminen tai uudelleenlataaminen voi olla hyvin epäkäytännöllistä jos ei peräti mahdotonta. Kuvittele, millaista on vaihtaa sillan betonipylvääseen kiinnitetyn rasitusanturin nappiparisto.
Vaikka usein puhutaan tehonkulutuksen ongelmista, oikea kohde on energia. Jos laitteita ei voi koskaan ladata uudelleen, kyse on lopulta siitä kuinka paljon energiaa järjestelmä tarvitsee odotetun elinkaarensa aikana.
Moni sulautettu järjestelmä saavuttaa alhaisen tehonkulutuksen tavoitteensa siten, että iso osa piiristöstä on sammutettu kun se ei ole aktiivisena. Tämä pitää haaskaamisen minimissä, kun ei ole syöttövirtaa jota hukata.
Akun toiminta-ajan maksimoiminen tarkoittaa sitä, että mikro-ohjain pidetään alhaisimmassa energiatilassaan mahdollisimman pitkään. Se pitää herättää vain kun tarvitaan ohjelmisto-ohjausta saapuvan datan prosessointiin. Tämä johtaa alhaiseen toiminta-aikaan (low duty cycle), jossa jopa vain yksi prosentti järjestelmän elinajasta kuluu täysin ”hereillä”. Loput 99 prosenttia ajasta iso osa järjestelmästä on sammutettu.
Avainkysymys koskee sitä, miten ja milloin mikro-ohjain herätetään toimintaan. Alhaisen toiminta-ajan järjestelmät jakautuvat kahteen yleiseen luokkaan: reaktiiviseen ja jaksottaiseen. Reaktiivinen tarkoittaa sitä, että järjestelmä on valmiustilassa odottaessa jotain aktiviteettia tai tapahtumaa ennen kuin prosessointi käynnistyy, ja sen jälkeen järjestelmä palaa syvään unitilaan.
Tyypillinen esimerkki tällaisesta matalan tehonkulutuksen reaktiivisesta järjestelmästä on vanhusten terveyden valvontalaite, joka aktivoituu kun potilas kaatuu: kiihtyvyysanturin signaali voi käynnistää keskeytyksen, kun se havaitsee liikettä, joka on suurempi kuin jokin tietty raja-arvo.
Jaksottainen tai ajoittainen järjestelmä herää tietyn kiinteän ajan jälkeen tarkistamaan, tarvitseeko jokin järjestelmä huomiota, prosessoi datan ja palaa sitten valmiustilaan. Järjestelmissä, joissa on vaikea vain tarkistaa jotain syötettä raja-arvoa vastaan, voidaan käyttää jaksottaista strategiaa: tällaisia ovat usein esimerkiksi kosketusnäytön anturit ja induktiiviset anturit.
Jaksottaisuus voi olla paras strategia myös silloin, jos mikro-ohjaimen unitila tukee vain keskeytystä järjestelmän ajastimesta. Joissakin järjestelmissä estetään ulkoisten keskeytyslähteiden toiminta syvän unen tilassa (deep sleep). Joten niiden täytyy herätä ajoittain vain tarkistamaan, onko jotain tapahtunut. Tämä kuluttaa enemmän energiaa kuin reaktiivinen lähestymistapa, mutta tiheämmät herätykset yhdessä syvän unitilan kanssa saattavat johtaa akun/pariston pidempään toiminta-aikaan kuin mikro-ohjaimen ajaminen kevyemmässä mutta enemmän tehoa kuluttavassa unitilassa suuren osan ajasta.
Keskeisessä roolissa on sellaisen arkkitehtuurin valitseminen, joka tarjoaa syvän unitilan ja tukee reaktiivista toimintaa. Tarjolla on erittäin alhaisen energian reaaliaikakellosuunnitteluja, jotka voivat tarkistaa ulkoisia prosesseja, kuten laitekeskeytyksiä tai muutoksia komparaattorin aistimissa syöttöjännitteessä. Kun ulkoinen tapahtuma/prosessi havaitaan, järjestelmä voi siirtyä valvetilaan nopeasti ilman että siinä kärsitään jaksottaisen arkkitehtuurin energianhaaskauksesta. Näin voidaan maksimoida aika, jonka järjestelmä kuluttaa syvässä unessa.
Koska aktiivisen mikro-ohjaimen tehonkulutus on kertaluokkia suurempi kuin parhaiden syvän unitilan ajastimien ja tarjolla olevien keskeytysprosessorien, kuten Ambiqin reaaliaikakellosuunnitteluja, tämä yksi prosentti merkitsee paljon. Niinpä suunniteltaessa energiatehokasta mikro-ohjainta on tärkeää anaysoida piiritasolla jännitteen, tehon ja suorituskyvyn vaikutukset aktiivitilassa. Tämä työ on tehty kattavasti Ambiqin SPOT-alustassa (sub-threshold power optimised technology), joka on sen Apollo-mikro-ohjaintensa alhaisen tehonkulutuksen ytimessä. Tämä takaa, että sopivinta jännitettä ja virtatasoja käytetään mikro-ohjaimen toiminta-ajan jokaisessa kohdassa, oli valittu toiminta-ajan arkkitehtuuri sitten mikä tahansa.
Artikkeli: Ambiq Micro