Artikkelissa kuvataan, miten SoC-piirille suunnitellaan datankeruuseen, analyysiin ja ohjaukseen tarkoitettu IoT-solmu käyttäen Adesto Technologiesin SmartEdge-alustaa. Suunnittelussa paneudutaan erityisesti ohjaussilmukoiden nopeuttamiseen yhdistettynä tehokkaaseen tiedonsiirtoon ja parempaan turvallisuuteen.
Artikkelin kirjoittaja Gordon Walsh toimii Adestoon kuuluvalla S3 Semiconductorilla vanhempana järjestelmäarkkitehtina. Hänellä on elektroniikkainsinöörin tutkinto Irlannin kansallisesta yliopistosta Galwayssa. Hän on aiemmin työskennellyt useissa irlantilaisissa startupeissa kuten Parthus Technologiesilla, Lightstorm Networkissa ja Intune Networksissa. Vuosina 2011-2017 hän työskenteli Intelillä IoT-tuotteiden SoC-arkkitehtina. Walshille on myönnetty kaksi patenttia. |
Teollisen internetin vaatimukset ovat niin moninaiset, ettei ole olemassa yhtä valmista kaupallista ratkaisua, joka sopisi kaikkiin sovelluksiin. Kun tuotteen pohjaratkaisuna käytetään kustomoitua ASIC-piiriä, saadaan monia etuja. Laitteiston kustannukset, koko ja tehonkulutus pysyvät kohtuullisina. Tällöin on mahdollista saavuttaa suunnitteluvaatimukset, jotka eivät olisi toteutettavissa erilliskomponenteilla. Siten on mahdollista aikaansaada uuden luokan tuotteita ja parantaa kilpailukykyä. Tuotteiden turvallisuutta lisää se, että kilpailijoiden on hyvin hankalaa takaisinmallintaa ASIC-pohjainen ratkaisu selvittääkseen sen toiminnallisuuden kopiointia varten.
ASIC-tilauspiiri muodostaa suunniteltavan tuotteen laitteistoytimen, mutta ohjelmisto määrittelee tuotteen toiminnallisuuden ja tekee siitä varsinaisen toimivan tuotteen.
Samaa ASIC-piiriä voidaan käyttää perustana erilaisia sovellusalueita ja -kohteita tukevalle tuoteperheelle. Tuoteperheen eri jäsenten toiminta-alueet saadaan toteutettua ohjelmallisesti ja tilanteen mukaan lisäämällä tarvittavia oheislaitteita. Tämä lähestymistapa vähentää materiaalikustannuksia ja yksinkertaistaa laitteistohallintaa.
Ohjelmistopohjainen toiminnallisuus myös tukee uusien toimintojen kehittämistä tuoteperheeseen. Uusia ominaisuuksia voidaan lisätä sitä mukaa, kun asiakkaiden vaatimukset ja markkinoiden tarpeet muuttuvat. Esimerkiksi uusia tiedonsiirtostandardeja tai mediakoodekkeja pystytään tukemaan laitteistoa muuttamatta.
Ohjelmiston päivitys mahdollistaa ohjelmistovirheiden korjaamisen tuotteen elinkaaren aikana. Liitetyille laitteille päivitykset voidaan suorittaa ”lennossa” tai ladata pyydettäessä. Tämä on erityisen tärkeää turvallisuuden kannalta, kun laitteet on yhdistetty toisiinsa verkkoympäristössä.
Joissakin tuoteryhmissä on käytännöllistä järjestää mahdollisuus, että loppukäyttäjä tai kolmannet osapuolet pystyvät ohjelmistollisesti räätälöimään tuotetta, esimerkiksi sovellus- tai liitännäisohjelmistojen muodossa.
Ohjelmistojen ekosysteemi
Riittävä ohjelmistoekosysteemi on olennaista ASIC-pohjaisten tuotteiden kehittämisessä. Lisäksi tarvitaan yhteensopivien laitteistokomponenttien tuki.
Tarvittavia ohjelmistokomponentteja ovat esimerkiksi:
- kehitystyökalut mukaan lukien kääntäjät, debuggerit, testiadaptorit ja profilointityökalut, joita kaikkia tukee tehokas integroitu kehitysympäristö (IDE)
- käyttöjärjestelmä, esimerkiksi sulautettava Linux tai reaaliaikainen käyttöjärjestelmä (RTOS)
- väliohjelmistokomponentit ja kirjastot, jotka tukevat oheislaitteita ja nopeaa sovelluskehitystä
Kaikille tunnetuille mikro-ohjaimille on tarjolla valikoima kehitystyökaluja. Yksi vaihtoehto on käyttää vapaasti saatavilla olevia avoimen lähdekoodin ohjelmistotyökaluja (OSS) kuten GCC-kääntäjiä, GDB-debuggeria jne. On myös olemassa joitakin OSS-väliohjelmistokomponentteja ja IDE-työkaluja kuten Eclipse.
Tämä lähestymistavan etuna on valinnanvapaus ja joustavuus. On kuitenkin tärkeää olla unohtamatta vapaista ohjelmistoista syntyviä piileviä kustannuksia. Joudutaan esimerkiksi tekemään paljon ylimääräistä työtä, kun etsitään kaikki tarvittavat työkalut ja integroidaan ne keskenään, ja pidetään niiden päivitykset ajan tasalla. Tukipalvelut ovat usein rajoitettuja ja saatavissa ainoastaan käyttäjäyhteisön toimesta.
Sopivia työkaluja tarjoavat useimmiten prosessoriytimien toimittajat. Jotkut toimittajista tarjoavat vain kaupallisia ratkaisuja, kun taas toiset avoimeen lähdekoodiin perustuvaa työkalusarjaa ja toista spesifisempää kaupallista työkalusarjaa.
Jos valitset prosessoriytimen toimittajan tarjoamat työkalut, saat yleensä käyttöösi täyden työkalusarjan, käyttöjärjestelmät ja muut kyseisen toimittajan piipohjaista IP-suunnittelua tukevat komponentit. Jos esimerkiksi valitset käyttöjärjestelmäksi ARM Keil RTX:n, olet sitoutunut valitsemaan myös ARM µVision Keil IDE:n, kääntäjäksi ARM C/C++:n, testiadapteriksi ARM Keil ULINK:n ja debuggeriksi ARM Keil µVisionin.
Kaupallisiin tuotteisiin kuuluu usein koodingeneroinnin työkalut, jolloin graafisella käyttöliittymällä (GUI) luodaan luonnosteltu koodi, joka rekonfiguroi valitun laitteiston ja asettaa RTOS-käyttöjärjestelmän toimimaan sovelluksessa. Tämän tyyppiset nopeat kehitystyökalut helpottavat monimutkaisten sulautettujen järjestelmien ohjelmoinnin aloittamista.
Väliohjelmistokomponenteilla voidaan nopeuttaa ohjelmistokehitystä tuottamalla optimoituja ja tarkistettuja ohjelmistoja korkean tason toimintoihin, kuten:
- liitettävyys
- tiedonsiirtoprotokollat
- verkon pino-operaatiot
- salaus ja turvallisuus
Kaupalliseen ohjelmistoon sisältyy valinnaisena asiantuntijan tarjoamat tukitoiminnot ja säännölliset päivitykset.
Myös piipohjaisten IP-suunnittelujen ulkopuolisilta toimittajilta on saatavissa ohjelmistotukea, joka usein koostuu valmisohjelmistosta ajureineen ja koodiesimerkkeineen. Näiden pitää olla sellaisessa muodossa, että niitä voidaan käyttää suoraan valituilla kehitystyökaluilla ja IDE-ympäristöissä.
Kun siirretään tuotteen toteutusta korttipohjaisesta ratkaisusta ASIC-tilauspiirille, suunnittelussa kannattaa hyödyntää mahdollisimman paljon jo hankittujen ohjelmistojen uudelleenkäyttöä. Milloin vain mahdollista kannattaa aloittaa valitsemalla sama prosessoriydin kuin mikä on jo nykyisin käytössä olevassa mikro-ohjaimessa. Tällöin voit jatkaa samojen kehitystyökalujen käyttöä ja muuttaa olemassa olevat ohjelmistot uudelle laitteistolle.
Joitakin eroja on alemman tason ohjelmistoissa liittyen ASIC-piirien liitäntöjen ja oheislaitteiden käyttöoikeus- ja konfigurointiominaisuuksiin, mutta ne ovat pääosin piilossa sovellustasolta.
Laitteistojen ekosysteemi
Alla oleva diagrammi kuvaa sulautettujen ohjelmistojen kehittäjän näkökulmasta SmartEdge-alustan ohjelmisto- ja laitteistokomponentteja. Alustan tulee tarjota riittävä laitteistotuki sovellus- ja kehitystyökaluille. Tämän takaamiseksi tarvitaan kattava laitteistoekosysteemi.
SmartEdge-alusta sisältää IP-tuotteet seuraavia toimintoja varten:
- anturien analoginen front-end ja langaton tietoliikenne
- kellot ja vaihelukitut silmukat (PLL)
- A/D- ja D/A-muuntimet
- tehonmuuttimet ja jännitereferenssit
- RF-komponentit
- lämpötila-anturit
Jokaisella valitulla prosessoriytimen toimittajalla on tarjolla tarvittavat tukikomponentit mukaan lukien sirunsisäinen väylä, keskeytysohjain, testausliitännät (yleisimpiä standardeja ovat JTAG, SWD, SWO) ja grafiikkakiihdyttimet.
Suuri valikoima muita IP-tuotteita on tarjolla CAD-toimittajilta ja kolmansilta osapuolilta. Tällaisia ovat muiden muassa:
- prosessoriytimet
- muistit (SRAM, flash)
- tiedonsiirtoliitännät (Bluetooth, Ethernet, Wi-Fi, USB jne.)
- teollisuusväylät (Foundation Fieldbus, HART)
- laitteistokiihdyttimet turvajärjestelmiin (esim. AES ja SHA) ja mediakoodekit
- anturit kiihtyvyyden, paineen ja muiden ympäristöparametrien mittaamiseksi
- digitaaliliitännät (GPIO, SPI, I2C, UART)
- oheislaitteet tehonhallintaan ja järjestelmänohjaukseen
SmartEdge-alusta
Adesto Technologiesin ASIC- ja IP-divisioonan toimittama SmartEdge-alusta sisältää kaikki analogisen etupään (AFE, front end), älykkään kalibroinnin, tiedonsiirron ja turvallisuuden toimintoihin tarvitsemat elementit. Adeston yhteistyökumppaneina on joukko piipohjaisten IP-lohkojen ja ohjelmistojen toimittajia. Adesto tukee sulautettujen ohjelmistojen kehitystiimejä niin asiakasyrityksen sisällä kuin partneriverkoston kautta.
Nykyaikaiset teollisuuden ohjausjärjestelmät keräävät dataa ja käyttävät sitä laitteiden ohjauksessa reaaliaikaisesti. Ne toimivat usein myös verkottuneina, joten turvallisuus on olennainen komponentti. Tämä voidaan toteuttaa sirulla olevalla turvalaitteistolla, joka on vähemmän altis hyökkäyksille kuin pelkkä ohjelmistopohjainen ratkaisu. Adeston ASIC- ja IP-divisioonan turvaosaamiseen erikoistuneet partnerit ovat apuna turvajärjestelmien rakentamisessa.
Adestolla on kokemusta ja osaamista tuotekehityksestä, jolla saavutetaan tuotteelle asetetut tekniset ja kaupalliset vaatimukset. Sen pohjalta asiakkaalle toimitetaan laitteistoratkaisu, joka tukee ohjelmistoja asiakkaan sulautetussa järjestelmässä.