Îndepliniți mai eficient cerințele aplicațiilor cu ajutorul MCU-urilor Arm® Cortex® puternic integrate
Contributed By DigiKey's North American Editors
2024-06-04
Dezvoltatorii se confruntă cu numeroase provocări în ceea ce privește îndeplinirea unei game tot mai largi de cerințe pentru produsele inteligente în aplicații care includ produse de consum, industria, orașul inteligent și asistența medicală. Fiecare aplicație are un set unic de cerințe în ceea ce privește performanța, securitatea, consumul de energie ultra-redus, conectivitatea fără fir cu rază lungă de acțiune și costurile. De prea multe ori, dezvoltatorii sunt forțați să facă compromisuri în ceea ce privește aceste cerințe din cauza unei corespondențe slabe între aplicație și capacitățile soluțiilor disponibile pentru unitățile de microcontroler (MCU).
Acest articol prezintă un set de soluții de procesoare de la STMicroelectronics care pot oferi combinații adecvate de performanță, autonomie, securitate și conectivitate wireless, esențiale pentru succesul proiectării într-o gamă largă de aplicații.
Îndeplinirea unor cerințe stricte de securitate
MCU-urile STM32H7R/S bootflash de la STMicroelectronics (Figura 1) oferă performanțe ridicate, grafică, securitate și o listă de materiale (BOM) redusă, necesare în multe produse inteligente pentru aplicații industriale, electronice de consum, pentru orașe inteligente și pentru sănătate. Bazate pe un procesor Arm® Cortex®-M7 de 600 megahertzi (MHz) cu o unitate în virgulă mobilă (FPU) de dublă precizie, aceste MCU-uri dispun de grafică integrată, subsisteme de securitate și un set complet de periferice și interfețe de conectivitate.
Figura 1: MCU-urile STM32H7R/S bootflash integrează un Arm Cortex-M7 de înaltă performanță cu un set complet de periferice, blocuri funcționale și capacități specializate necesare pentru a furniza produse inteligente sigure. (Sursa imaginii: STMicroelectronics)
Pe lângă memoria cache L1 a procesoarelor, care include 32 de kilobiți (KBytes) de memorie cache de instrucțiuni și 32 Kbytes de memorie cache de date, aceste MCU-uri sunt dotate cu 620 Kbytes de memorie statică cu acces aleatoriu (SRAM), 64 Kbytes de memorie flash încorporată și interfețe multiple pentru acces de mare viteză la memorii externe. Această combinație de SRAM, memorie flash încorporată și acces la memoria externă cu capacitatea de execuție la fața locului (XiP) oferă dezvoltatorilor un grad ridicat de flexibilitate atunci când implementează sisteme încorporate de înaltă performanță și sigure.
Pentru a garanta securitatea aplicațiilor care rulează în memoria externă, MCU-urile STM32H7S integrează și trei motoare de criptare a memoriei (MCE) care realizează criptarea și decriptarea din mers pe memoriile externe volatile sau nevolatile, cu control programat al accesului la până la patru regiuni diferite pentru fiecare MCE. Combinate cu caracteristici suplimentare de securitate bazate pe hardware, inclusiv analiza diferențială a puterii și protecția împotriva atacurilor pe canal lateral, MCU-urile STM32H7S sunt certificate pentru SESIP și PSA Assurance Level 3.
Pentru a asigura o performanță fiabilă a sarcinilor critice din punctul de vedere al timpului, cum ar fi rutinele de serviciu de întrerupere, o parte din SRAM este mapată pe interfața de memorie strâns cuplată (TCM) a MCU-urilor, oferind o memorie cu stare de așteptare zero pentru instrucțiuni și date critice. Pentru a asigura integritatea sistemului, MCU combină mai multe caracteristici de securitate cu memoria flash încorporată pentru a permite inițializarea securizată și verificarea integrității aplicațiilor, oferind root-of-trust (RoT) pentru sistemul și software-ul de aplicație care rulează în memoria pe cip sau în afara cipului. Atunci când este combinată cu mecanisme de protecție hardware adecvate, această utilizare a flash-ului încorporat pentru stocarea bootloader-ului de încredere oferă avantaje semnificative în ceea ce privește flexibilitatea în comparație cu utilizarea memoriei numai pentru citire (ROM) în MCU-urile tradiționale.
Multiple căi către pentru o inițializare securizată
Pentru a oferi RoT esențială pentru securitatea sistemului, inițializarea securizată se bazează pe un cod imuabil de încredere care rulează întotdeauna imediat după resetarea sistemului. Acest cod verifică faptul că numai software-ul de încredere rulează în următoarea fază a secvenței de pornire a sistemului. Cu ajutorul MCU-urilor STM32H7R/S, dezvoltatorii au la dispoziție mai multe căi de inițializare securizată la construirea sistemelor de încredere. Acestea pot utiliza firmware-ul RoT preinstalat sau pot controla singure secvența de inițializare (Figura 2).
Figura 2: MCU-urile STM32H7R/S oferă mai multe căi de inițializare concepute pentru a simplifica dezvoltarea. (Sursa imaginii: STMicroelectronics)
După resetarea sistemului, toate MCU-urile STM32H7R/S încep secvența de inițializare prin rularea serviciilor de tip „root secure services” (RSS) localizate în memoria flash protejată a sistemului. Etapele ulterioare din secvența de inițializare depind de tipul de MCU și de calea de inițializare aleasă de dezvoltator. Cu fiecare cale de inițializare, MCU-urile STM32H7R/S utilizează mecanismul de ascundere a nivelului de protecție (HDPL) pentru a asigura izolarea temporală a fiecărui nivel de inițializare. Pe măsură ce secvența de inițializare trece de la un nivel de inițializare la următorul, contorul HDPL crește, iar resursele asociate cu nivelul de inițializare anterior sunt ascunse de nivelul curent.
Menținerea RoT pe parcursul întregii secvențe de inițializare
În calea de inițializare pentru sistemele de producție bazate pe STM32H7R, RSS rulează imediat după resetarea sistemului. RSS rulează firmware-ul RoT imuabil (iRoT) al producătorului de echipamente originale (OEM), localizat în memoria flash a utilizatorului. Deoarece HDPL este incrementat la acest nivel următor, RSS rămâne ascuns de firmware-ul OEMiRoT, care se ocupă de următorul pas din secvența de inițializare. În cazul în care aplicația este proiectată pentru a suporta firmware-ul RoT actualizabil (uRoT), OEMiRoT rulează firmware-ul OEMuRoT din memoria externă. În etapa finală a secvenței de inițializare, firmware-ul OEMiRoT (sau OEMuRoT opțional) rulează codul aplicației. HDPL se asigură că RSS, OEMiRoT și OEMuRoT opțional sunt ascunse de aplicație.
Sistemele de producție bazate pe STM32H7S pot fi configurate să urmeze o cale de inițializare similară cu cea a sistemelor STM32H7R, lăsând dezvoltatorului controlul complet al procesului de inițializare. De asemenea, cu MCU-urile STM32H7S dezvoltatorii pot alege o cale foarte sigură care invocă firmware-ul STMicroelectronics iRoT (STiRoT) preinstalat, localizat în memoria flash protejată a sistemului.
În calea de inițializare activată de STiRoT, o rutină (iLoader) localizată în memoria flash încorporată protejată încarcă codul pentru următorul nivel de inițializare în SRAM internă. STiRoT verifică apoi integritatea și autenticitatea codului înainte de a-i permite să se execute. Pentru căile de inițializare cu o singură etapă, iLoader încarcă codul aplicației în SRAM. În cazul căilor de inițializare cu două etape, iLoader încarcă OEMuRoT din memoria flash externă în SRAM.
Odată ce se află în SRAM internă, codul aplicației (sau firmware-ul OEMuRoT) este verificat pentru integritate și autenticitate fără riscul unui atac în timpul verificării codului care se află în memoria externă. Odată validat, OEMuRoT efectuează verificări de integritate și autenticitate asupra codului aplicației înainte de executarea acesteia. Dezvoltatorii pot extinde cu ușurință această cale de inițializare cu două etape pentru a valida actualizări ale codului aplicației sau chiar ale firmware-ului OEMuRoT (Figura 3).
Figura 3: MCU-urile STM32H7S permit actualizarea și inițializarea securizată printr-un proces în mai multe etape conceput pentru a asigura integritatea și autenticitatea codului la fiecare etapă a procesului. (Sursa imaginii: STMicroelectronics)
În timpul funcționării normale în sistemele de producție, flash-ul încorporat în MCU-urile STM32H7R/S se află într-o stare închisă, în care firmware-ul RoT este aprovizionat și se impune o intrare validă la inițializare. În plus, aceste MCU-urile oferă un total de patru stări PRODUCT_STATE concepute pentru a susține întregul ciclu de viață al produsului (Figura 4).
|
Figura 4: MCU-urile STM32H7R/S funcționează într-una din cele patru stări PRODUCT_STATE concepute pentru a susține întregul ciclu de viață al produsului. (Sursa imaginii: STMicroelectronics)
Dezvoltatorii pot controla PRODUCT_STATE în trei moduri:
- Stare non-volatilă (NVSTATE), care stabilește memoria flash într-o stare deschisă sau închisă
- OEM aprovizionat (OEM_PROVD), care definește stabilitatea zonei securizate de protecție a ascunderii (HDP) care garantează că codul executat în această zonă rămâne ascuns după inițializare
- Metoda de autentificare a depanării (DBG_AUTH), care definește metoda utilizată pentru a deschide depanarea dispozitivului
Cu aceste patru stări, MCU-urile STM32H7R/S sprijină cerințele de securitate din fiecare fază critică a ciclului de viață al produsului: dezvoltarea produsului, fabricarea produsului și implementarea pe teren (Figura 5).
Figura 5: Pe măsură ce un produs trece de la dezvoltare și fabricație la utilizare pe teren, MCU-urile STM32H7R/S pot proteja codul și datele sensibile în memoria flash încorporată, oferind în același timp acces autentificat pentru depanare atunci când este necesar. (Sursa imaginii: STMicroelectronics)
În practică, autentificarea pentru depanare oferă o caracteristică de securitate puternică, concepută pentru a răspunde provocărilor practice ale suportului pentru ciclul de viață al produsului. În cazul sistemelor de producție care funcționează în stare închisă, dezvoltatorii pot utiliza un protocol de autentificare care permite unui depanator securizat să redeschidă accesul fără a compromite RoT într-o sesiune de depanare restricționată. În cazul depanării complete a regresiei, securitatea codului și a datelor nu este garantată.
Satisfacerea nevoii de interfețe de utilizator îmbunătățite în produsele inteligente
Cu toate că securitatea rămâne de o importanță capitală, produsele inteligente depind de interfețe grafice de utilizator (GUI) din ce în ce mai sofisticate. MCU-urile STM32H7R/S îndeplinesc această cerință folosind acceleratoare grafice integrate. Printre acestea se numără acceleratorul Chrom-ART din MCU-urile STM32H7R3/S3 și unitatea de procesare grafică (GPU) NeoChrom din MCU-urile STM32H7R7/S7. În timp ce acceleratorul Chrom-ART 2D și GPU NeoChrom 2.5D acceptă mai multe formate cu operații de desen și blitting, GPU NeoChrom acceptă operațiile necesare pentru cartografierea texturilor (Figura 6).
|
Figura 6: Acceleratorul grafic Chrom-ART din MCU-urile STM32H7R3/S3 și GPU-ul NeoChrom din MCU-urile STM32H7R7/S7 oferă performanța grafică și funcționalitatea necesară în interfețele grafice pentru produsele inteligente. (Sursa imaginii: STMicroelectronics)
Pentru evaluare și dezvoltare, STMicroelectronics oferă placa de dezvoltare NUCLEO-H7S3L8 STM32 Nucleo-144 pentru STM32H7R3 și kitul Discovery STM32H7S78-DK pentru STM32H7S7.
Proiectată pentru dezvoltarea rapidă a prototipurilor, placa Nucleo-144 include un depanator/programator ST-LINK integrat și oferă leduri, butoane și mai multe opțiuni de conectare a plăcii. Kitul STM32H7S78-DK Discovery oferă Wi-Fi, mai multe leduri și butoane, un depanator/programator STLINK-V3EC încorporat și mai mulți conectori pentru placă, inclusiv doi pentru USB Type-C® și un conector Ethernet RJ45.
Pentru dezvoltarea de software, STMicroelectronics pune la dispoziție pachetul STM32Cube MCU ca parte a ecosistemului STM32Cube. Alături de modulele pentru stratul de abstractizare hardware (HAL), pachetele de suport pentru plăci (BSP) și interfețele de programare a aplicațiilor (API) în registrul de nivel scăzut, pachetul STM32Cube MCU oferă componente middleware, stive de conectivitate și coduri de probă. Pentru dezvoltarea grafică, compania oferă cadrul grafic X-CUBE-TOUCHGFX, care include:
- Instrumentul TouchGFX Designer pentru dezvoltarea și simularea aplicațiilor grafice
- Biblioteca grafică accelerată de hardware TouchGFX Engine
- Generatorul TouchGFX, care este un plugin STM32CubeMX care permite dezvoltatorilor să configureze și să genereze stratul de abstractizare TouchGFX utilizat de motorul TouchGFX pentru a accesa hardware-ul și sistemul de operare de bază
Asigurarea unei autonomii de lungă durată a bateriei
Consumul minim de energie și durata maximă de viață a bateriei rămân factori cheie de proiectare în multe domenii de aplicare. Seria STM32U0 de MCU-uri de la STMicroelectronics este concepută pentru a asigura economiile de energie și durata de viață extinsă a bateriei necesare în multe aplicații industriale, medicale, de măsurare inteligentă și de consum de bază. Construită în jurul unui procesor Arm Cortex-M0+ de 56 MHz cu consum de energie foarte redus, seria de MCU-uri STM32U0 include trei familii diferite pentru a permite dezvoltatorilor să aleagă configurația optimă de SRAM, flash și periferice necesare pentru proiectele lor.
Familia STM32U031 oferă cea mai compactă configurație cu 12 Kbytes de SRAM, până la 64 Kbytes de memorie flash, mai multe temporizatoare, periferice analogice și opțiuni de conectivitate (Figura 7).
Figura 7: Cele trei familii din seria STM32U0 MCU se bazează pe un set tot mai mare de caracteristici găsite în familia STM32U031 MCU. (Sursa imaginii: STMicroelectronics)
Extinzând caracteristicile găsite în familia STM32U031, familia STM32U073 adaugă un controler LCD integrat, canale de conectivitate suplimentare și periferice analogice, oferind în același timp 40 Kbytes de SRAM și până la 256 Kbytes de memorie flash. Familia STM32U083 se bazează pe aceste caracteristici prin adăugarea unui accelerator hardware cu standard de criptare avansată (AES).
Pe lângă un grad ridicat de integrare, toate MCU-urile din seria STM32U0 ating performanțe de foarte mică putere. În modul de funcționare, acestea consumă doar 52 de microamperi pe megahertz (μA/MHz) în timp ce funcționează cu regulatorul lor intern cu cădere mică de tensiune (LDO).
Dezvoltatorii pot alege din mai multe moduri de consum redus de energie, inclusiv trei moduri de oprire, pentru a minimiza consumul de energie în aplicațiile alimentate de baterii. De exemplu, în modul de oprire cu cel mai mic consum de energie, MCU-urile STM32U031 consumă doar 630 de nanoamperi (nA) cu funcționarea ceasului în timp real (RTC), sau 515 nA fără acesta. În același mod de oprire, MCU-urile STM32U073 și STM32U083 necesită doar 825 nA cu RTC sau 695 nA fără. Cu toate acestea, toate cele trei familii din seria STM32U0 care funcționează cu un ceas de trezire de 24 MHz pot ajunge în modul de funcționare din acest mod de operare cu cea mai mică putere în numai 12,0 microsecunde (µs) în flash și 7,67 µs în SRAM.
În ciuda funcționării lor cu consum foarte redus de energie și datorită acceleratorului de memorie adaptivă în timp real (ART) integrat, aceste MCU-uri ating performanțe echivalente cu execuția în stare de așteptare zero din memorie flash la o frecvență a procesorului de 56 MHz.
Pentru asistență la dezvoltare, STMicroelectronics oferă placa de evaluare NUCLEO-U031R8 bazată pe STM32U031, placa de evaluare NUCLEO-U083RC bazată pe STM32U083 și kitul Discovery STM32U083C-DK bazat pe STM32U083. Ca și în cazul altor dispozitive din familia STM32, pachetul MCU STM32Cube pentru ecosistemul STM32Cube al companiei oferă module HAL, BSP-uri, API-uri de nivel redus, middleware, stive de conectivitate și coduri de probă.
Obținerea conectivității wireless cu rază lungă de acțiune
Proiectele eficiente cu conectivitate wireless cu rază lungă de acțiune sub-gigahertz (GHz) sunt esențiale în aplicațiile din Internetul lucrurilor (IoT) pentru orașe inteligente, agricultură, măsurare la distanță, detectare la distanță și sisteme industriale. Multe dintre aceste aplicații trebuie să mențină comunicații fiabile în ciuda interferențelor cauzate de surse de mediu, cum ar fi rețeaua electrică sau utilajele. Acest lucru indică utilizarea conectivității de rețea de mare distanță cu rază lungă de acțiune (LoRaWAN), rezistentă la interferențe.
Modulul STM32WL5MOCH6TR de la STMicroelectronics oferă o soluție certificată LoRaWAN capabilă să funcționeze în Europa, Asia și America. Această capacitate de operare multi-regională constă în suportul modulului radio pentru standardele europene de 868 MHz și pentru standardele Americii de Nord de 915 MHz care suportă o putere de ieșire mai mare. Suportul modulului pentru mai multe scheme de modulație și gama sa de frecvență liniară de la 150 la 960 MHz îi permit să suporte funcționarea la nivel mondial cu diverse protocoale de comunicații standard și brevetate, cum ar fi Sigfox, W-MBUS și mioty.
Bazat pe o arhitectură cu două nuclee care combină un Arm Cortex-M0+ și un Arm Cortex-M4, modulul STM32WL5MOC combină emițătorul-receptorul radio flexibil, până la 64 Kbytes de SRAM și până la 256 Kbytes de memorie flash cu un subsistem de securitate cuprinzător, temporizatoare, periferice analogice, interfețe de conectivitate, funcții de control și componente pasive pentru sursa de alimentare în comutație încorporată (SMPS). În plus, elementul securizat STSAFE-A100 de la STMicroelectronics este inclus în varianta STM32WL5MOCH6STR (Figura 8).
Figura 8: Modulul STM32WL5MOC oferă o soluție directă pentru conectivitate sub-GHz, combinând arhitectura sa dual-core cu un radio flexibil, caracteristici de securitate, blocuri funcționale multiple și componente pasive. (Sursa imaginii: STMicroelectronics)
Funcționalitatea extinsă integrată a modulului STM32WL5MOC și certificarea LoRaWAN oferă proiectanților o soluție hardware directă optimizată pentru aplicații wireless cu rază lungă de acțiune. STMicroelectronics accelerează și mai mult dezvoltarea cu un set cuprinzător de resurse, inclusiv placa de expansiune B-WL5M-SUBG1, care combină un modul STM32WL5MOC, memorie flash de 4 megabiți (Mbit), EEPROM de 256 kilobiți (Kbit), senzori de sisteme microelectromecanice (MEMS) STMicroelectronics, conectori multipli pentru plăci, leduri și butoane. Pentru dezvoltarea de software, pachetul MCU STM32CubeWL acceptă plăcile din seria STM32WL ca parte a ecosistemului STM32Cube.
Concluzie
Produsele inteligente pentru aplicații de consum, industriale, medicale și de altă natură au niveluri de securitate, consum de energie, conectivitate și complexitate de proiectare care rareori se potrivesc cu capacitățile unui singur microcontroler. Seria de MCU-uri STM32 oferă proiectanților o gamă largă de opțiuni de procesare pentru a găsi potrivirea optimă pentru diverse cerințe de proiectare. Plăcile și software-ul susțin procesoarele și simplifică dezvoltarea.
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.



