Rask, integrert, trådløs IoT-utvikling med en serieprodusert, integrert Linux Multicore-platform

Av Stephen Evanczuk

Bidrag fra DigiKeys nordamerikanske redaktører

Avanserte IoT-utrustninger for industri, medisin, transport og landbruk krever mer komplekse, integrerte systemdesign. I slike situasjoner har utviklere ikke hatt annet valg enn å lage tilpassede kort for å møte krav til ytelse, tilkobling og periferiutstyr, til tross for at de står overfor strammere tidsplaner og krympede budsjetter. Selv om serieproduserte kort kan være tilgjengelige, utelukker ytelse, kraft, størrelse, format og funksjonsblanding forhindre bruken av dem.

I en tid med allment utbredt IoT, samt industriell-IoT (IIoT) har imidlertid selv de mest produktive tilpassede utviklingsteamene blitt forsinket av regionale sertifiseringskrav for trådløse delsystemer som har bremset levering og erodert markedsmuligheter.

Denne artikkelen ta for seg problemet med å lage selv eller kjøpe ferdig integrerte kort med trådløse-aktiverte funksjoner. Deretter introduserer den en bruksklar utviklingsplattform fra Digi som gir et omfattende programvaremiljø og en optimalisert maskinvareplattform med forhåndssertifiserte trådløse moduler. Artikkelen viser hvordan settet raskt og enkelt kan brukes til å hjelpe utviklere med å levere kraftigere tilkoblede integrerte systemløsninger.

Utvikling av innebygde kort, – lage selv eller kjøpe ferdig

For utviklere for innebygde systemer fortsetter sluttbrukernes forventninger, samt konkurransepress å øke etterspørselen etter produkter med større funksjonalitet levert i begrenset tidsvindu før markedslansering. Brukere foretrekker systemer som har enkel tilkobling, bruk og vedlikehold. Som et resultat møter utviklere økende utfordringer langs en rekke fronter. For trådløs tilkobling medfører trådløse løsninger for kort eller lang rekkevidde ytterligere krav til sertifisering av konstruksjon; implementering av passende skjermegenskaper gir konstruksjonskompleksitet og -kostnader; samt å sikre kontinuerlig pålitelighet og langvarig tilgjengelighet av disse systemene utfordrer utviklere til å finne løsninger som tåler tøffe forhold som i tillegg må være tilgjengelige i de lengre livssyklusene som ofte finnes i industrielle eller medisinske apparater.

For noen apparater er en passende løsning kritisk avhengig av tilpassede designtilnærminger, for å optimalisere hvert delsystem for å oppfylle kravene. Serieproduserte løsninger gir imidlertid i økende en plattform som enkelt kan utvides for å støtte de unike kravene til et bredt spekter av apparater. Likevel heller utviklingsteam noen ganger i retning av beslutningen om å bygge brukertilpassede løsninger kontra å kjøpe ferdigbygde systemer når det gjelder utviklingskostnader alene. Beregningene viser at det vil koste mindre å bygge et brukertilpasset design fra grunnen av, enn å kjøpe en ferdig produsert løsning.

Faktisk kan utviklingsteam finne at andre hensyn, som trådløs sertifisering, tilgjengelighet, vedlikehold og andre livssyklusproblemer kan øke de totale kostnadene. I et marked som er i rask bevegelse, kan forsinkelsen som kreves for å implementere et tilpasset design ytterligere ødelegge markedsandeler og forkorte den lønnsomme perioden – og til sjuende og sist, begrense lønnsomheten for et nytt produkt.

For å løse disse problemene, tilbyr Digi's CC-WMX8MN-KIT ConnectCore 8M Nano-utviklingssett et effektivt alternativ for tilpasset utvikling, samt gir en nøkkelferdig plattform som kan oppfylle krav til ytelse og kostnader i et bredt spekter av apparater (figur 1).

Bilde av Digi CC-WMX8MN-KIT ConnectCore 8M Nano-utviklingssett Figur 1: Digi CC-WMX8MN-KIT ConnectCore 8M Nano-utviklingssett gir alt som trengs for å begynne å utvikle tilkoblede systemer som kan oppfylle økende krav til HMI-design, lyd- / videobehandling, edge computing og maskinlæring. (Bildekilde: Digi)

Hvordan en bruksklar løsning løser ulike funksjonelle krav

Digi CC-WMX8MN-KIT ConnectCore 8M Nano-utviklingssett gir en omfattende maskinvareplattform som er designet for å redusere utviklingstid og bidra til raskere markedslansering for systemer. Ved hjelp av dette settet kan utviklere enkelt implementere systemer som skaleres for å støtte applikasjoner så varierte som HMI-design (human-machine interface), lyd- / videobehandling, edge computing, maskinlæring med mer. Sammen med Digi ConnectCore 8M Nano-utviklingskortet, inneholder settet en dual-band antenne, en konsollportkabel og en strømforsyning, slik at utviklere umiddelbart kan begynne å opprette tilkoblede applikasjoner.

I likhet med andre Digi CoreConnect-utviklingssett, utnytter ConnectCore 8M Nano-utviklingssettet Digis høyintegrerte SoM-løsninger (system-on-module). Basert på medlemmer av NXP Semiconductors familie av i.MX-prosessorer, integrerer Digis ConnectCore SOM-er som gir muligheter for multimedia, sikkerhet, kablet tilkobling og forhåndssertifisert trådløs tilkobling, blant andre funksjoner som kreves for typiske innebygde applikasjoner. Når de er benyttet i kombinasjon med et omfattende programvaremiljø, forenkler disse SoM-ene utviklingen av integrerte systemer, slik at produktprodusenter kan levere mer sofistikerte produkter raskere og med lavere risiko enn vanligvis mulig med tilpassede tilnærminger til maskinvaren.

For utviklingssettet CC-WMX8MN-KIT kombinerer en Digi SOM egenskapene til NXPs i.MX 8M Nano-prosessor basert på quadVæpne ® Cortex®-A53 og Arm Cortex-M7-kjerner med opptil 8 gigabyte (GB) Flash, opptil 1 GB low-power double data rate (LPDDR) dynamic random-access memory (DRAM), og en rekke ekstra undersystemer ( Figur 2).

Bilde av Digi SoM basert på NXPs i.MX 8M Nano-multikjerneprosessor Figur 2: Digi SoM er basert på NXPs i.MX 8M Nano multicore-prosessor og integrerer minne, tilkoblingsmuligheter, sikkerhet og strømstyringsfunksjoner som kreves i typiske integrerte systemkonstruksjoner. (Bildekilde: Digi)

Blant delsystemene integrerer SoM en sikkerhetsenhet fra Microchip Technology sin CryptoAuthentication-familie som supplerer Arm Cortex-A53-kjernenes TrustZone-sikkerhetsfunksjoner. CryptoAuthentication-enheten kombinerer en dedikert kryptografisk prosessor, høykvalitets tilfeldig nummergenerator og beskyttet nøkkellagring for å utføre høyhastighets sikker utførelse av hash- og PKI-algoritmer (public-key infrastructure).

SoM sin innebygde tilkoblingsalternativer støtter gigabit Ethernet (GbE) samt forhåndssertifisert 802.11a/b/g/n/ac Wi-Fi og Bluetooth 5. For å oppfylle kravene til fjernnett (wide-area networking – WAN) kan utviklere legge til mobil- og andre tilkoblingsalternativer bare ved å koble Digi XBee-moduler til CC-WMX8MN-KIT-kortets oppsett med XBEE-kompatible tilkoblinger.

Sammen med et komplett sett med standard perifere grensesnitt, støtter SoM flere multimediegrensesnitt for lyd, kamera og skjermer. En innebygd grafikkbehandlingsenhet og LCDIF-kontroller (liquid crystal display interface) lar utviklere enkelt legge til et valgfritt LCD-panel, for eksempel Digi CC-ACC-LCDW-10, og raskt begynne å utforme HMI-design for sine innebygde applikasjoner.

Styring av strøm i design basert på avanserte prosessorer

Å administrere strøm i et komplekst integrert system kan være en betydelig utfordring, spesielt når systemdesignet integrerer en avansert prosessor som NXP i.MX 8M Nano. Som med andre prosessorer i denne klassen grupperer NXP i.MX 8M Nano sine mange forskjellige delsystemer i separate strømdomener for sine kjerneprosessorer (VDD_ARM og VDD_SOC), GPU (VDD_GPU), minne (VDD_DRAM, NVCC_DRAM), sikrer ikke-flyktig lagring (NVCC_SNVS_1P8, VDD_SNVS_0P8) og mange andre. Utviklere trenger ikke bare å levere hensiktsmessige strømskinner for hvert domene, men også levere (og fjerne) strøm til hvert domene i en bestemt tidssekvens (figur 3).

Bilde av de NXP i.MX 8M Nano-partisjonene sine delsystemerFigur 3: Som med de fleste avanserte prosessorer deler NXP i.MX 8M Nano sine delsystemer i separate strømdomener som trenger at deres individuelle spenningsforsyningsskinner slås på i en bestemt sekvens ved oppstart. (Bildekilde: NXP Semiconductor)

Faktisk, så krever Digis ConnectCore i.MX 8M Nano SoM bare to strømforsyningsinnganger og bruker ROHM Semiconductor sin BD71850MWV PMIC (power management IC) for å levere flere strømforsyningsspenningsnivåer som kreves av i.MX 8M Nano-prosessoren og andre enheter. ROHM BD71850MWV er designet spesielt for å støtte NXP i.MX 8M Nano-prosessoren, og integrerer flere bukkregulatorer og LDO-regulatorer for å levere et komplett sett med strømskinner fra en primær VSYS 5-volts forsyning (figur 4).

Skjema over ROHM BD71850MWV PMIC Figur 4: ROHM BD71850MWV PMIC er designet spesielt for å forsyne NXP i.MX 8M Nano-prosessoren og gir et komplett sett med strømskinner som kreves av prosessoren, samt andre enheter i en typisk innebygd systemkonstruksjon. (Bildekilde: ROHM Semiconductor)

Selv om BD71850MWV administrerer de detaljerte oppstarts- og avslutningssekvensene som kreves for prosessoren, legger Digi til et ytterligere kontrollnivå designet for å optimalisere det totale strømforbruket og opprettholde systemets pålitelighet. Digi Microcontroller Assist (MCA) er integrert i SoM og bruker en dedikert NXP Kinetis KL17 MKL17Z64VDA4-mikrokontroller (MCU) for strømstyring på systemnivå. Basert på Arm Cortex-M0+ -kjernen med ultralavt energiforbruk, bruker NXP Kinetis KL17 MCU bare 46 mikroampere (μA) per megahertz (MHz) i svært lavenergisk kjøremodus og 1,68 μA i stoppmodus, der den opprettholder minne- og sanntidsklokkefunksjon (real-time clock – RTC).

MCA er designet for å forbli aktiv selv når systemet er i dvalemodus, og utfører oppgraderbar firmware som kjører på KL17 MCU for å gi flere alternativer for å vekke NXP i.MX 8M Nano-systemprosessoren. Digi angir for eksempel en standardinnstilling som deaktiverer systemprosessorens RTC til fordel for RTC-funksjonaliteten med lavere effekt implementert i MCA-firmware. Utviklere kan bruke MCA sitt 12-bits A/D-omformer (analog-to-digital converter – ADC) til å overvåke eksterne hendelser og generere et avbrudd for å vekke systemprosessoren bare når det er nødvendig. Omvendt implementerer MCA-firmware tre flerkanals pulsbreddemodulasjonskontroller (PWM-kontroller) for eksterne operasjoner. For å sikre generell systempålitelighet gir MCA-firmwaren også funksjonalitet med overvåkningstidsbryter (watchdog timer) som tilbakestiller hele systemet eller bare systemprosessoren hvis programvaren som kjører på prosessoren henger, eller på annen måte ikke utfører vanlig overvåkningstidsbryter-vedlikehold under normal programvareutførelse.

Ved systemoppstart starter MCA å kjøre så snart den mottar strøm. Etter en programmerbar forsinkelse starter MCA igjen BD71850MWV PMIC, som utfører i.MX 8M Nano-oppstartssekvensen som er beskrevet tidligere. Systemtilbakestilling eller overgang fra dvaletilstander med lav effekt fungerer på omtrent samme måte som den MCA-koordinerte strømgjenopprettingen med PMIC og prosessor.

Et produksjonsklart integrert Linux-programvaremiljø

Utviklingssettet Digi CC-WMX8MN-KIT bruker sin omfattende maskinvarebase til å gi et produksjonsklart programvaremiljø som kjører den åpne kildekoden Digi Embedded Yocto (DEY). Basert på Yocto-prosjektets populære innebygde Linux-distribusjon, utvider DEY baseline-distribusjonen med ytterligere kortstøttepakkefunksjoner (board support package – BSP) designet spesielt for å støtte Digi-maskinvareplattformen (figur 5).

Skjema over Digi Embedded YoctoFigur 5: Digi Embedded Yocto utvider grunnlinjedistribusjonen av Yocto Project Linux med BSP-utvidelser for Digi-maskinvare. (Bildekilde: Digi)

Blant BSP-utvidelsene til Linux-kjernen gir Digis TrustFence et sikkerhetsrammeverk for Linux-enheter. Ved hjelp av sine autentiserings- og identitetsstyringsfunksjoner strekker TrustFence-tjenestene seg fra lavnivåtilgangskontroll av interne og eksterne inngangs/utgangs-porter (I/O-porter) til høynivåstøtte for sikre nettverkstilkoblinger og sikker oppstart ved hjelp av validerte firmware-bilder. Selv om det i utgangspunktet ikke støttes på ConnectCore 8M Nano-modulen, vil Digi TrustZone være tilgjengelig i en fremtidig DEY-utgivelse.

I tillegg til å bruke sikkerhet og administrasjon på individuelt enhetsnivå, trenger storskala-IoT-programmer uten tvil muligheten til å overvåke og administrere flåter av IoT-enheter. For å støtte disse kravene tilbyr Digi Remote Manager, en skybasert tjeneste som er utviklet for å støtte overvåking av enhetens helse, konfigurasjonsstyring og firmware-oppdateringer. Ved hjelp av en mobilapp eller skrivebordsprogramvare kan utviklere bruke Digi Remote Manager til å vise detaljer om enhetens flåteoperasjoner, inkludert flåtens helse, varsler, tilkoblingsstatus og signalstyrke (figur 6).

Bilde av Digi Remote Managerens skybaserte tjeneste (klikk for å forstørre)Figur 6: Digi Remote Managerens skybaserte tjeneste gjør det mulig for utviklere å overvåke og administrere store IoT-utrullinger fra stasjonære eller mobile enheter. (Bildekilde: Digi)

I tillegg til overvåkingsfunksjonene lar Digi Remote Manager utviklere mer aktivt administrere data, tilkoblinger og enhetsprogramvare interaktivt ved hjelp av kommandolinjen eller programmatisk ved hjelp av tjenestens API-er (application programming interfaces). Ved hjelp av disse funksjonene kan utviklere omstarte enheter og laste opp filer, enkelt utføre masseflåtedekkende firmware og programvareoppdateringer som kreves med typiske tilkoblede enheter, men ofte logistisk utfordrende i storskala distribusjoner.

Konklusjon

Krav om mer sofistikerte applikasjoner innen industrielle, medisinske, transport- og landbruksmarkedssegmenter stiller krav til mer kompleks integrert systemdesign som er IoT-orientert. Regionale sertifiseringskrav for tilhørende trådløse delsystemer har også komplisert saker og forsinket design.

For å løse problemene, gir et utviklingssett fra Digi et omfattende programvaremiljø og en optimalisert maskinvareplattform med forhåndssertifiserte trådløse moduler. Som vist, gjør settet at det blir raskere og enklere for utviklere å levere kraftige tilkoblede integrerte systemløsninger.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Om skribenten

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk has more than 20 years of experience writing for and about the electronics industry on a wide range of topics including hardware, software, systems, and applications including the IoT. He received his Ph.D. in neuroscience on neuronal networks and worked in the aerospace industry on massively distributed secure systems and algorithm acceleration methods. Currently, when he's not writing articles on technology and engineering, he's working on applications of deep learning to recognition and recommendation systems.

Om denne utgiveren

DigiKeys nordamerikanske redaktører