Suorituskykyä, monipuoliset liitännät, leveämpi liitin ja äärimmäisen vähävirtainen toteutus. Ei ihme, että SMARC 2.0 puhuttaa sulautettujen sovellusten kehittäjiä.
Artikkelin kirjoittaja Peter Eckelmann toimii MSC Technologies GmbH:n sulautettujen korttien tuotemarkkinoinnista vastaavana päällikkönä. |
Sulautettujen tekniikoiden standardointiryhmä SGeT (Standardization Group for embedded Technologies) lanseerasi viime kesänä version 2.0 sulautettujen moduulien SMARC-standardista. Ensimmäisiä kortteja nähtiin jo viime keväänä Nünrbergin Embedded World -näyttelyssä Saksassa. Uuden määrityksen ympärillä olevan hypen takia kannattaa katsoa tarkemmin tätä ”äärimmäistä” vähävirtaisten prosessorimoduulien standardia ja verrata sitä SMARC 1.1-, Qseven- ja muihin standardeihin.
Sulautettujen moduulien standardit Qseven ja SMARC ovat molemmat SGeT-ryhmittymän täydessä hallinnassa, minkä takia monet yritykset ovat lähettäneet edustajiaan molempien standardien työryhmiin. Vuonna 2015 monet Qseven-työryhmän SDT.02 jäsenet tulivat siihen tulokseen, että Qseven-standardin taustalevylle signaaleja siirtävä 230-nastainen MXM-2-liitin oli täysin käytetty, eikä siihen voinut enää tuoda mitään lisäsignaaleja. Monissa ”todellisissa” sulautetuissa sovelluksissa oli kiire lisätä sulautetun laitteiston signaaleja, mikä ylitti Qseven-liittimen kapasiteetin.
Seuraavaksi leveämpi MXM-3 liitin oli 314 nastoineen vaihtoehto, josta puhuttiin jo SMARC 1.1 -standardia kehitettäessä. Samaan aikaan uudelleen kokoon kutsutun SGeT:n työryhmä SDT.01:n tehtävänä oli ei enempää eikä vähempää kun seuraavan polven SMARC-standardin määrittely. Monet Qseven-työryhmän yritysjäsenet olivat sitä mieltä, ettei markkinoille sopinut kahta samaa liitintä mutta eri nastajärjestystä käyttävää kilpailevaa standardia, ja siksi he liittyivät SMARC-työryhmään SDT.01 auttaakseen äärimmäisen vähävirtaisten prosessorimoduulien määrittelyssä.
Kaikkien tärkeiden prosessorisovellusten signaalien piti olla käytettävissä, mutta monet vanhemmat signaalit poistettiin määrittelystä, jotta saatiin nastoja vapaaksi uusille liitännöille, jotka toivat lisää nopeutta ja pienemmän nastamäärän. Tämä johtaisi toiminnallisuuden ja suorituskyvyn optimointiin. Siksi taaksepäin yhteensopivuus SMARC 2.0:sta SMARC 1.1:een ei ollut julkilausuttu tavoite, eikä sitä ole saavutettukaan (tai vain hyvin monien rajoitusten kanssa). Sen sijaan on saavutettu äärimmäisen tehokas standardi sekä ARM/RISC- että x86-prosessoreille.
SMARC-standardiin sisältuu kaksi moduulikokoa (82 x 50 mm ja 82 x 80 mm) ja siksi se tuo prosessorimoduulien rakentelijoille riittävästi joustavuutta toteuttaa oikea valikoima toimintoja optimaalisella kustannusten ja suorituskyvyn suhteella. Pienempi koko tarjoaa riittävästi tilaa yksisiruiselle järjestelmäpiirille kuten Intelin Atomille tai NXP:n i.MX6:lle, joihin voidaan lisätä DRAM-muisteja ja flash-piirejä. Jos moduuli on tarkoitettu vaativampiin sovelluksiin ethernetin kylkeen, voidaan kortilla tarvita lisäohjainpiirejä, jotka edellyttävät suurempaa korttiformaattia. Tämä pätee erityisesti silloin, kun vaaditaan RF-toimintoja kuten WLAN-, Bluetooth- tai 3G/4G-dataliikennettä. Tällöin kortille lisätään radiomoduuli, jolle standardi määrittelee jopa antenniliittimien sijoittelun.
Kuva 1. SMARC 2.0 -standardin signaalit 314-nastaisessa MXM-3 -liittimessä.
Verrattuna aikaisempaan SMARC 1.1 -määritykseen 2.0-laajennukseen lisättiin useita uusia liitäntöjä. Näihin kuuluu toinen LVDS-liitäntä, jota voidaan käyttää ajamaan suuriresoluutioisia LCD-näyttöjä kaksikanavaisesti yhdessä ensimmäisen LVDS-kanavan kanssa (mikä antaa mahdollisuuden aina täysteräväpiirtoiseen TFT-resoluutioon), tai vaihtoehtoisesti voidaan operoida kahta erillistä näyttöä erillisillä LVDS-kanavilla. Uusi standardi mahdollistaa myös LVDS-nastojen vaihtoehtoisen käytön DSI- tai sulautetulle DisplayPort-väylälle (eDP). Tämän toteuttamiseksi pienemmän LCD-näytön rinnakkaisista RGB-linjoista piti luopua, mutta uusissa näytöissä ja moderneissa sovelluksissa näille ei ole enää tarvetta.
Jo valmiin HDMI-grafiikkaportin viereen uusi standardi toi yhdistetyn HDMI/DP-portin, joka on määritelty DP++:ksi, koska se toteuttaa signaalit niin DisplayPort-, HDMI- ja DVI-liitännöille. Yhdessä HDMI- ja LVDS-porttien kanssa se avaa mahdollisuuden ajaa erillisesti kolmea eri näyttöjärjestelmää (sillä oletuksella, että moduulin mikroprosessori tukee kolmea itsenäistä näyttöä, tottakai).
SMARC 1.1:ssä oli vain yksi gigabitin ethernetin liitäntä, mitä on nyt kasvatettu kahteen, koska modernit sovellukset yleensä vaativat kahta LAN-porttia ohjaamaan kahta ethernet-aliverkkoa. Lähinnä tällä pidetään kaksi tietoliikennealuetta – esimerkiksi anturi- ja verkonhallinta IoT-yhdyskäytävässä – erillään. Reaaliaikaiset käynnistyssignaalit on lisätty molempiin ethernet-portteihin, jotta niihin saadaan reaaliaikatoiminnallisuus IEEE1588:n mukaisesti.
SMARC 2.0 sisältää jopa neljä PCI Express -liitäntää eli yhden enemmän kuin 1.1-standardi. Joillakin alustoilla voidaan käyttää optiona PCI x4 -väylää, joka tuo merkittäviä parannuksia suorituskykyyn. USB:ssä tilanne on samanlainen, sillä kolmen USB 2.0 -portin lisäys tuo käyttöön jopa kuusi USB 2.0 -liitäntää kahden USB 3.0:n rinnalle. Tämä korostaa SMARC-standardin suorituskykyä x86-alustoilla, koska nämä prosessorit vaativat aina enemmän USB-portteja.
ARM/RISC-alustoille korteilla on kaksi USB-porttia, jotka optiona tukevat asiakastoiminnallisuutta (Client). Edelleen x86:sta varten toinen kahdesta SPI-väylästä laajennettiin eSPI-väyläksi. Kahta audioliitäntää voidaan käyttää rinnan, toista I2S-audiolle jota ARM-prosessorit käyttävät, ja toinen HD-audiolle, joka on x86-prosessorien standardikoodekki.
Tuki suosiotaan menettävälle 8-bittiselle MMC/SD-kortille on jätetty pois, kun taas 4-bittinen SDIO-liitäntä on säilytetty suosittujen SD-korttien takia. Myös rinnakkainen kameraliitäntä jätettiin pois, jotta saatiin tilaa edellä mainituille uusille väylille. Sen sijaan kortilla on edelleen kaksi MIPI CSI-2 -liitäntää, yksi kaksilinjainen ja toinen nelilinjainen. Tämä tekee SMARC 2.0:sta kameraliitännöiltään leveimmän ja joustavimman kaikista COM-standardeista (Computer-on-Module). Eikä siinä vielä kaikki: SMARC 2.0 pitää sisällään myös SATA-liitännän, 12 GPIO-liitäntää, kaksi CAN-väylää ja jopa neljä UART-sarjaliitäntää, jotka ovat aina tärkeitä sulautetuissa sovelluksissa.
Yksi SMARC 2.0 -standardin parhaiten aikaa kestävistä ominaisuuksista on suuri joukko käytettävissä olevia linjoja MXM-3-liittimessä. Näitä voidaan käyttää tulevaisuudessa esimerkiksi uusien liitäntöjen lisäämiseen, joita emme vielä edes tiedä. Tämä standardin laajennusmahdollisuus varmistaa sen, että sitä voidaan parantaa myöhemmin ilman, että tämä päivän peruslevyt tai moduulit muuttuvat käyttökelvottomiksi. Mikään nykyisistä SMARC 2.0 -standardiin suunnitteluista laitteista ei joudu hukatuksi, kun uusia standardiversioita julkaistaan. Päinvastoin, standardiin on sisäänrakennettu päivitettävyys, joten investoinnit tulevat suojatuksi. Lisäturvaa tuo se tosiseikka, että kaikki sulautettujen moduulien keskeiset valmistajat olivat mukana SGeT:n SMARC-työryhmissä, kun standardia määriteltiin ja ne ovat kaikki julkistaneet suunnitelmansa tarjota standardia tukevia tuotteita markkinoille.
Kuva 2. MSC:n SMARC 2.0 -moduuli NXP i.MX6-sovellusprosessorilla.
Avnet Embeddedin ja MSC Technologiesin ensimmäinen SMARC 2.0 -moduuli perustui NXP:n Arm Cortex-A9 pohjaiseen i.MX6-prosessoriin. Sitä tukeva peruslevy pohjaa Mini-ITX-formaattiin. MSC SM2S-IMX6 -moduuli tukee neli-, kaksi- ja yksiytimisiä prosessoreita sekä uusia ”Plus”-prosessoreita, joissa datankäsittely ja grafiikanprosessointi on tehokkaampaa. Moduuli on pienempää formaattia (82 x 50 mm) ja se tukee jopa 4 gigatavun DRAM-muistia ja 64 megatavun sulautettua eMMC-flashia. Integroitu MicroSD-korttipaikka mahdollistaa lähes minkä tahansa kokoisten flash-korttien liittämisen, ja molempia flash-muisteja voidaan käyttää käynnistämiseen ja jopa käyttöjärjestelmän tallennuspaikaksi.
HDMI- ja LVDS-grafiikkaliitännöistä voidaan ajaa FullHD-tasoista näyttöä. Moduuli tukee PCI Express Gen. 2.0 ja SATA II -liitäntää aina 3.0 Gbps -nopeuteen, sekä viittä USB 2.0 -isäntäliitäntää ja OTG-liitäntää (isäntä/asiakas) gigabitin ethernet -liitännän, 4x UART, 2x SPI, 2x I2C ja kahden CAN-väylän lisäksi. MIPI CSI-2 -liitäntää voidaan käyttää kameratulona. Uusi moduuli on tarjolla erilaisina versioina teollisuuslämpötiloissa (-40°...+85°C ) sekä kulutuslaitteiden lämpötila-alueelle.
Uuden SMARC 2.0 -moduulin sisäinen rakenne käyttää samaa laiteydintä kuin MSC:n suositut Qseven- ja nanoRISC-moduulit, jotka perustuvat NXP:n i.MX6-prosessoriin. Siksi täysi ohjelmistotuki on tarjolla alusta alkaen, käynnistyslataimesta käyttöjärjestelmään, ajureista työkaluihin. Tämä pitää sisällään Yocto Linuxin ja Androidin. Tuki Windows Embedded Compactille (WEC2013 ja WEC7) ja muille linux-versioille on tulossa myöhemmin.
Kuva 3. SMARC 2.0 -taustakortti MSC:ltä Mini-ITX-formaatissa.
Peruslevy (MSC SM2-MB-EP1) on mini-ITX-tyyppiä (170 x 170 mm) ja se mahdollistaa useimpien SMARC 2.0 -ominaisuuksien hyödyntämisen. Liitäntöjen laaja valikoima tekee siitä täydellisen valinnan SMARC 2.0 -moduulien evaluointiin, mtta sitä voidaan käyttää myös moniin volyymisovelluksiin.