Maailma verkottuu yhä vahvemmin IoT:n ja muiden viestintätekniikoiden kautta. Yleensä sovelluksissa halutaan hyödyntää hinnaltaan edullisia kompakteja moduuleja, joihin on integroitu 32-bittinen mikro-ohjain ja tarvittavat RF-osat sekä useita tuloliitäntöjä erilaisille antureille. 8-bittisillä mikro-ohjaimilla on kuitenkin tärkeä rooli IoT-maailmassa.
Artikkelin kirjoittaja Bob Martin toimii teknisen henkilöstön vanhempana sovellusinsinöörinä Microchip Technology -yhtiössä. |
32-bittiset ratkaisut toimivat hyvin yhteen WiFin, NB IoT:n (Narrow Band) ja Bluetoothin tietoliikennepinojen kanssa. Ne myös hyötyvät suuresta laskentatehosta, joka varmistaa RF-kanavien turvallisuuden. Vaikeudet alkavat, kun järjestelmän suunnittelu muuttuu monimutkaisemmaksi anturikanavien määrän kasvaessa tai kun useammissa etäkohteissa on tarvetta alhaiselle tehonkulutukselle. Silloin 8-bittisen mikro-ohjaimen lisääminen voi olla kannattavaa (kuva 1).
Tuki 5 voltin IO:lle ja antureille
Vaikka teollisuudessa suositaan 5 voltin teholähteisiin perustuvia järjestelmiä, tämä voi muodostua ongelmaksi, sillä useimmat integroidut 32-bittiset MCU/RF-moduulit eivät ole yhteensopivia viiden voltin syöttöjännitteen kanssa, vaan soveltuvat yleensä vain 3,3 voltin syöttöjännitteelle. Tavanomainen ratkaisu on käyttää useita tasonsiirtimiä tai skaalata analogiset jännitetulot 3,3 V tasolle. Tämä ongelma voidaan välttää käyttämällä GPIO:n suhteen (General Purpose I/O) tehokkaampaa 8-bittistä mikro-ohjainta, joka tarjoaa suoran liitännän 5 V -pohjaisiin antureihin, toimilaitteisiin ja kytkinkontakteihin.
Tasonsiirron tai skaalauksen tarve koskee tällöin vain 8-bittisen MCU:n ja 32-bittisen MCU/RF-moduulin välistä viestintäkanavaa. Silloinkaan tasonsiirtoa ei välttämättä tarvita (mahdollisesti riittää vain eristys sarjavastuksella), jos 32-bittisessä MCU-moduulissa on 5 voltin jännitteen sietävät tuloliitännät. Vaikka tarvittaisiin myös galvaaninen eristys, kustannukset voidaan minimoida vähentämällä järjestelmän RF-lohkon suojaamiseen tarvittavien erikoispiirien määrää.
Kahdeksanbittisten mikro-ohjainten käytöllä on etäisissä kohteissa lukuisia etuja. Erityinen hyöty on se, että ne vähentävät tarvetta vahvaan viansietokykyyn hyödyntämällä useiden anturien tai toimilaitteiden ohjausta, jolloin järjestelmä voi oppia kentällä ilmenevistä vikatilanteista. Lisäksi 8-bittisissä mikro-ohjaimissa on yleensä tarjolla suuri määrä liitäntänastoja, toisin kuin nastamäärältään rajoitetuissa 32-bittisissä MCU/RF-moduuleissa.
Anturiliitäntöjen pienempi määrä merkitsee enemmän ongelmia tulo/lähtönastojen allokointiin, kun taas 8-bittiset MCU:t mahdollistavat älykkään viansietokyvyn lisäämisen etupään anturiryhmiin. Tämä tarkoittaa, että esimerkiksi päätös siitä, mikä kolmesta lämpötila-anturista on viallinen, voidaan tehdä paikallisesti (ja siten nopeammin).
Järjestelmän osiointi
Toinen etu ulkopuolisen 8 bitin mikro-ohjaimen käyttämisestä useiden anturien liittämiseen on se, että toimivaksi todetun analogisen/digitaalisen etupään liittäminen eri RF-moduulien lähtöasteisiin on hyvin vaivatonta. Jos taas käytetään integroitua 32-bittistä MCU/RF-moduulia, asiaan liittyy yleensä toimittajasta riippumatta valtava määrä vaihtoehtoisia esimerkkisovelluksia, joiden tarkoituksena on osoittaa, kuinka helppoa on kytkeytyä pilveen. Sovellusesimerkkejä voi kuitenkin olla huomattavasti vähemmän, jos anturit tai toimilaitteet liitetään I2C- tai SPI-standardiväylän ulkopuolella.
Samoin tunnetusti validoitu anturi/ohjausosan etuaste, jonka liitäntä on luotettava ja hyvin määritelty, tarjoaa myös enemmän vapautta valittaessa sopivia RF-moduuleja, koska porttauksen vaatima työ tulee minimoiduksi. Uuden järjestelmän integrointityö on käytännössä valmis siinä vaiheessa, kun kahden MCU:n välinen protokollakerros on kopioitu uuden RF-moduulin fyysiseen kerrokseen. Kun nämä ongelmat on ratkaistu, huomio voidaan kääntää uuden RF-kanavan oikeaan toteuttamiseen.
Etä- tai teollisuusympäristöissä olevat käyttäjät voivat hyötyä mahdollisuudesta ottaa käyttöön kytkettyjä järjestelmiä, joissa on mukana vikasietoisia hot swap -liitäntöjä. Joskus ei voida välttää täydellistä järjestelmän vaihtoa, mutta on paljon parempi minimoida kokonaisvaltaiset muutokset tunnetusti luotettavaan järjestelmään. Löyhä kytkentä tarkoittaa myös sitä, että tunnetusti luotettavalla RF-alustalla voidaan tukea laajennettuja järjestelmävaatimuksia aloittamatta uudelleen alusta. Tämä tarkoittaa, että käyttäjät voivat työstää vain sitä osaa, jota on parannettava, ja säilyttää sen osan, johon luottavat.
Älykäs tehonhallinta
Edellä mainittujen seikkojen lisäksi yksi 8-bittisen MCU-maailman tärkeä piirre on, että sitä hallitsevat väljemmät prosessiteknologiat. Ne varmistavat erinomaiset staattisen vuodon lukemat ja eliminoivat väistämättömän kompromissin käytettäessä suurempia porttitiheyksiä hyödyntäviä IC-valmistustekniikoita, joiden staattiset vuotovirrat kasvavat aina nopeuden mukaan. Uusissa valmistusprosesseissa hilaoksidien paksuudet voidaan todennäköisesti mitata helpommin atomien lukumäärinä kuin nanometreinä.
Ottamalla mukaan älykäs niukkatehoinen hallintapiiri voidaan järjestelmän toimintaa tehostaa alhaisilla tehotasoilla. Joissakin 8-bittisissä mikro-ohjaimissa on tarjolla tavallisen 32 kHz kellon ohjauksella toimivia aktiivivirtoja, jotka ovat suuruudeltaan samaa luokkaa kuin 32-bittisten RF-moduulien valmiustilan virrat.
Tämän tarkan aikaperusteisen tehonhallintajärjestelmän lisääminen yksinkertaistaa akkujen lataamista ja kunnonvalvontaa. 32-bittisten RF-moduulien aktiivivirrat erityisesti WiFi-pohjaisissa yksiköissä voivat olla jopa useita satoja milliampeereja. Akuilla voi elinkaarensa loppupuolella olla siten vaikeuksia pitää yllä käynnistys- ja lähetysvirtoja, joita verkkoon liittyminen vaatii.
8-bittiseen mikro-ohjaimeen perustuvalla tehonhallintajärjestelmällä RF-päämoduuli voidaan ’herättää’ erityiskomennolla, mikä vähentää nykyisten järjestelmien tarvetta liittää moduuli verkkoon vaiheittain. Tämä erityinen herätystapa pystyy hyödyntämään alhaisempaa lähetystehoa (TX) verkkoon liityttäessä.
8-bittiseen mikro-ohjaimeen perustuvan tehonhallintajärjestelmän keskeinen ominaisuus on, että se pystyy valvomaan käynnistysvirtojen huippuarvoja ja jännitteiden pudotuksia säännöllisinä jaksoina ja välittämään tiedot eteenpäin jokaisen herätysjakson yhteydessä. Näiden tietojen avulla pilvessä sijaitsevat oppimiskoneet voivat profiloida akkujärjestelmiä paljon tehokkaammin ja ennakoida vikoja.
MCU-ohjelmointi helpommaksi
Viime vuosina on saatu aikaan merkittävää kehitystä 32-bittisten MCU/RF-moduulien ohjelmoinnin yksinkertaistamiseksi. Useilla näistä moduuleista on Arduino-pohjainen tuki, joka voi auttaa lyhentämään kehitysaikoja. Tämä lähestymistapa voi kuitenkin olla ongelmallinen, jos mukana on tavallista enemmän tehonhallintaa, asiakaskohtaisia anturiliitäntöjä tai muita oheislaiteliitäntöjä. Arduino-tukikoodi on tietysti mahtava ominaisuus, mutta se on monissa tapauksissa epätäydellinen ja tuottaa ammattikäyttäjien keskuudessa luottamusongelmia.
Vaikka IC-piirien toimittajat tarjoavat tukea, integroidut 32-bittiset RF-moduulit ovat suhteellisen monimutkaisia metallikerroksen tasolla. 32-bittisen rakenteen käyttäminen saattaa tuntua vahvalta ylilyönniltä vähäisille ohjausten tai toimintatilojen määrille. On kaikkea muuta kuin intuitiivista löytää esimerkiksi väärä bitti oheislaitteen ohjausarvosta 0x23AA123C.
8-bittinen MCU-ohjelmointimalli sen sijaan tarjoaa tutun käyttöliittymän 8-bittisinä datapaloina (mahdollisesti 16-bittisinä ajastinrekistereitä varten). Bittikehysten virheenkorjaus on helpompaa ja 8-bittisten mikro-ohjaimien oheislaitevalikoimat ovat yleensä paljon helpompia ymmärtää. Tärkein syy tähän on se, ettei niiden tarvitse sisältää tai esittää monimutkaisempia tehonsäästöön tai väylärajapintojen synkronointiin liittyviä toimintoja. Lisäksi 8-bittisten MCU-piirien kellopuurakenteet ovat helpompia omaksua.
Tämä pohjimmiltaan tiivistää tärkeimmät syyt 8-bittisen mikro-ohjaimen käyttämiseen, kun tarkoituksena on luoda edullinen, vähävirtainen ja älykäs (mutta ei IoT-dedikoitu) ratkaisu, joka pystyy käsittelemään yksitoikkoisia tehtäviä kuten tehonhallintaa ja kodin elektronisia toimintoja.
Microchipin 8-bittisten MCU-piirien tuotevalikoimassa PIC18-Q41 ja AVR DB -perheet tarjoavat laajan valikoiman analogisia toimintoja. Näitä ovat muun muassa sirulle sijoitetut operaatiovahvistimet ja jännitteeltään monitasoinen GPIO. Viimeksi mainittu minimoi ulkoisten analogisten komponenttien tai tasonsiirtimien tarpeen.
Yhteenvetona voidaan todeta, että vaikka nykyään on saatavissa entistä enemmän 32-bittisiä MCU/RF-moduuleja, 8-bittisen mikro-ohjaimen lisääminen järjestelmään tarjoaa suuria etuja, kun suunnitellaan kestäviä ja vähävirtaisia solmulaitteita verkon reunoille IoT-maailmassa. Kattavan anturivalikoiman ja tehonhallinnan tarjoaminen näin pienessä paketissa tarkoittaa, että 8-bittiset MCU-piirit ovat jatkossakin keskeisessä asemassa 32-bittisissä IoT-ympäristöissä.