Täytä sovellusvaatimukset tehokkaammin pitkälle integroiduilla Arm® Cortex® -mikrokontrollereilla
Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa
2024-06-04
Kehittäjät kohtaavat monia haasteita, kun he pyrkivät vastaamaan kuluttaja-, teollisuus-, älykaupunki- ja terveydenhuoltosovellusten älytuotteiden kasvaviin vaatimuksiin. Jokaisella sovelluksella on omat uniikit vaatimuksensa suorituskyvyn, tietoturvan, erittäin alhaisen virrankulutuksen, pitkän kantaman langattomien yhteyksien ja kustannusten suhteen. Näistä vaatimuksista joudutaan aivan liian usein tinkimään, koska sovellus ja saatavilla olevien mikrokontrolleriratkaisujen (MCU) ominaisuudet eivät sovi yhteen.
Tässä artikkelissa esitellään STMicroelectronicsin erilaisia prosessoriratkaisuja, jotka voivat tarjota sopivia suorituskyvyn, akun/pariston keston, tietoturvan ja langattomien yhteyksien yhdistelmiä, jotka ovat kriittisiä suunnittelun onnistumisen kannalta lukuisissa erilaisissa sovelluksissa.
Tiukkojen tietoturvavaatimusten täyttäminen
STMicroelectronicsin käynnistysflash-muistilla varustetut STM32H7R/S-mikrokontrollerit (kuva 1) tarjoavat korkean suorituskyvyn, grafiikan, tietoturvan ja vähemmän osakustannuksia, ts. ominaisuuksia, joita monet teollisuus-, kulutuselektroniikka-, älykaupunki- ja terveydenhuoltosovelluksissa käytettävät älytuotteet vaativat. Nämä mikrokontrollerit perustuvat 600 megahertsin (MHz) Arm® Cortex®-M7-prosessoriin kaksoistarkkuuden liukulukuyksiköllä (FPU), ja niihin on integroitu grafiikka, turvallisuusalijärjestelmät sekä kattava valikoima oheislaitteita ja liitäntärajapintoja.
Kuva 1: Käynnistysflash-muistilla varustetut STM32H7R/S-mikrokontrollerit sisältävät huipputehokkaan Arm Cortex-M7 -prosessorin ja kattavan joukon oheislaitteita, toimilohkoja ja erikoisominaisuuksia, joita tarvitaan turvallisten älytuotteiden toteuttamiseen. (Kuvan lähde: STMicroelectronics)
Prosessoreiden L1-välimuistin, joka sisältää 32 kilotavua käskyvälimuistia ja 32 kilotavua datavälimuistia, lisäksi näissä mikrokontrollereissa on 620 kilotavua SRAM (Static Random Access Memory) -muistia, 64 kilotavua sulautettua flash-muistia ja useita rajapintoja ulkoisten muistien käyttöön huippunopeudella. Tämä SRAM-muistin, sulautetun flash-muistin ja ulkoisen muistin käyttömahdollisuuden yhdistelmä sekä XiP (eXecute-In-Place) -ominaisuus tarjoavat kehittäjille paljon joustavuutta suorituskykyisten ja turvallisten sulautettujen järjestelmien toteuttamiseen.
Ulkoisessa muistissa suoritettavien sovellusten tietoturvan varmistamiseksi STM32H7S-mikrokontrollerit sisältävät myös kolme muistin salausmoottoria (Memory Cipher Engine, MCE), jotka suorittavat haihtumattomien tai haihtuvien ulkoisten muistien salaus- ja purkutoiminnot reaaliajassa. Lisäksi jokaiselle salausmoottorille on ohjelmoitu oikeus käyttää jopa neljää eri aluetta. Laitteet tarjoavat lisäksi sellaisia laitteistopohjaisia tietoturvaominaisuuksia kuten differentiaalinen tehoanalyysi ja sivukanavahyökkäyksiltä suojautuminen. Näiden ansiosta STM32H7S-mikrokontrollerit täyttävät SESIP- ja PSA-sertifioinnin tason 3 vaatimukset.
Aikakriittisten tehtävien, kuten keskeytyspalvelurutiinien, luotettavan suorituksen varmistamiseksi osa SRAM-muistista on määritetty mikrokontrollerin TCM (Tightly Coupled Memory) -rajapintaan tarjoten kriittisille käskyille ja datalle viiveetöntä zero-wait-tilan muistia. Mikrokontrolleri varmistaa järjestelmän eheyden yhdistämällä useita tietoturvaominaisuuksia sen sulautettuun flash-muistiin ja mahdollistamalla suojatun käynnistyksen ja sovelluksen eheyden tarkistuksen. Se tarjoaa näin RoT (Root Of Trust) -tuen kortilla olevalle tai ulkoisella muistilla toimivalle järjestelmä- ja sovellusohjelmistolle. Tämä sulautetun flash-muistin käyttö luotettavan käynnistyslataajan tallennukseen tarjoaa sopiviin laitteistopohjaisiin suojausmekanismeihin yhdistettynä huomattavia joustavuusetuja perinteisten mikrokontrollereiden lukumuistin (ROM) käyttöön verrattuna.
Useita menetelmiä suojattuun käynnistykseen
Suojattu käynnistys perustuu – järjestelmän turvallisuuden kannalta tärkeän RoT-tuen tarjoamiseksi – luotettuun muuttumattomaan koodiin, joka suoritetaan aina välittömästi järjestelmän resetoinnin jälkeen. Tämä koodi varmistaa, että järjestelmän käynnistyssekvenssin seuraavassa vaiheessa suoritetaan vain luotettava ohjelmisto. STM32H7R/S-mikrokontrollerit tarjoavat kehittäjille useita menetelmiä suojattuun käynnistykseen. Näitä tarvitaan rakennettaessa luotettavia järjestelmiä. He voivat käyttää valmiita RoT-laiteohjelmistoja tai ohjata käynnistyssekvenssiä itse (kuva 2).
Kuva 2: STM32H7R/S-mikrokontrollerit tarjoavat useita käynnistystapoja, joiden tarkoituksena on yksinkertaistaa kehitystyötä. (Kuvan lähde: STMicroelectronics)
Järjestelmän resetoinnin jälkeen kaikki STM32H7R/S-mikrokontrollerit aloittavat käynnistyssekvenssin suorittamalla suojatussa järjestelmän flash-muistissa sijaitsevat luotettavat RSS (Root Secure Services) -palvelut. Käynnistyssekvenssin myöhemmät vaiheet riippuvat mikrokontrollerin tyypistä ja kehittäjän valitsemasta käynnistystavasta. STM32H7R/S-mikrokontrollerit käyttävät kussakin käynnistystavassa HDPL (HiDe Protection Level) -mekanismia kunkin käynnistystason väliaikaisen eristyksen varmistamiseksi. Kun käynnistyssekvenssi siirtyy yhdeltä käynnistystasolta toiselle, HDPL-laskurin arvo kasvaa ja edelliseen käynnistystasoon liittyvät resurssit piilotetaan nykyiseltä tasolta.
RoT-tuen säilyttäminen koko käynnistyssekvenssin ajan
STM32H7R-mikrokontrolleripohjaisten tuotantojärjestelmien käynnistyksessä RSS suoritetaan välittömästi, kun järjestelmä resetoidaan. RSS suorittaa alkuperäisen laitevalmistajan (OEM) muuttumattoman RoT (iRoT) -laiteohjelmiston, joka sijaitsee käyttäjän flash-muistissa. Koska HDPL-tasoa inkrementoidaan tällä seuraavalla tasolla, RSS pysyy piilotettuna OEMiRoT-laiteohjelmistolta, joka hoitaa käynnistyssekvenssin seuraavan vaiheen. Jos sovellus on suunniteltu tukemaan päivitettävää RoT (uRoT) -laiteohjelmistoa, OEMiRoT suorittaa OEMuRoT-laiteohjelmiston ulkoisesta muistista. Käynnistyssekvenssin viimeisessä vaiheessa OEMiRoT (tai haluttaessa OEMuRoT) -laiteohjelmisto suorittaa sovelluskoodin. HDPL varmistaa, että RSS, OEMiRoT ja haluttaessa OEMuRoT ovat kaikki piilotettuina sovellukselta.
STM32H7S-mikrokontrolleripohjaiset tuotantojärjestelmät voidaan konfiguroida noudattamaan samanlaista käynnistystapaa kuin STM32H7R-järjestelmät, jolloin käynnistysprosessin hallinta jää täysin kehittäjälle. Kehittäjät voivat valita STM32H7S-mikrokontrollereissa myös erittäin turvallisen käynnistysmenetelmän, joka käynnistää järjestelmän suojatussa flash-muistissa sijaitsevan STMicroelectronicsin valmiin iRoT (STiRoT) -laiteohjelmiston.
STiRoT-yhteensopivassa käynnistysmenetelmässä suojattuun sulautettuun flash-muistiin sijoitettu rutiini (iLoader) lataa seuraavan käynnistystason koodin sisäiseen SRAM-muistiin. STiRoT-ohjelmisto tarkistaa sitten koodin eheyden ja aitouden ennen kuin se sallii sen suorittamisen. Yksivaiheisissa käynnistystavoissa iLoader lataa sovelluskoodin SRAM-muistiin. Kaksivaiheisissa käynnistystavoissa iLoader lataa OEMuRoT-ohjelmiston ulkoisesta flash-muistista SRAM-muistiin.
Kun sovelluskoodi (tai OEMuRoT-laiteohjelmisto) on sisäisessä SRAM-muistissa, sen eheys ja aitous tarkistetaan ilman ulkoisessa muistissa sijaitsevan koodin tarkistamiseen liittyvää hyökkäysriskiä. Kun se on validoitu, OEMuRoT suorittaa sovelluskoodin eheys- ja aitoustarkastukset ennen sovelluksen suorittamista. Kehittäjät voivat helposti laajentaa tätä kaksivaiheista käynnistystapaa sovelluskoodin tai jopa OEMuRoT-laiteohjelmiston päivitysten validointiin (kuva 3).
Kuva 3: STM32H7S-mikrokontrollerit mahdollistavat suojatun päivityksen ja käynnistyksen monivaiheisen prosessin kautta, jonka tarkoituksena on varmistaa koodin eheys ja aitous prosessin jokaisessa vaiheessa. (Kuvan lähde: STMicroelectronics)
STM32H7R/S-mikrokontrollereihin sulautettu flash-muisti on tuotantojärjestelmissä normaalin toiminnan aikana suljetussa tilassa, sisältäen RoT-laiteohjelmiston ja pakottaen järjestelmän validoimaan käynnistystavan. Nämä mikrokontrollerit tarjoavat lisäksi yhteensä neljä PRODUCT_STATE-tilaa, jotka on suunniteltu tukemaan tuotteen koko elinkaarta (kuva 4).
|
Kuva 4: STM32H7R/S-mikrokontrollerit toimivat yhdessä neljästä PRODUCT_STATE-tilasta, jotka on suunniteltu kattamaan tuotteen koko elinkaari. (Kuvan lähde: STMicroelectronics)
Kehittäjät voivat kontrolloida PRODUCT_STATE-tilaa kolmella tavalla:
- haihtumaton tila (NVSTATE), joka asettaa flash-muistin avoimeen tai suljettuun tilaan
- OEM provisioitu (OEM_PROVD), joka määrittelee turvallisen HDP (Hide Protection) -alueen stabiilisuuden, joka puolestaan varmistaa, että tällä alueella suoritettu koodi pysyy piilotettuna käynnistyksen jälkeen
- debuggauksen todennusmenetelmä (DBG_AUTH), joka määrittelee menetelmän, jota käytetään laitteen debuggauksen avaukseen.
STM32H7R/S-mikrokontrolleri tukee näillä neljällä tilalla tuotteen elinkaaren jokaisen kriittisen vaiheen turvallisuusvaatimuksia: tuotekehitys, tuotteen valmistus ja käyttöönotto kentällä (kuva 5).
Kuva 5: Kun tuote siirtyy tuotekehityksestä ja valmistuksesta kentälle, STM32H7R/S-mikrokontrollerit voivat suojata sulautetussa flash-muistissa olevan sensitiivisen koodin ja datan sekä tarjota tarvittaessa todennetun debuggaustuen. (Kuvan lähde: STMicroelectronics)
Debuggaustodennus tarjoaa käytännössä tehokkaan tietoturvaominaisuuden, jonka tehtävänä on vastata tuotteen elinkaarituen käytännön haasteisiin. Kehittäjät voivat käyttää suljetussa tilassa käytettäville tuotantojärjestelmille todennusprotokollaa, jonka avulla suojattua debuggeria voidaan jälleen käyttää vaarantamatta rajoitetun debuggausistunnon RoT-tukea. Täydessä regressiodebuggauksessa koodi- ja tietoturvaa ei voi taata.
Älytuotteiden käyttöliittymien parannustarpeeseen vastaaminen
Vaikka tietoturva on edelleen ensiarvoisen tärkeää, älytuotteet ovat riippuvaisia yhä sofistikoituneemmista graafisista käyttöliittymistä (GUI). STM32H7R/S-mikrokontrollerit vastaavat tähän vaatimukseen käyttämällä integroituja grafiikkakiihdyttimiä. Niihin kuuluvat STM32H7R3/S3-mikrokontrollereiden Chrom-ART-kiihdytin ja STM32H7R7/S7-mikrokontrollereiden NeoChrom-grafiikkasuoritin (GPU). Sekä 2D Chrom-ART -kiihdytin ja 2,5D NeoChrom -grafiikkasuoritin tukevat useita muotoja piirto- ja blittausoperaatioilla, mutta NeoChrom-grafiikkasuoritin tukee lisäksi tekstuurimäärityksessä tarvittavia operaatioita (kuva 6).
|
Kuva 6: STM32H7R3/S3-mikrokontrollereiden Chrom-ART-grafiikkakiihdytin ja STM32H7R7/S7-mikrokontrollereiden NeoChrom-grafiikkasuoritin tarjoavat älytuotteiden graafisten käyttöliittymien vaatiman graafisen suorituskyvyn ja toiminnallisuuden. (Kuvan lähde: STMicroelectronics)
STMicroelectronics tarjoaa evaluointi- ja kehitystyötä varten NUCLEO-H7S3L8 STM32 Nucleo-144 -kehitysalustan STM32H7R3-mikrokontrollerille ja STM32H7S78-DK Discovery Kitin STM32H7S7-mikrokontrollerille.
Nopeaan prototyyppien kehitykseen suunniteltu Nucleo-144-kehitysalusta sisältää integroidun ST-LINK-debuggaus/ohjelmointilaitteen ja tarjoaa ledit, painikkeet ja useita piirilevyliitinvaihtoehtoja. STM32H7S78-DK Discovery Kit tarjoaa Wi-Fi-yhteyden, useita ledivaloja ja painikkeita, sisäänrakennetun STLINK-V3EC-debuggaus/ohjelmointilaitteen ja useita piirilevyliittimiä, mukaan lukien kaksi USB Type-C® -liitintä ja yhden Ethernet RJ45 -liittimen.
STMicroelectronics tarjoaa ohjelmistokehitykseen STM32Cube MCU -paketin osana sen STM32Cube-ekosysteemiä. STM32Cube MCU -paketti tarjoaa HAL (Hardware Abstraction Layer) -moduulien, BSP (Board Support Package) -pakettien ja alhaisen rekisteritason sovellusohjelmointirajapintojen (API) lisäksi väliohjelmistokomponentteja, verkkopinoja ja esimerkkikoodia. Tämä valmistaja tarjoaa grafiikan kehittämiseen X-CUBE-TOUCHGFX -grafiikkakehyksen, johon kuuluvat:
- TouchGFX Designer -työkalu grafiikkasovellusten kehittämiseen ja simulointiin
- TouchGFX Engine − laitteistokiihdytystä käyttävä grafiikkakirjasto
- TouchGFX Generator, joka on STM32CubeMX-lisäosa, jonka avulla kehittäjät voivat konfiguroida ja luoda TouchGFX-abstraktiotason. TouchGFX Engine käyttää tämän abstraktiotason kautta se alla olevaa laitteistoa ja käyttöjärjestelmää.
Akkujen/paristojen kestoajan pidentäminen
Minimaalinen virrankulutus ja akkujen/paristojen maksimaalinen kesto ovat edelleen keskeisiä suunnitteluperusteita monilla sovellusalueilla. STMicroelectronicsin STM32U0-sarjan mikrokontrollerit on suunniteltu tarjoamaan energiansäästöjä ja pidempi akkujen/paristojen kestoaika, mitä vaaditaan monissa teollisuus-, lääketiede-, älymittaus- ja kuluttajasovelluksissa. STM32U0-mikrokontrollerisarjaan kuuluu kolme erilaista erittäin vähävirtaiseen 56 MHz:n Arm Cortex-M0+ -prosessoriin perustuvaa tuoteperhettä, jotta kehittäjät voivat valita omiin ratkaisuihinsa optimaalisen SRAM-muisti, flash-muisti- ja oheislaitekonfiguraation.
STM32U031-tuoteperhe tarjoaa kaikkein kompakteimman konfiguraation, johon kuuluu 12 kilotavua SRAM-muistia, jopa 64 kilotavua flash-muistia, useita ajastimia, analogisia oheislaitteita ja yhteysvaihtoehtoja (kuva 7).
Kuva 7: STM32U0-mikrokontrollerisarjan kolme tuoteperhettä perustuvat niiden tarjoamaan kasvavaan joukkoon ominaisuuksia. (Kuvan lähde: STMicroelectronics)
STM32U073-tuoteperhe laajentaa STM32U031-tuoteperheen ominaisuuksia integroidulla LCD-ohjaimella, suuremmalla määrällä yhteyskanavia ja analogisia oheislaitteita sekä tarjoaa 40 kilotavua SRAM-muistia ja jopa 256 kilotavua flash-muistia. STM32U083-tuoteperhe täydentää edellä mainittuja ominaisuuksia AES (Advanced Encryption Standard) -laitteistokiihdyttimellä.
Korkean integraatiotason lisäksi kaikki STM32U0-sarjan mikrokontrollerit kuluttavat erittäin vähän virtaa. Ne kuluttavat suoritustilassa vain 52 mikroampeeria megahertsiä kohden (μA/MHz) toimiessaan sisäisen LDO (Low Dropout) -regulaattorin kautta.
Kehittäjien valittavissa on useita eri virransäästötiloja, kuten kolme pysäytystilaa, virrankulutuksen minimointiin akku-/paristokäyttöisissä sovelluksissa. Esimerkiksi pysäytystilassa, jossa virrankulutus on kaikkein alhaisinta, STM32U031-mikrokontrollerit kuluttavat vain 630 nanoampeeria (nA) reaaliaikakellon (RTC) kanssa tai 515 nA ilman sitä. Samassa pysäytystilassa STM32U073- ja STM32U083-mikrokontrollerit kuluttavat vain 825 nA reaaliaikakellon kanssa tai 695 nA ilman kelloa. Tästä huolimatta kaikki kolme 24 MHz:n ”herätyskellolla” toimivaa STM32U0-sarjan tuoteperhettä voivat siirtyä tästä pienimmän virrankulutuksen toimintatilasta suoritustilaan vain 12,0 mikrosekunnissa (µs) käytettäessä flash-muistia ja 7,67 mikrosekunnissa käytettäessä SRAM-muistia.
Nämä mikrokontrollerit saavuttavat integroidun ART (Adaptive Real-Time) -muistikiihdyttimen ansiosta – erittäin pienestä virrankulutuksesta huolimatta – suorituskyvyn, joka vastaa viiveettömän zero-wait-tilan suorittamista flash-muistista 56 MHz:n prosessoritaajuudella.
STMicroelectronics tarjoaa kehitystyön tueksi STM32U031-pohjaisen arviointialustan NUCLEO-U031R8, STM32U083-pohjaisen arviointialustan NUCLEO-U083RC ja STM32U083-pohjaisen Discovery kit -paketin STM32U083C-DK. Kuten muihinkin STM32-tuoteperheen laitteisiin, yrityksen STM32Cube-ekosysteemiin kuuluva STM32Cube-mikrokontrolleripaketti tarjoaa HAL-moduulit, BSP-paketit, matalan tason API-rajapinnat, väliohjelmistot, verkkopinot ja esimerkkikoodin.
Pitkän kantaman langattomat yhteydet
Tehokkaat ratkaisut pitkän kantaman langattomilla alle gigahertsin (GHz) yhteyksillä ovat korvaamattomia esineiden internetin (IoT) sovelluksissa älykkäissä kaupungeissa, maataloudessa, etämittauksessa, etätunnistuksessa ja teollisuusjärjestelmissä. Monissa näistä sovelluksista vaaditaan jatkuvaa luotettavaa kommunikaatiota huolimatta sellaisista ympäristön häiriölähteistä kuten sähköverkkojen tai koneiden aiheuttamat häiriöt. Tämä kohdistaa huomion häiriöitä kestävän LoRaWAN (Long Range Wide Area Network) -yhteyden käyttöön.
STMicroelectronicsin STM32WL5MOCH6TR-moduuli tarjoaa LoRaWAN-sertifioidun ratkaisun, jota voidaan käyttää niin Euroopassa, Aasiassa kuin Amerikassakin. Tämä monen alueen tuki perustuu siihen, että radiomoduuli tukee eurooppalaista 868 MHz:n ja pohjoisamerikkalaista 915 MHz:n standardia, jotka mahdollistavat korkeamman lähtötehon. Moduulin yhteensopivuus useiden eri modulaatiomenetelmien kanssa ja sen lineaarinen 150–960 MHz:n taajuusalue mahdollistavat sen maailmanlaajuisen käytön erilaisten standardoitujen ja valmistajakohtaisten tiedonsiirtoprotokollien kanssa, esimerkkeinä Sigfoxin, W-MBUS ja mioty.
STM32WL5MOC-moduuli perustuu kaksiytimiseen arkkitehtuuriin, jossa yhdistyvät Arm Cortex-M0+ ja Arm Cortex-M4. Sen ominaisuuksiin kuuluvat joustava radiolähetin-vastaanotin, jopa 64 kilotavua SRAM-muistia ja jopa 256 kilotavua flash-muistia sekä kattava turvallisuusalijärjestelmä, ajastimet, analogiset oheislaitteet, yhteysrajapinnat, ohjausominaisuudet ja passiivikomponentit sen sulautettua hakkurivirtalähdettä (SMPS) varten. STM32WL5MOCH6STR-vaihtoehto sisältää lisäksi STMicroelectronicsin STSAFE-A100-suojaelementin (kuva 8).
Kuva 8: STM32WL5MOC-moduuli tarjoaa valmiin ratkaisun alle GHz:n taajuusalueen yhteyksillä ja yhdistää kaksiytimisen arkkitehtuurin joustavaan radioon, tietoturvaominaisuuksiin, useisiin toimilohkoihin ja passiivikomponentteihin. (Kuvan lähde: STMicroelectronics)
STM32WL5MOC-moduulin kattavat integroidut toiminnot ja LoRaWAN-sertifiointi tarjoavat suunnittelijoille valmiin laitteistoratkaisun, joka on optimoitu pitkän kantaman langattomiin sovelluksiin. STMicroelectronics nopeuttaa kehitystä entisestään kattavalla resurssivalikoimalla, esimerkkinä B-WL5M-SUBG1-laajennuskortti, jonka ominaisuuksiin kuuluvat STM32WL5MOC-moduuli, 4 megabitin (Mbit) flash-muisti, 256 kilobitin (Kbit) EEPROM, STMicroelectronicsin MEMS (MicroElectroMechanical Systems) -anturit, useita piirilevyliittimiä, ledejä ja painikkeita. STM32CubeWL MCU -paketti tukee STM32Cube-ekosysteemiin kuuluvia STM32WL-sarjan kortteja, joita voidaan käyttää osaohjelmistokehitystä varten.
Yhteenveto
Yksittäisen mikrokontrollerin ominaisuudet ovat harvoin riittäviä kuluttaja-, teollisuus-, terveydenhuolto- ja muissa sovelluksissa käytettävien älytuotteiden tietoturvan, virrankulutuksen, yhdistettävyyden ja suunnittelun kompleksisuuden vuoksi. STM32-sarjan mikrokontrollerit tarjoavat suunnittelijoille laajan valikoiman prosessointivaihtoehtoja, jotka täyttävät optimaalisesti erilaiset suunnitteluvaatimukset. Kortit ja ohjelmistot tukevat prosessoreita ja yksinkertaistavat kehitystyötä.

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.