• Ei tuloksia

Tehonmittausmenetelmät

Taulukko 2. Komponentille suoritettujen testien toistojen energiankulutusmittausten

4.1 Energiankulutuksen määrittämismenetelmät

4.1.1 Tehonmittausmenetelmät

Laitteen tai komponentin käyttämä hetkellinen teho,P(t) =U(t)∗I(t), on mahdollista mää-rittää, jos sen kuluttama virta ja käyttöjännite tunnetaan (Patrick ja Fardo 2008). Määrätyl-lä aikavälilMäärätyl-lä kulunut sähköenergia puolestaan voidaan laskea tehon integraalina, tai käy-tännössä säännöllisten, diskreetillä aikavälillä∆t otettujen tehonäytteiden summana, ET =

T

R

0

P(t)dt '∑

n

Pn∗∆t (Xu ym. 2013). Tehon määrittämiseen tarvittava mobiililaitteen käyt-töjännite voidaan tavallisesti mitata suoraviivaisesti A/D-muuntimella. Virran mittaamises-sa on puolestaan mahdollista hyödyntää sähköä kuljettavan johtimen ympärille muodostuvaa magneettikenttää (Patrick ja Fardo 2008). Tämä kenttä voidaan muuntaa hall-anturilla jännit-teeksi ja näytteistää digitaaliseksi edelleen A/D-muuntimella. Mittaukseen tarvittava johdin voi olla valmiina tai se voidaan tarvittaessa suunnitella laitteen painopiirilevyyn, jolloin vir-tapiiriin ei tarvita matkalle ylimääräisiä komponentteja (Manousakis ja Nikolopoulos 2012).

Kirjallisuudessa esitetyissä toteutuksissa selvästi suosituin menetelmän mobiililaitteiden vir-ran mittaamiseen on kuitenkin ollut virtapiiriin sijoitettavan mittausvastuksen käyttäminen (esim. Brouwers, Zuniga ja Langendoen 2014). Ohmin lain,U =I∗R, mukaan vastuksen yli vallitseva jännite on suoraan verrannollinen sen resistanssiin ja sen läpi kulkevaan virtaan (Patrick ja Fardo 2008). Näin virtalähteen ja energiaa kuluttavan laitteen tai komponentin välisessä virtapiirissä olevan, tunnetun resistanssin omaavan vastuksen yli vallitsevan jännit-teen näytteistäminen A/D-muuntimella mahdollistaa virran mittaamisen.

Virranmittausmenetelmiä voidaan käyttää sekä laitteen kokonaistehon että laitteistokompo-nenttien erillisen tehonkulutuksen mittaamisessa. Koska mobiililaitteiden ensisijaisena virta-lähteenä toimii yleensä akku, riittää laitteen käyttämän kokonaistehon määrittämiseen akun jännitteen ja siitä käytettävän virran mittaaminen. Korvattaessa akku ulkoisella vakiojänni-telähteellä riittää tehon määrittämiseen myös pelkän virran mittaaminen.

Virranmittaukseen käytettävät komponentit lisäävät kuitenkin valmistuskustannuksia. Näin niitä ei laitteistokomponenttikohtaisesti ole valmiina kuin osassa tutkimus- ja kehityskäyt-töön suunnatuista mobiililaitteista (McCullough ym. 2011). Monien mobiililaitteiden ak-kuun liittyvässä virtapiirissä on kuitenkin A/D-muunnin sen jännitteen mittaamista varten.

Lisäksi osassa laitteista on myös akusta käytettävän kokonaisvirran mittaamiseen tarvittava laitteisto. Sovellusohjelmointiin käytettävien rajapintojen kautta ne kuitenkin tarjoavat usein alle kymmenen näytettä sekunnissa (Maker, Amirtharajah ja Akella 2013). Tämä nopeus ei välttämättä kaikissa käyttötapauksissa mahdollista tarkkaa arviointia, koska monien mobii-lilaitteiden energiankulutusspektrissä on pieni osuus piirteitä jopa yli 1 kHz:n taajuudella (Höpfner, Schirmer ja Bunse 2012; Maker, Amirtharajah ja Akella 2013; K. Kim ym. 2014).

Integroidun mittauslaitteiston puuttuessa, suurempaa näytteistysnopeutta tarvittaessa tai usei-den komponenttien erillistä mittausta tavoiteltaessa on turvauduttava ulkoisiin mittalaittei-siin. Pelkkää laitteen akusta käyttämää kokonaisenergiaa mitattaessa mobiililaitteeseen tar-vittavat muutokset ulkoisen mittalaitteen käyttöönottoa varten voivat olla pieniä. Parhaim-millaan käytettävä mitta-adapteri, esimerkiksi virtamittausvastus, voidaan lisätä akun ja lait-teen väliin erillisenä osana (Brouwers, Zuniga ja Langendoen 2014). Jos laitlait-teen akkua ei ole suunniteltu käyttäjän vaihdettavaksi, tarvittavat muutokset ovat monimutkaisempia ja usein pysyvämpiä (Oliner ym. 2013).

Toisin kuin kokonaisenergiankulutuksen mittaamisesta, on kaupallisten mobiililaitteiden eril-listen laitteistokomponenttien energiankulutuksen mittaamisesta kirjallisuudessa vasta har-voja esimerkkejä. Yksittäisten laitteistokomponenttien mittaamisen ongelmana on tavallises-ti pidetty sitä, ettei kaupallisten laitteiden kytkentäkaavioita ole julkisestavallises-ti saatavilla (Carroll ja Heiser 2010). Näin mittaukseen tarvittavien muutosten tunnistaminen voi vaatia merkittä-vää takaisinmallinnusta ja myös itse muutokset voivat olla monimutkaisia.

Käyttökelpoiseksi lähestymistavaksi moderneissakin älypuhelimissa on kuitenkin osoittau-tunut laitteistokomponenttien käyttöjännitteitä tuottavien jänniteregulaattoreiden tunnistami-nen ja niistä käytettävän virran mittaamitunnistami-nen. Osa kompotunnistami-nenteista käyttää kuitenkin useam-paa jänniteregulaattoria ja osa regulaattoreista on puolestaan jaettu useamman komponentin kesken. Näin yksittäisen komponentin energiankulutuksen mittaaminen voi vaatia useampia yhtäaikaisia mittauksia. Kaikkia komponentteja ei kuitenkaan välttämättä ole mahdollista erottaa suoralla mittauksella lainkaan, koska yksittäinen fyysinen komponentti voi sisältää useita loogisia komponentteja (Carroll ja Heiser 2013).

Matalallakin näytteistysnopeudella kerätty tieto pelkästä laitteen kokonaisenergiankulutuk-sesta on todettu käyttökelpoiseksi muun muassa toteutusratkaisuja vertailevaan käyttöön (Höpfner, Schirmer ja Bunse 2012). Edes komponenttitasoinen tieto energiankulutuksesta ei kuitenkaan kerro energiankulutuksen aiheuttajasta, jos järjestelmän laitteistokomponent-tien tila ei ole täysin kontrolloitu (Brouwers, Zuniga ja Langendoen 2014).

Kerätyn energiankulutusinformaation analyysista voidaan johtaa monipuolisempaa ja usein kehitystyön kannalta käyttökelpoisempaa tietoa tallentamalla samalla tietoa myös laitteen ja sillä suoritettavien ohjelmien tilasta. Tätä voidaan saada laitteen ulkopuolelta esimerkik-si sen tuottamaa verkkoliikennettä tallentamalla (Rice ja Hay 2010). Sovellukesimerkik-siin voidaan myös lisätä kutsuja, jotka tuottavat paikallisesti tai laitteen ulkopuolelle tallennettavia loki-merkintöjä (Ding Li ym. 2013). Lisäksi käyttäjätasoisille sovelluksille avoimista tapahtumis-ta ja muuttujistapahtumis-ta saadaan paljon tilatietoa (Brouwers, Zuniga ja Langendoen 2014). Laitteen käyttöjärjestelmän rajoituksista riippuen sen ytimen suorituskykylaskureista ja tapahtumista on puolestaan mahdollista saada hyvinkin yksityiskohtaista tietoa yksittäisten laitteistokom-ponenttien ja sovellusten tilasta (Brouwers, Zuniga ja Langendoen 2014).

Tilatietojen avulla on mahdollista tunnistaa muun muassa mitatun energiankulutuksen ai-heuttaneet sovellukset ja laitteistokomponentit sekä niiden suhteellinen vaikutus kulutukseen (Brouwers, Zuniga ja Langendoen 2014). Energiankulutuksen mittaamisen ja sovelluksen suorituspolkujen seurannan yhdistävällä menetelmällä on osoitettu olevan mahdollista osit-taa energiankulutusta jopa yksittäisten aliohjelmien, järjestelmäkutsujen ja lähdekoodirivien tasolla (Chung, Lin ja King 2011; Ding Li ym. 2013).

Riippumatta siitä, mitataanko energiankulutusta komponenttitasoisesti vai laitteen kokonais-kulutuksena, on energiankulutusnäytteet ja tapahtumia kuvaavat tilatiedot voitava synkronoi-da toisiinsa. Mobiililaitteeseen sisäänrakennettua mittauslaitteistoa käytettäessä energianku-lutustieto ja siihen liittyvät tapahtumat ovat valmiiksi synkronisia (Dong ja Zhong 2011). Ul-koista mittalaitetta käytettäessä synkronointi on mahdollista toteuttaa sekä mitattujen ener-giankulutusnäytteiden avulla että näytekanavan ulkopuolella.

Energiankulutusnäytteiden avulla suoritettavassa synkronoinnissa energiankulutukseen tuo-tetaan jollain laitteistokomponentilla tunnistettava muutos. Käyttökelpoiseksi komponentik-si on todettu erityisesti näyttö, koska sen energiankulutus riippuu vahvasti sen kirkkaudesta, joka on tavallisesti nopeasti muutettavissa (Rice ja Hay 2010). Yksittäinen pulssi ei kuiten-kaan välttämättä erotu vaihtelevasta kulutuksesta, joten merkintään käytetään tunnistettavaa kuviota, esimerkiksi Gold-koodia (Rice ja Hay 2010).

Energianmittauskanavan ulkopuolella tapahtuva synkronointi voi perustua kellojen aktiivi-seen synkronointiin tapahtumia tallentavan järjestelmän, usein mobiililaitteen, ja energian-kulutusnäytteitä keräävän alustan välillä. NTP-protokollalla synkronoinnissa on mahdollista saavuttaa joidenkin millisekuntien tarkkuus (Wilke, Götz ja Richly 2013). Toinen käyttö-kelpoinen vaihtoehto on mobiililaitteen I/O-liitäntöjen tai niihin kytkettyjen laitteiden käyt-täminen digitaalisen synkronointisignaalin tuottamiseen. Tällöin energiankulutusmittauksia keräävässä alustassa täytyy kuitenkin olla tarjolla vastaava digitaalinen tulo. Yhdeksi mah-dolliseksi laitteistokomponentiksi, jonka tilatietoa voidaan käyttää sekä laitteiston että oh-jelmointirajapintojen tasolla kohtalaisen helposti, on todettu värinämoottoriin liittyvä digi-taalinen lähtö (Brouwers, Zuniga ja Langendoen 2014). Osassa mobiililaitteista on myös huomiovaloja, joita voidaan käyttää mittalaitteeseen kytketyn valosensorin avulla tekemättä mobiililaitteeseen mitään muutoksia.