Sulautetun laitteen kehitys onnistuu useimmiten helpoiten valmiiden moduulien avulla. Nykyään niitä saa myös tehokkailla Apollo Lake -sarjan prosessoreilla varustettuna.
Artikkelin kirjoittaja Tim Jensenillä on yli 20 vuoden kokemus sulautettujen laitteiden kehityksestä. Vuodesta 2016 asti hän on toiminut Avnet Integratedilla liiketoiminnan kehityksestä vastaavana johtajana. Hän vetää Avnetin sulautettujen ohjelmistojen kehitystä Euroopassa. |
Intelin sulautettujen Atom-prosessorien Apollo Lake -versio perustuu 14 nanometrin valmistusprosessiin. Se on aiempaa suorituskykyisempi, grafiikkalaskennaltaan tehokkaampi, vähemmän tehoa kuluttava kuin edeltäjänsä, tukee uusia S0ix-unitiloja, sekä uutta synkronointitekniikkaa, jolla laitteet voidaan synkronoida mikrosekuntitasolla. IoT-päätelaitteisiin Apollo Lake lupaa vallankumousta, mutta miten siitä saadaan paras hyöty sulautetuissa laitteissa?
Sulautetun järjestelmän suunnittelun aloittaminen täysin nollasta SoC-piiriä käyttäen on pitkä ja vaivalloinen prosessi, jossa järjestelmät ovat usein jo vanhentuneita markkinoille ehtiessään, ja lukittuja edellisen kehityspolven prosessoritekniikkaan. Modulaarinen lähestymistapa voi auttaa suunnittelijoita helpommin integroimaan uusimpia SoC-tekniikoita, kuten Apollo Lake -prosessorit, mikä nopeuttaa kehitysprosessia ja tuo samalla standardoidun päivityspolun tulevaisuuden prosessoritekniikoita varten.
Apollo Lake ja IoT-reunan nousu
Vuoden 2016 jälkimmäisellä puoliskolla esitelty Apollo Lake tuo edeltäjiinsä verrattuna 30 prosenttia enemmän laskentatehoa 15 prosenttia pienemmällä tehonkulutuksella. Lisäksi sinä on paranneltu grafiikka- ja tietoturvaominaisuuksia, sekä tukea IoT-sovelluksille.
IoT:een keskittyvät Apollo Lake -piirit merkitään E-tunnuksella (Embedded). E3900-sarjaan kuuluvat E3930-, E3940- ja E3950-prosessorit, joiden kellotaajuudet yltävät 1,3-1,6 gigahertsiin ja lämpöbudjetti (TDB) 6,5-12 wattiin. Tässä Atom-piirien sukupolvessa DDR4-muistia on jopa 8 gigatavua ja grafiikkaprosessori pystyy toistamaan 4K-videota.
Nämä eivät ole tyypillisiä vähävirtaisen IoT-solmun lukemia mutta ei Intel tavoittelekaan vähävirtaisten ARM-piirien aluetta. Sen sijaan nämä piirit on tarkoitettu IoT:n reunalla ja ns. sumulaskentaan (Fog). Niiden laskentateho ja tehonkulutus asettuvat mobiili- ja pöytäkoneprosessorien väliin, ja niihin on lisätty IoT-tyylisiä toimintoja. Piirit tukevat Intelin TCT-tekniikkaa (Time Coordinated Technology), jonka ansiosta verkkoon laitteet pysyvät tahdistettuina, sekä Windows 10 IoT Core -käyttöjärjestelmää, joka on erityisesti sulautettuja IoT-sovelluksia varten kehitytty Win10-versio.
Vähävirtaisten anturien sijaan IoT-reuna (Edge) koostuu yhdyskäytävistä, reitittimistä ja muista keskitason tehonkulutuksenlaitteista, jota keräävät ja analysoivat dataa ennen kuin se lähetetään pilveen. Tästä seuraa välittömiä etuja esimerkiksi valvonnassa, automaatiossa ja kaikessa, joissa datan yksityisyys ja reaaliaikainen prosessointi on yhtä tärkeää kuin datan pilvianalytiikka.
Apollo Lake -pohjainen Edge-laite sairaalaympäristössä voi prosessoida potilasdataa reaaliaikaisesti välittömään käyttöön, ja sen jälkeen lähettää siistityn datan pilveen lisäanalyysiä varten. Samalla tavoin voi ”älykkäässä” tehtaassa olla tarve datan reaaliaikaiselle prosessoinnille ”reunalla” automaatioprosessien ajamiseksi, sekä syvemmälle analyysille, jonka pilvilaskenta mahdollistaa.
Normaalisti uusien prosessoritekniikoiden kuten Apollo Laken integrointi voi viedä vuoden tai pidemmänkin aikaa, mutta COM-moduulien avulla suunnittelijat voivat suuresti nopeuttaa tätä prosessia.
Nopeampaa kehitystä COM-moduuleilla
Kehitysajan lyhentäminen niin, että samalla pienennetään riskejä, onnistuu vain integroimalla. Hyödyntämällä valmiita, integroituja korttimoduuleja sen sijaan että suunnittelee sulautettuja järjestelmiä aina alusta asti uudelleen, säästää suuresti kehitys- ja testausaikaa. Samalla riskit vähenevät.
Äärimmilleen vietynä integraatio tarkoittaa tietenkin valmista tietokonetta. Teollisuustietokoneita tulee eri muodoissa, korttiformaateissa ja konfiguraatioissa. Geneerisen tietokoneen luonteeseen kuitenkin kuuluu, että se on ”ylirakennettu”: valmiiden ratkaisujen koko, hinta ja joustamattomuus tekee niistä huonosti sopivia sulautettuihin laitteisiin, joissa koko, paino, tehonkulutus ja usein kustannuksetkin pitää optimoida spesifiä loppukäyttäjäsovellusta varten.
COM-moduuleilla (computer-on-module) päästään tasapainoon resurssien optimoinnin ja kustomoidun suunnittelun joustavuuden välillä ja samalla valmis ratkaisu nopeuttaa suunnittelun markkinoille saamista. Usein moduulit on rakennettu järjestelmäpiirin kuten Intelin Atomin ympärille. Ne ovat kooltaan kompakteja, mutta sisältävät silti kaikki ydintoiminnot samalla kortilla, kuten muistin ja I/O-ohjaimet, joten järjestelmän integroinnista tulee helppoa. Sulautetun laitteen luomiseksi COM-moduuli liitetään carrier- eli alustakorttiin, joka voi olla räätälöity ja sisältää joitakin sovelluskohtaisesti määriteltyjä toimintoja. Alustakortti tuo portit ja liittimet oheislaitteille, kuten verkkolaitteille, syöttölaitteille ja näytöille.
Alustakortin avulla sulautetussa järjestelmässä voidaan sovelluskohtaiset toiminnot erottaa peruslaskennan toiminnoista. Sulautetun laitteen suunnittelija voi keskittyä sovelluskohtaiseen toiminnallisuuteen sen sijaan, että hän keksisi pyörän uudelleen. Tämä säästää aikaa ja rahaa, ja myös pienentää kehitykseen aina sisältyviä riskejä. Joissakin projekteissa voidaan myös käyttää valmiita kaupallisia alustakortteja, mikä osaltaan lyhentää kehitykseen kuluvaa aikaa entisestään.
COM-lähestymistapa antaa suunnittelijoille mahdollisuuden sisällyttää helposti ja nopeasti uusimmat prosessiteknologiat kuten Apollo Laken omiin suunnitteluihinsa. Samalla ne tuovat yksinkertaistetun päivityspolun. Standardoidut korttikoot ja liittimet yhdessä CPU-riippumattoman alustan kanssa tarkoittavat, että prosessoritekniikan päivittäminen vaatii vain COM-moduulin päivittämisen ja ohjelmistopäivityksen sen sijaan, että koko järjestelmä pitäisi suunnitella uudestaan.
Kaikkien tuomiensa hyötyjen ansiosta COM-lähestymistapa on ollut iso menestys alusta asti. Sen sisällä on aikojen saatossa kehittynyt joukko standardiratkaisuja.
COM Express
Vaikka järjestelmämoduuliajattelu on ollut vallalla jo vuosia, COM Express oli ensimmäinen standardi, joka sovelsi ideaa sulautettujen järjestelmien suunnitteluun suurella menestyksellä.
PICMG-konsortion vuonna 2005 kehittämä COM Express keskittyy tuomaan tehokkaan prosessoinnin suhteellisen pienellä kortilla. Prosessorit ovat yleensä x86-pohjaisia ja sulautettujen suorittimien keski- ja kärkiluokan alueelta: vähävirtaisista Atom-järjestelmäpiireistä palvelinluokan Xeon-prosessoreihin.
COM Express tulee useina eri tyyppeinä, jotta se voi vastata laajan sulautettujen järjestelmien tarpeisiin, joihin kuuluu erityisiä I/O-liitäntöjä ja niitä vastaavia nastoituksia. Nämä vastaavat erilaisiin I/O-tarpeisiin, hintaluokkiin ja kokorajoituksiin erilaisissa sulautetuissa järjestelmissä.
Kun I/O-portit ja standardit ovat vuosien varrella kehittyneet, niin ovat myös COM Express -tyypit. Tämän päivän suosituimpia korttityyppejä ovat Type 6 ja Type 10, jotka tukevat uusinta PCI Express -oheislaiteväylää sekä digitaalisia näyttöliitäntöjä (DDI, digital display interface), joiden avulla saadaan ulos HDMI-, DisplayPort- ja DVI-grafiikkaa. Type 6 keskittyy suurempiin PC-tyyppisin sulautettuihin järjestelmiin, joissa on 24 PCI Express -linjaa, kolme DDI-lähtöä ja kolme SATA-liitäntää, kun taas Type 10 tähtää pienempiin järjestelmiin, joissa riittää neljä PCIe-linjaa, kaksi DDI-lähtöä ja kaksi SATA-liitäntää.
Kuva 1. COM Express Mini -kortit kuten tämä MSC:n 55×84-millinen Type 10 Apollo Lake -kortti tuovat paljon laskentatehoa pienessä, kompaktissa kotelossa.
Sen lisäksi, mitä COM Express tuo I/O-joustavuutta eri tyypeillään, se tukee eri korttikokoja erilaisia sulautettuja formaatteja varten. Alun perin peräti 110x115 millin koon rinnalle on tullut pienempiä kokoja ajan kuluessa, joista suosituimpia ovat nykyään Basic (95×125mm), Compact (95×95mm) ja Mini (55×84mm). Sulautettujen IoT-laitteita varten Compact-koko sopii hyvin Type 6 -moduuleihin, joissa tarvitaan robustia I/O-liitettävyyttä ja laajennusmahdollisuuksia, ja Mini-koko sopii Tyypin 10 moduuleihin, joissa tarvitaan tehokasta laskentaa pienessä formaatissa.
Lukuun ottamatta Mini-kokoa (kuva 2), joka liitetään yleensä Type 10:n COM-moduuleihin, kortin tyyppi – ei koko – määrittelee alustakortin yhteensopivuuden. Type 6 -alustakorttia voidaan käyttää joko Basic- tai Compact-koon Type 6 -korttien kanssa.
Type 10 -kortin Mini-kokoinen moduuli on tuorein lisäys sarjaan ja alun perin suunniteltu suorituskyvyltään keski- ja huippuluokan laitteisiin, jotka vaativat PC-tyypin suorituskykyä ja I/O-liitettävyyttä. Tulokas on tuonut COM Expressiin joustavuutta tukea myös pienikokoisia, alhaisen tehonkulutuksen laitteita.
QSeven
Atom-järjestelmäpiirille suunniteltu QSeven on vuonna 2008 esitelty x86-pohjainen COM-standardi. 12 watin maksimitehobudjetilla sen keskiössä ovat tiukasti alhaisen tehonkulutuksen pienikokoiset sulautetut laitteet.
QSevenissä on pienempi määrä I/O-liitäntöjä kuin useimmissa COM Express -tyypeissä, sillä se on suunniteltu mobiililaitteita varten. Käytetyt toisaalta sopivat hyvin mobiilisovelluksiin. Näihin kuuluu neljä PCIe-linjaa, kaksi SATA-porttia, useita USB-portteja, gigabitin Ethernet, SDIO, LVDS LCD-näyttöjen lähtöjä varten, digitaalinen näyttöliitäntä, HDA-liitäntä (high-definition audio), ja sarjaliitännät. Uutena formaattina se pääsi eroon vanhoista PCI-, ISA- ja vastaavista liitännöistä uudempien ja tulevaisuuteen enemmän valmiiden tieltä.
Matalan MXM-liittimen ja vain 70x70 millin koon ansiosta QSeven sopii hyvin pieniin sulautettuihin sovelluksiin kuten kannettaviin tai kädessäpidettäviin laitteisiin.
Samankokoisen COM Express Type 10 Mini -moduulin myötä – joka myös eliminoi vanhat legacy-liitännät uusien modernien liitäntöjen tieltä – Qsevenin suosio on hieman hiipunut. Se on silti edelleen pätevä COM-tekniikkaa, erityisesti ilman tuuletinta toimivissa alhaisen tehonkulutuksen mobiileissa sulautetuissa sovelluksissa.
SMARC 2.0
Kuva 2. Tämä MSC:n 80x80-millinen SMARC 2.0 -moduuli on pitkälle integroitu ratkaisu, joka tukee kolmea erillistä näyttöä, DDR3-muistia, eMMC-muistia ja SATA-väylästä flashia ja USB 3.0:a kortille integroidun langattoman tuen lisäksi.
SMARC on ultravähävirtainen sulautettu COM-standardi, jonka kehitys saatiin valmiiksi vuonna 2012. Sen tehobudjetti (6W) on jopa QSeveniä tiukempi. Siinä missä QSeven-formaatti kehitettiin alun perin Atom-järjestelmäpiirejä varten, SMARC suunniteltiin ARM-prosessoreille. Se on sittemmin päivitetty tukemaan myös Atom-prosessoreja.
SMARC käyttää 314-nastaista MXM3-liitintä, joka on tarkoitettu matalatehoisiin ja mobiileihin sovelluksiin. Se I/O-liitäntöihin kuuluvat rinnakkaiset LCD-näyttöliitännät, USB-toiminnot (host ja client), PCI Express, SDIO, eMMC ja erilaiset sarjaliitännät kuten kaksi MIPI CSI -kameraliitäntää.
Vuonna 2016 SMARC-standardi päivitettiin versioon 2.0. Se lisäsi määrityksiin lisätuen HD-grafiikkalähdölle kaksitoimisen DisplayPort-väylän (DP++) muodossa, toisen LVDS-kanavan, toisen gigabitin Ethernet-liitännän, lisää USB-portteja, neljännen PCI Express -linjan ja tuen x86-tehonhallintasignaaleille.
SMARC-standardi tukee joko 80x80 tai 80-50 millin kokoa. Suuremman moduulin I/O-tuki on laajempi, kun taas pienempi on omiaan edullisiin tai rajoitetun tilan toteutuksiin. SMAR tukee 3-5.25 voltin syöttöjännitteitä. Tämä pienentää kortin tilavaatimuksia tehomuuntimille, ja antaa paremman tuen akkupohjaisille teholähteille.
Keskittyessään ultravähävirtaisiin ja mobiileihin sulautettuihin sovelluksiin, sekä nastamäärältään QSeveniä suurempana, SMAR on kestävä sulautettu COM-standardi vahvoilla I/O-mahdollisuuksilla.
COM-moduulie integraation myötä suunnittelijat voivat helpommin ja nopeammin hyödyntää uusia teknologioita, kuten Apollo Lake -prosessoreja.