Esineiden internet asettaa IoT-solmujen mikro-ohjaimille vaatimuksia, joista aiempien sukupolvien ohjaimet eivät selviä. Cypressin uusi PSoC 6 MCU -arkkitehtuuri on kehitetty erityisesti IoT-sovelluksia varten. Siinä yhdistyvät erittäin niukasti virtaa kuluttava toiminta, korkea prosessointiteho, kattavat tietoturvaominaisuudet ja sirutason liitettävyys verkkoon.
Artikkelin kirjoittaja Michiyuki Yoneda toimii tuotemarkkinointiin erikoistuneena insinöörinä Cypress Semicondutorin ohjelmoitavien järjestelmien divisioonassa. |
Koneiden välinen M2M-viestintä (Machine-to-Machine) on jo vakiintunutta tekniikkaa. HART-protokollan kaltaiset viestintätekniikat ovat mahdollistaneet M2M-datansiirron eri muodot teollisuussovelluksissa jo vuosikymmeniä.
Sen sijaan esineiden internet – jonka perusajatuksena on yhdistää verkkoon niinkin yksinkertaisia laitteita kuin huonetermostaatteja ja valaisimia – on yhä lapsenkengissään. Analyytikkojen ja riippumattomien puolijohdejärjestöjen laatimat tilastot ja ennusteet kuitenkin osoittavat, että IoT-markkinat ovat (lopputuotteiden osalta) kaksinkertaistuneet vuodesta 2016 lähtien ja kaikkiaan noin 30 miljardia laitetta on liitetty nettiin ensi vuoteen mennessä.
Koska IoT-konseptin rakentaminen on vielä alkuvaiheessaan, OEM-valmistajien kehitystiimit ovat toistaiseksi käyttäneet omissa IoT-sovelluksissaan IoT-aikakautta edeltäviin tarpeisiin suunniteltuja mikro-ohjaimia. IoT-ympäristössä toimiminen asettaa kuitenkin rajoitteita, jotka muodostavat aivan uudenlaisia vaatimuksia laitteen isäntänä toimivalle ohjaimelle. Nämä vaatimukset ovat luonteeltaan sellaisia, ettei edellisen sukupolven mikro-ohjaimia koskaan oltu edes suunniteltu niitä täyttämään.
Tämän vuoksi IoT-laitteiden suunnittelijoilla on monissa tapauksissa mahdollisuus valita, muutetaanko nykyisiä vanhemman polven ohjaimiin perustuvia laitesuunnitelmia lisäämällä niihin ominaisuuksia, joita tarvitaan nettiyhteyksien ja pilvipohjaisten sovellusten tukemiseen, vai aloitetaanko suunnittelu mieluummin alusta uuden sukupolven ohjaimilla, jotka on kehitetty erityisesti IoT-laitteiden vaatimusten mukaisesti.
Tässä artikkelissa kuvataan näitä uusia vaatimuksia ja tapoja, joilla ne voidaan täyttää yhdellä mikro-ohjainpohjaisella SoC-ratkaisulla (System-on-Chip).
IoT-ohjaimen perusominaisuudet
Tarjolla on luonnollisesti useita erilaisia rakennemalleja verkon reunalla toimivien laitteiden kytkemiseksi pilveen ja maksimaalisen hyödyn saavuttamiseksi laitetason nettiyhteyksistä.
Joitakin uusia vaatimuksia voidaan kuitenkin jakaa selkeästi useisiin IoT-laitteiden luokkiin. Näitä ovat:
- Alhainen tehonkulutus – monet uudet IoT-laitteet ovat akkukäyttöisiä. Niiden osalta suunnittelijat pyrkivät maksimoimaan laitteen käyttöajan latausten välillä ja samanaikaisesti kutistamaan akun koon ja hinnan mahdollisimman pieneksi. Jopa sähköverkkoa käyttävissä laitteissa korkea hyötysuhde helpottaa lämmönhallintaa, jolloin suunnittelijat voivat minimoida jäähdytyselementtien kaltaisten komponenttien koon ja hinnan.
- Hyvä suorituskyky – nettiyhteyden tarkoituksena on yleensä tuottaa ja hyödyntää dataa, joten IoT-laitteet on yleensä varustettu useilla antureilla ja datansyöttöpiireillä. Käyttäjät vaativat yhä enemmän älypuhelimen kaltaisia käyttöliittymiä, jotka tarjoavat graafisen näytön ja kosketuksin ohjattavat toiminnot. Nämä ominaisuudet vaativat huomattavan paljon prosessointitehoa – vaatimus, joka normaalisti on vastakkainen vaatimukselle alhaisesta tehonkulutuksesta.
- Tietoturva – IoT-laitteiden on turvattava käyttäjien yksityisyys, suojattava heitä häiriöiltä, varmistettava heidän henkilöllisyytensä ja estettävä muilta pääsy tietoihin ja niiden muokkaamiseen, kun toimitaan yleisessä globaalissa verkossa. IoT-laitteiden tietoturvavaatimukset ovat siten paljon tiukempia kuin verkkoon kytkemättömillä laitteilla.
- Liitettävyys – Ethernetin ja USB:n kaltaiset langalliset liitännät ovat yleisesti käytössä tavallisissa mikro-ohjaimissa ja suorittimissa, mutta monet uudet IoT-laitteet tarvitsevat langattoman datayhteyden. Niissä suosituimmiksi ovat nousseet standardoidut BLE- (Bluetooth Low Energy) ja WiFi-tekniikat, koska miljardit älypuhelimet ja tabletit tukevat jo niitä.
Yhdistettynä kaikki nämä vaatimukset ylittävät perinteisten mikro-ohjainten ja suorittimien tarjoaman suorituskyvyn. Perinteiset laitteet on yleensä optimoitu joko alhaiselle tehonkulutukselle tai korkealle suorituskyvylle, muttei molemmille. Niiden tietoturvaominaisuudetkin ovat rajalliset: IoT-laitteita suunnittelevien on siksi integroitava mikro-ohjainten oheen myös erillisiä tietoturvakomponentteja kuten autentikointipiirejä ja salausprosessoreita.
Lisäksi laitteen liitettävyys vaatii yleensä myös erillisiä lisäkomponentteja. Näiden seikkojen vuoksi suunnittelijat törmäävät helposti suuren komponenttimäärän ja siihen tarvittavan piirilevyalan tuottamiin ongelmiin. Ja samalla on hyväksyttävä epätoivottu kompromissi tehonkulutuksen ja suorituskyvyn välillä.
On kuitenkin syytä muistaa, että nämä edellisen polven ohjainpiirit eivät suinkaan ole huonoja ohjaussovelluksissa – vaatimukset vain ovat IoT-kehityksen myötä muuttuneet, eivätkä vanhat ohjaimet sovellu parhaalla mahdollisella tavalla uusiin vaatimuksiin.
Nyt saatavilla on kuitenkin uusi mikro-ohjainten perhe, joka on rakennettu alhaalta ylöspäin nimenomaan IoT-ympäristöjä varten. Sen avulla edellisen polven ohjaimiin liittyvät heikkoudet voidaan välttää.
Ohjelmoitava arkkitehtuuri
Kyseessä on Cypress Semiconductorin kehittämä PSoC 6 MCU -piiriarkkitehtuuri. Se perustuu samanlaisiin ohjelmoitaviin rakennuslohkoihin kuin muutkin PSoC-perheen jäsenet: ne ovat ohjelmistopohjaisia digitaalisia ja analogisia oheislaitteita, jotka käyttäjä voi tavalliseen tapaan konfiguroida käyttäen esimerkiksi PSoC Creator -työkaluohjelmaa ja näin toteuttaa minkä tahansa lukuisista eri toiminnoista.
Kukin analoginen oheislaite voidaan konfiguroida asiakkaan haluamaksi AFE-etupääksi (Analog Front End) antureita varten. Digitaaliset oheislaitteet taas voidaan konfiguroida liitännöiksi datansiirtoa varten tai ajastin/laskuri/PWM-lohkoiksi tai liimalogiikan toteuttamiseksi.
PSoC 6 MCU -arkkitehtuurissa näitä konfiguroitavia oheislaitteita tukevat keskeiset järjestelmäresurssit, jotka on koodattu piille:
- Järjestelmämuisti
- ARM Cortex-M -suoritinydin
- I/O-liitännät sekä ohjelmoitavat sisäiset kytkennät ja reititykset
Yleisesti käytetyt oheislaitteet, kuten USB-liitäntä ja kapasitiivinen CapSense-tunnistustekniikka, ovat niin ikään valmiiksi integroituina PSoC-piireissä.
Edeltävät tuotesarjat, kuten PSoC 4 ja PSoC 5, ovat aiemmin löytäneet lukuisia käyttökohteita eri sovelluksissa. Niiden tarjoamia etuja ovat:
- Ohjelmoitavan arkkitehtuurin joustavuus, joka helpottaa järjestelmän toimintojen muuttamista missä tahansa kehitysprosessin vaiheessa tarvitsematta muuttaa piirilevyn osien sijoittelua
- Laaja valikoima erittäin suorituskykyisiä analogisia toimintoja ja rajapintoja
Cypress on kuitenkin tarkoituksella rakentanut PSoC 6 -ohjainperheen erityisesti IoT-sovelluksia varten tavoitteenaan tarjota toimintoja ja ominaisuuksia paremmin kuin mikään muu mikro-ohjainten käyttäjien saatavilla oleva vaihtoehto.
Tämä PSoC-ohjainrakenteen uudelleen ajattelu alhaalta ylöspäin aloitettiin prosessiteknologiasta: PSoC 6 on ensimmäinen PSoC-piiriperhe, joka valmistetaan 40 nanometrin prosessissa, jolla päästään erittäin niukasti tehoa kuluttavaan piirirakenteeseen.
Kuva 1. PSoC 6 Dual Core MCU -arkkitehtuurin rakenne.
Cypress esitteli ensimmäisenä uuteen arkkitehtuuriin perustuvana PSoC 6 -ohjainpiirinä kaksiytimisen mikro-ohjaimen, joka toimii nopeimmillaan 150 MHz taajuudella ja sisältää tehopihin ARM Cortex-M0+ -ytimen (kuva 1). Suoritinytimien valmistus 40 nanometrin prosessissa tarjoaa parhaan mahdollisen suorituskyvyn ja hyötysuhteen.
Ohjaimen toimiessa Low-Power Active -moodissa sen ARM Cortex-M4 -ydin kuluttaa virtaa vain 22 mikroampeeria megahertsiä kohti ja ARM Cortex-M0+ -ydin ainoastaan 15 µA/MHz. Kilpailevilla ohjainpiireillä, jotka niin ikään perustuvat ARM Cortex-M4 -ytimeen, virrankulutus on aktiivimoodissa yleensä yli kolminkertainen tähän verrattuna.
Joustavan arkkitehtuurin suorituskyvyn tuomat edut ulottuvat tietysti laajemmallekin, sillä ne mahdollistavat myös järjestelmän toimintojen osittamisen älykkäällä tavalla. Langattomien anturien kaltaisissa laitteissa esimerkiksi anturiliitäntöjen ja -keskittimien toiminnot, joiden laskentateho on alhainen mutta joiden on oltava kaiken aikaa päällä, voidaan suorittaa ARM Cortex-M0 -ytimellä, kun tehokas Cortex-M4-ydin on lepotilassa.
M4-ydin voi taas ajoittain herätä nopeasti suorittamaan intensiivisiä käsittelytehtäviä, esimerkiksi käsittelemään anturien tuottamia dataeriä ennen kuin ne lähetetään pilvipalvelimelle. PSoC 6 hoitaa myös dynaamiset taajuuksien ja jännitteiden skaalaukset suoritustehon ja virrankulutuksen optimoimiseksi.
Tämä toimintojen osittaminen antaa mahdollisuuden yhdistää samalla sirulla erittäin tehokas datankäsittely ja korkea suoritusteho sekä mitättömän pieni virrankulutus.
Turvamuisti sirulla
Arkkitehtuurin ja valmistusprosessin läpimurrot tarjoavat näin tehon/suorituskyvyn yhdistelmän, jota tarvitaan monien jatkuvasti käytössä olevien IoT-päätelaitteiden sovelluksissa. IoT-ympäristö vaatii myös kriittisen luokan tietoturvaa, jolla voidaan suojata kaikki data, käyttäjien yksityisyys sekä sovellusten hyödyntämät järjestelmät ja verkot.
PSoC 6 -ohjaimessa tämä on saatu aikaan hyödyntämällä TEE-ympäristöä (Trusted Execution Environment), joka tarjoaa useita samanaikaisesti toimivia turvallisia muistialueita, jotka ylläpitävät kaikkia ’luotettuja sovelluksia’. TEE tarjoaa skaalattavat, turvalliset muisti- ja suoritinresurssit, joiden avulla voidaan toteuttaa useita riippumattomia käyttäjän määrittelemiä suojausmenettelyjä tarvitsematta ulkoisia turvamuisteja tai muita turvaelementtejä.
PSoC 6 tukee myös teollisuusstandardien mukaisia salausalgoritmeja (ECC, AES) sirulle integroiduissa oheisprosessoreissa. Näin se tarjoaa turvallisen sisäisen varastoinnin laiteohjelmien, sovellusten ja tietoturvan käyttämille suojauselementeille kuten salausavaimille. Turvavarastointi on suojattu eFUSE-ohjelmalla, jonka ’palaminen’ poistaa piirin Debug-nastan toiminnasta niin, että turvamuistin sisältöä ei voida enää lukea vianhakumenetelmien avulla.
PSoC 6 toteuttaa myös valinnaisen suojatun käynnistysprosessin, jonka avulla sovelluksen image-tiedosto todennetaan vertaamalla sitä sirun suojattuun muistiin tallennettuun sovelluskuvaan.
Langaton yhteys sirulla
PSoC 6 täyttää myös uusimpien IoT-suunnitelmien liitettävyysvaatimukset: PSoC 63 -piirisarjassa käyttäjät voivat valita lohkon, joka on optimoitu langattomalle tai langalliselle yhteydelle. Se tarjoaa joko sirupohjaisen USB 2.0 -liitännän ja PHY:n tai lohkon, joka on optimoitu BLE-viestinnälle ja joka sisältää sirulle integroidun 2,4 GHz RF-lähetin-vastaanottimen ja tuen BLE 5.0 -datansiirrolle.
BLE-lohko tarjoaa myös CapSense-ominaisuudet ja analogiset oheislaitteet (mm. 2 operaatiovahvistinta ja komparaattoria sekä 12-bittiset AD- ja DA-muuntimet), joiden toteuttaminen on aiemmissa suunnitelmissa vaatinut neljä erillistä mikropiiriä: huipputehokkaan mikro-ohjaimen, BLE-RF-sirun, niukkatehoisen anturiohjaimen sekä kosketusnäytön ohjaimen.
Kehityspaketti avuksi
PSoC 6 -ohjaimen erittäin niukasti virtaa kuluttavan toiminnan, korkean prosessointitehon, tietoturvaominaisuuksien ja sirutasoisen liitettävyyden yhdistelmä soveltuu ihanteellisesti tulevien IoT-järjestelmien verkon reunalla toimivien IoT-solmujen tarpeisiin.
Suunnittelijoiden, jotka haluavat evaluoida näitä sovellusmahdollisuuksia, kannattaa perehtyä asiaan ohjainperhettä varten laaditun kehityspaketin PSoC 6 BLE Pioneer Kit avulla. Siihen kuuluva evaluointikortti (kuva 2) sisältää kaksiytimisen PSoC 6 BLE -ohjainpiirin, RF-antennin, CapSense-liukusäätimen, tarvittavat painikkeet ja kosketusanturit, USB-C-ohjaimen liittimineen sekä liittimet Arduino Uno -moduuleja varten.
Kuva 2. PSoC 6 BLE Pioneer Kit -kehityspakettiin kuuluva evaluointikortti.
Lisätietoja aiheesta: https://www.cypress.com/products/32-bit-arm-cortex-m4-psoc-6