Lopulta kaikki laitteet yhdistetään internetiin. Tämä edellyttää usein sekä prosessointitehoa että alhaista virrankulutusta lepotilassa. Cypressin PSoC 6 -piiri vastaa moneen haasteeseen.
Artikkelin on kirjoittanut Cypress Semiconductorin markkinointijohtaja Jim Davis. |
Esineiden internetin lupaus on yhdistää – lopulta – kaikki internetiin. tämä lupaus on jo toteutumassa esimerkiksi älykkäinä katuvaloina, jotka mittaavat katutason ilmanlaatua 24/7-periaatteella tai älykelloina, jotka monitoroivat kuntoa ja terveyttä toiminnoilla, jotka lataavat fysiologista dataa älypuhelimen internetyhteyden välityksellä. Liitettävyys tulee ilman muuta laajenemaan niin, että jonakin päivänä myös laitteet, jotka eivät ole elektroniikkalaitteita kuten kupit, sateenvarjot tai ovilukot saavat oman internet-yhteytensä.
Monet IoT-tekniikan ideat tuntuvat venyttävän laitevalmistajien kykyjä ja kuluttajien maksuhalukkuutta äärimmilleen. Toisaalta älykkäät katuvalot ja älykellot tarjoavat jo huikeita, aitoja arvoja; ilmanlaatua kuvaava data informoi liikenteen hallintajärjestelmiä ja auttavat sydän- tai keuhkosairauksista kärsiviä välttämään vaarallisia ympäristöjä. Samoin älykellon tuottama syke- tai veren happitasodata voi auttaa lääkäreitä tekemään parempia diagnooseja tai varoittamaan potilaita esimerkiksi sydänkohtauksen kasvaneesta riskistä.
Näillä ja monilla muilla IoT-sovelluksilla on monia samoja piirteitä:
- tarve useille anturiliitännöille, signaalinprosessoinnille ja datan prosessoinnille
- datan lähettäminen purskeina yhdyskäytävään, reitittimeen tai muuhun laitteeseen, joka on yhteydessä internetiin
- usein turvataan vain pieneen paristoon virranlähteenä tai jopa kerätään energiaa ympäristöstä. Energiaa voidaan kerätä eri lähteistä: radioaalloista, ympäröivästä valosta, lämpötilan muutoksista ja liikkeestä. Energian generointipiiri voi sisältää pienen lisäpariston, johon kerättyä energiaa varastoidaan. Kaikki nämä järjestelmät edellyttävät, että isäntäjärjestelmä kuluttaa erittäin vähän energiaa.
Tämä on uusi ja vaativa kokonaisuus vaatimuksia. Tässä artikkelissa tutkitaan kompromisseja tehonkulutuksen ja suorituskyvyn välillä, jotka ovat tyypillisiä tämän hetken mikro-ohjainperheille. Kuvaamme myös innovaatioita piiriarkkitehtuureissa ja valmistuksessa, jotka mahdollistavat uuden sukupolven aina päällä olevat IoT-laitteet.
Alhainen virrankulutus vai korkea suorituskyky?
Aiemmin mikro-ohjainvalmistajat saivat OEM-asiakkailta vaatimukset laitteille, jotka priorisoivat joko erittäin pientä tehonkulutusta tai pystyivät erittäin tehokkaaseen datan prosessointiin. Cypressin PSoC 4 -sarjan kaltaiset Arm Cortex M0-ytimeen perustuvat järjestelmäpiirit tarjosivat erittäin alhaista tehonkulutusta, joka sopi hyvin paristokäyttöisiin laitteisiin. Niiden suorituskyky ei kuitenkaan riittänyt käsittelemään useista antureista tulevia signaaleita ja hallitsemaan samalla yhteyksiä lyhyen kantaman radioilla kuten Bluetooth Low Energy tai WiFi.
Toisaalta yksiytimiseen Arm Cortex-M4- tai Cortex-M7-prosessoriin perustuvat ohjaimet tuovat enemmän suorituskykyä, mutta niiden tehonkulutuslukemat (µA/MHz) estävät niiden käytön pienillä tehonlähteillä. Tämän päivän mikro-ohjaimet valmistetaan yleensä 65 nanometrin prosessissa, mutta uudet innovaatiot valmistustekniikassa, kuten Cypressin ja UMC:n yhteistyö erittäin vähävirtaisessa 40 nanometrin prosessissa, voi tuoda merkittävän pienennyksen aktiivitilan tehonkulutukseen näissä sovelluksissa.
Lisäksi useimmat paljon tehoa kuluttavat suuren suorityskyvyn laitteet eivät kykene jatkuvaan datan prosessointiin ja lähetykseen, koska niissä on vain yksi prosessoriydin. Vaikka yksi ydin voi pitää yllä langatonta linkkiä tai käsitell anturisyötteitä, se ei voi tehdä niin samanaikaisesti. Yksiytimisen arkkitehtuurin käyttäminen edellyttää, että suunnittelija hyväksyy sen, että kun dataa käsitellään, yhteys katkeaa.
MCU:n ulkopuolella moni suurta prosessointitehoa tarvitsevaa sovellusta kehittävällä suunnittelijalla on kokemusta sovellusprosessoreista, jotka perustuvat Raspberry Pi -kortteihin tai vastaaviin protoalustoihin. Näissä kompromissi suorityskyvyn ja tehonkulutuksen välillä on vieläkin kivuliaampi kuin Cortex-M-pohjaisissa mikro-ohjaimissa. Ja joka tapauksessa sovellusprosessorien korkea yksikköhinta tekee siitä huonosti sopivan useimpiin sulautettuun ja IoT-laitesuunnitteluun.
Ennen IoT:tä rakennetut mikro-ohjaimet soveltuvat huonosti IoT-sovellusten vaatimuksiin. Sen sijaan tarvitaan uusi lähestymistapa mikro-ohjainsuunnitteluun, joka sovittaa yhteen jatkuvan prosessoinnin suurilla nopeuksilla ja alhaisen tehonkulutuksen, joka tukee toimintaa paristovirralla tai jopa ilman paristoa.
Arkkitehtuuri uusiin vaatimuksiin
Jokaisella mikro-ohjainvalmistajalla on oma lähestymistapansa MCU:n ”uudelleekeksimiseen” IoT-vaatimuksia varten. Cypressin tapauksessa tämä lähestymistapa perustuu pitkäaikaisiin vahvuuksiin:
- Cypress on suunnitellut ja valmistanut nopeita SRAM-pohjaisia piirejä yli kolmen vuosikymmenen ajan ja sillä on uniikki osaaminen transistorisuunnittelussa ja kiekkotuotannossa edistyneissä valmistusprosesseissa
- Pitkälle konfiguroitava mikro-ohjainten PSoC-perhe on rakennettu ohjelmoitavaksi sekä digitaalisen että analogisessa osassaan, mikä antaa käyttäjälle valtavasti joustavuutta anturihubin ja signaalinprosessoinnin toteutukseen
Nämä Cypressin luontaiset vahvuudet on otettu käyttöön uuden PSoC 6 -ohjainperheen kehityksessä. Kyse on erityisesti IoT:tä varten kehitetystä mikro-ohjaimesta. Ensimmäinen ominaisuus, joka nostaa PSoC 6:n esiin uudentyyppisenä IoT-ohjainpiirinä on sen kaksiydinarkkitehtuuri: siinä on sekä tehokas Arm Cortex-M4 -ydin että erittäin vähävirtainen Cortex-M0+-ydin (ks kuva 1). Tämä arkkitehtuuri palvelee kahta tärkeää tehtävää. Ensinnäkin se mahdollistaa kahden erillisen toiminnon yhtäaikaisen ajamisen. Sovellus, joka edellyttää jatkuvaa verkkoyhteyttä ja datan lähettämistä voi jakaa nämä tehtävät vähävirtaiselle Cortex-M0+-ytimelle, ja Cortex-M4-ydin voi suorittaa laskentaintensiivisempiä toimintoja ja satunnaisia anturihubitehtäviä ja digitaalista suodattamista.
Kuva 1: PSoC 6:n kaksiydinarkkitehtuurissa molemmat ytimet jakavat oheislaitteet yhteisen oheislaiteväylän kautta.
Kaksiytiminen arkkitehtuuri tuo myös selvää säästöä tehonkulutukseen. Jatkuvat toiminnot, jotka eivät ole kovin laskentaintensiivisiä, voidaan jakaa ultravähävirtaiselle Cortex-M0+-ytimelle, jolloin Cortex-M4-ydin voidaan jättää pitkiksi ajoiksi Sleep-tilaan. Sen täytyy vain herätä ajoittain suorittamaan satunnaisia prosessori-intensiivisiä tehtäviä. Tämä toimintoja jakaminen helpottaa, kun prosessori osaa herätä Sleep-tilasta erittäin nopeasti: piiriltä vie vain 10 mikrosekuntia nousta Sleep-tilasta aktiivitilaan. Perinteisissä mikro-ohjaimissa käynnistysaika mitataan normaalisti millisekunteina mikrosekuntien sijaan.
Edistyneellä prosessilla alhaiseen tehonkulutukseen
Toinen alhaisen tehonkulutuksen innovaatio PSoC 6 -piireissä on sen valmistusprosessi. Piiri valmistetaan 40 nanometrin viivanleveydellä, mikä tuo ison edun aktiivitilan tehonkulutuksessa verrattuna 65 nanometrin prosessiin, jossa useimmat mikro-ohjaimet tällä hetkellä valmistetaan. Ero on merkittävä: PSoC 6:n Arm Cortex-M4 -ydin, jonka maksimikellotaajuus on 150 megahertsiä, kuluttaa aktiivitilassa virtaa 22 mikroampeeria megahertsiä kohti 0,9 voltin käyttöjännitteellä. Seuraavaksi vähävirtaisin Cortex-M4-pohjainen mikro-ohjain markkinoille vie neljä kertaa yhtä paljon virtaa aktiivitilassa. Useimmat ohjaimet kuluttavat vielä paljon tätä enemmän.
On hyvin tiedossa, että kun viivanleveys piisirulla kutistuu, vuotovirralla on taipumus kasvaa. Aikaisemmin tämä johti ongelmiin, joissa horrostilan (Hibernate) virrankulutus oli korkea edistyneemmissä prosesseissa. Tässä Cypress on hyödyntänyt pitkäaikaista kokemustaan vähävirtaisten piirien suunnittelussa: omalla SONOS-metodologiallaan se on saavuttanut niin alhaisen vuotovirran, että se on useimmissa sovelluksissa merkityksetön. Horrostilassa PSoC 6 -piirin vuotovirta on niinkin alhainen kuin 500 nanoampeeria.
Edistyneitä tehonsäästötoimintoja
PSoC 6 saa luontaisen alhaisen tehonkulutuksensa konfiguroitavan DVFS- eli dynaamisen jännitteen ja taajuuden skaalauksen (Dynamic Voltage and Frequency Scaling) ansiosta. Tämä on edistynyt ominaisuus, joka yleensä löytyy mikro-ohjainten sijaan sovellusprosessoreista. DVFS:n ansiosta suunnittelija voi konfiguroida ohjausmalleja, alentavat piirin toimintataajuutta ja jännitettä, kun prosessointitaakka on suhteellisen alhainen. Kun DVFS on otettu käyttöön, PSoC 6 -piiri voi toimia tehotasoilla, jotka ovat jopa alhaisempia kuin datalehdissä määritellyt tasot.
Tuotteen dokumentaatio ei tietenkään koskaan kerro piirin suorituskyvystä koko totuutta tosielämän sovelluksessa. Paras testi suorituskyvylle on laitteen ajaminen aidossa sovelluksessa. Tässäkin kohtaa Cypress tarjoaa käyttäjälle keinon optimoida tehonkulutusta. PSoC 6 BLE Pioneer Kit on täysinvarusteltu evaluointijärjestelmä, jonka mukana toimitetaan E-ink-näyttöpaneeli. Kyse on erittäin vähän tehoa kuluttavasta näyttötekniikasta, jota käytetään esimerkiksi Amazon Kindlen kaltaisissa sovelluksissa (ks kuva 2). Suunnittelijat voivat kokeilla sen avulla, kuina vähän heidän sovelluksensa kuluttaa tehoa, kun sitä ajetaan graafisella käyttöliittymällä.
Kuva 2: PSoC 6 BLE Pioneer Kit -pakettiin sisältyy E-ink -näyttöpaneeli.
PSoC 6 -piirin tehoasetusten optimointia varten Cypress on sisällyttänyt BLE Pioneer Kit -kortille myös PSoC 5LP -ohjaimen, jonka avulla kortti ohjelmoidaan ja debugataan. PSoC 5LP -piirille on integroitu 20-bittinen AD-muunnin, ja tällä voidaan mitata PSoC 6:n kuluttava virta reaaliajassa nanoampeerien tarkkuudella ilman, että korttia tarvitsee liittää kalliisiin ulkoisiin tehomittareihin.
Vähävirtaisen IoT-suunnittelun aloittaminen
Pioneer Kit on paras ja käytännöllisin tapa tutkia PSoC 6 -piirin mahdollisuuksia vastata sovellusten alhaisen tehonkulutuksen vaatimuksiin. Kortin käyttäjien kannattaa rekisteröityä PSoC 6 Early Adopter Community -yhteisön sivuille, josta löytyy valtava määrä suunnitteluresursseja, mukaan lukien sovellusohjeita, parhaiden käytäntöjen ohjeita ja keskustelufoorumi jäsenten kysymyksille.
Lisäksi PSOC 6:a tuetaan muiden 32-bittisten PSoC-tuotteiden tavoin integroidulla PSoC Creator -kehitysympäristöllä, joka tuo intuitiivisen ja nopean tavan konfiguroida PSoC 6:n ohjelmoitavat komponentit ja kirjoittaa sovelluskoodia. PSoC 6 -suunnittelua voi tehdä myös kolmansien osapuolten työkaluilla kuten IAR Embedded Workbenchissä.