Répondre plus efficacement aux exigences applicatives grâce aux microcontrôleurs Arm® Cortex® hautement intégrés

Par Stephen Evanczuk

Avec la contribution de Rédacteurs nord-américains de DigiKey

Les développeurs sont confrontés à de nombreux défis pour répondre à un éventail croissant d'exigences pour les produits intelligents dans les applications grand public, industrielles, de ville intelligente et de soins de santé. Chaque application apporte son lot unique d'exigences en matière de performances, de sécurité, d'ultrabasse consommation, de connectivité sans fil longue portée et de coût. Trop souvent, les développeurs sont contraints de faire des compromis sur ces exigences en raison d'une adéquation médiocre entre l'application et les capacités des solutions de microcontrôleurs (MCU) disponibles.

Cet article présente un ensemble de solutions de processeurs de STMicroelectronics pouvant offrir des combinaisons appropriées de performances, d'autonomie batterie, de sécurité et de connectivité sans fil, essentielles au succès d'une conception dans une large gamme d'applications.

Répondre à des exigences de sécurité strictes

Les microcontrôleurs bootflash STM32H7R/S de STMicroelectronics (Figure 1) offrent les hautes performances, les graphiques, la sécurité et la nomenclature (BOM) réduite qui sont requis dans de nombreux produits intelligents pour les applications industrielles, électroniques grand public, de ville intelligente et de soins de santé. Reposant sur un processeur Arm® Cortex®-M7 600 mégahertz (MHz) avec unité en virgule flottante (FPU) double précision, ces microcontrôleurs disposent de graphiques intégrés, de sous-systèmes de sécurité et d'un ensemble complet de périphériques et d'interfaces de connectivité.

Schéma des microcontrôleurs bootflash STM32H7R/S de STMicroelectronicsFigure 1 : Les microcontrôleurs bootflash STM32H7R/S intègrent un processeur Arm Cortex-M7 hautes performances avec un ensemble complet de périphériques, de blocs fonctionnels et de capacités spécialisées nécessaires pour fournir des produits intelligents sécurisés. (Source de l'image : STMicroelectronics)

Outre le cache L1 des processeurs comprenant 32 kilo-octets (Ko) de cache d'instructions et 32 Ko de cache de données, ces microcontrôleurs sont fournis avec 620 Ko de mémoire vive statique (SRAM), 64 Ko de mémoire Flash embarquée et plusieurs interfaces pour un accès haut débit aux mémoires externes. Cette combinaison de SRAM, de Flash embarquée et d'accès à la mémoire externe avec capacité XiP (execute-in-place) offre aux développeurs un haut degré de flexibilité lors de la mise en œuvre de systèmes embarqués hautes performances et sécurisés.

Pour garantir la sécurité des applications s'exécutant dans la mémoire externe, les microcontrôleurs STM32H7S intègrent également trois moteurs de chiffrement de mémoire (MCE) qui effectuent un chiffrement et un déchiffrement à la volée sur des mémoires externes non volatiles ou volatiles, avec un contrôle d'accès programmé à jusqu'à quatre régions différentes pour chaque MCE. Combinés à des fonctionnalités de sécurité matérielles supplémentaires, notamment l'analyse de puissance différentielle et la protection contre les attaques par canal auxiliaire, les microcontrôleurs STM32H7S sont certifiés SESIP et PSA Assurance niveau 3.

Afin de garantir des performances fiables pour les tâches critiques en termes de temps, telles que les routines de service d'interruption, une partie de la SRAM est mappée sur l'interface de mémoire étroitement couplée (TCM) du microcontrôleur, fournissant une mémoire sans état d'attente pour les instructions et les données critiques. Pour garantir l'intégrité du système, le microcontrôleur combine plusieurs fonctionnalités de sécurité avec sa mémoire Flash embarquée pour permettre un amorçage sécurisé et une vérification de l'intégrité des applications, fournissant ainsi une racine de confiance (RoT) pour les logiciels système et d'application exécutés dans la mémoire sur puce ou hors puce. Lorsqu'elle est combinée à des mécanismes de protection matériels appropriés, cette utilisation de la mémoire Flash embarquée pour stocker le chargeur d'amorçage de confiance offre des avantages significatifs en termes de flexibilité par rapport à l'utilisation de la mémoire morte (ROM) dans les microcontrôleurs traditionnels.

Plusieurs chemins pour un amorçage sécurisé

Pour fournir la racine de confiance essentielle à la sécurité du système, l'amorçage sécurisé s'appuie sur un code immuable fiable qui s'exécute toujours immédiatement après la réinitialisation du système. Ce code vérifie que seuls les logiciels de confiance s'exécutent lors de la phase suivante de la séquence de démarrage du système. Avec les microcontrôleurs STM32H7R/S, les développeurs disposent de plusieurs voies pour sécuriser l'amorçage lors de la création de systèmes de confiance. Ils peuvent utiliser le micrologiciel RoT prédéfini ou contrôler eux-mêmes la séquence d'amorçage (Figure 2).

Schéma des chemins d'amorçage des microcontrôleurs STM32H7R/S de STMicroelectronics (cliquez pour agrandir)Figure 2 : Les microcontrôleurs STM32H7R/S offrent plusieurs chemins d'amorçage conçus pour simplifier le développement. (Source de l'image : STMicroelectronics)

Après la réinitialisation du système, tous les microcontrôleurs STM32H7R/S commencent la séquence d'amorçage en exécutant les services sécurisés de racine (RSS) de confiance situés dans la mémoire Flash protégée du système. Les étapes suivantes de la séquence d'amorçage dépendent du type de microcontrôleur et du chemin d'amorçage choisi par le développeur. Avec chaque chemin d'amorçage, les microcontrôleurs STM32H7R/S utilisent leur mécanisme HDPL (Hide Protection Level) pour garantir l'isolation temporelle de chaque niveau d'amorçage. À mesure que la séquence d'amorçage passe d'un niveau d'amorçage au suivant, le compteur HDPL s'incrémente et les ressources associées au niveau d'amorçage précédent sont masquées du niveau actuel.

Maintenir la racine de confiance tout au long de la séquence d'amorçage

Dans le chemin d'amorçage pour les systèmes de production basés sur STM32H7R, RSS s'exécute immédiatement à la réinitialisation du système. RSS exécute le micrologiciel RoT immuable (iRoT) du fabricant d'équipement d'origine (OEM) situé dans la mémoire Flash utilisateur. Étant donné que le mécanisme HDPL est incrémenté à ce niveau suivant, RSS reste caché du micrologiciel OEMiRoT, qui gère l'étape suivante de la séquence d'amorçage. Si l'application est conçue pour prendre en charge le micrologiciel RoT actualisable (uRoT), OEMiRoT exécute le micrologiciel OEMuRoT à partir de la mémoire externe. Dans la dernière étape de la séquence d'amorçage, le micrologiciel OEMiRoT (ou OEMuRoT en option) exécute le code de l'application. Le HDPL garantit que RSS, OEMiRoT et OEMuRoT en option sont tous masqués de l'application.

Les systèmes de production basés sur STM32H7S peuvent être configurés pour suivre un chemin d'amorçage similaire à celui des systèmes STM32H7R, laissant le contrôle total du processus d'amorçage au développeur. Avec les microcontrôleurs STM32H7S, les développeurs peuvent également choisir un chemin hautement sécurisé qui invoque le micrologiciel prédéfini STMicroelectronics iRoT (STiRoT) situé dans la mémoire Flash système protégée.

Dans le chemin d'amorçage compatible STiRoT, une routine (iLoader), située dans la mémoire Flash embarquée protégée, charge le code pour le niveau d'amorçage suivant dans la SRAM interne. STiRoT vérifie ensuite l'intégrité et l'authenticité de ce code avant d'autoriser son exécution. Pour les chemins d'amorçage à une étape, iLoader charge le code d'application dans la SRAM. Pour les chemins d'amorçage à deux étapes, iLoader charge OEMuRoT de la mémoire Flash externe dans la SRAM.

Une fois dans la SRAM interne, l'intégrité et l'authenticité du code d'application (ou du micrologiciel OEMuRoT) sont vérifiées sans risque d'attaque lors de la vérification du code résidant dans la mémoire externe. Après validation, l'OEMuRoT effectue les contrôles d'intégrité et d'authenticité du code d'application avant l'exécution de l'application. Les développeurs peuvent facilement étendre ce chemin d'amorçage à deux étapes pour valider les mises à jour du code d'application ou même du micrologiciel OEMuRoT (Figure 3).

Schéma des microcontrôleurs STM32H7S de STMicroelectronics (cliquez pour agrandir)Figure 3 : Les microcontrôleurs STM32H7S permettent une mise à jour et un amorçage sécurisés via un processus en plusieurs étapes conçu pour garantir l'intégrité et l'authenticité du code à chaque étape du processus. (Source de l'image : STMicroelectronics)

En fonctionnement normal dans les systèmes de production, la mémoire Flash embarquée dans les microcontrôleurs STM32H7R/S est dans un état fermé, où le micrologiciel RoT est provisionné et une entrée d'amorçage valide est appliquée. Ces microcontrôleurs fournissent en outre un total de quatre états PRODUCT_STATE conçus pour prendre en charge le cycle de vie complet du produit (Figure 4).

PRODUCT_STATE Sélection PRODUCT_STATE Description
Ouvert NVSTATE = OPEN Cet état permet le développement de produits, car il fournit le débogage du code. L'utilisation de la broche d'amorçage permet de lancer le chargeur d'amorçage.
Provisionnement NVSTATE = CLOSE
OEM_PROVD=!0xB4
et/ou
DBG_AUTH = Not set (!0xB4, !0x51, !0x8A)
Cet état permet le provisionnement du produit (partiel ou complet). Il permet de lancer une installation micrologicielle sécurisée, ou un chargeur d'amorçage pour provisionner le produit. L'amorçage à partir de la SRAM n'est pas autorisé.
Fermé NVSTATE = CLOSE
OEM_PROVD=0xB4
DBG_AUTH=0x51 ou 0x8A
Cet état considère que la configuration du produit est finalisée. Il permet la prise en charge de l'authentification initiale pour la réparation sur le terrain (lire la note d'application dédiée).
Verrouillé NVSTATE = CLOSE
OEM_PROVD=0xB4
DBG_AUTH=0xB4
Cet état considère que la configuration du produit n'est pas autorisée. Le produit est définitivement dans cet état.

Figure 4 : Les microcontrôleurs STM32H7R/S fonctionnent dans l'un des quatre états PRODUCT_STATE conçus pour prendre en charge le cycle de vie complet du produit. (Source de l'image : STMicroelectronics)

Les développeurs peuvent contrôler PRODUCT_STATE de trois manières :

  • État non volatile (NVSTATE), qui définit la mémoire Flash dans un état ouvert ou fermé
  • Provisionné par OEM (OEM_PROVD), qui définit la stabilité de la zone de protection HDP (Secure Hide Protection) qui garantit que le code exécuté dans cette zone reste masqué après l'amorçage
  • Méthode d'authentification de débogage (DBG_AUTH), qui définit la méthode utilisée pour ouvrir le débogage du dispositif

Avec ces quatre états, les microcontrôleurs STM32H7R/S prennent en charge les exigences de sécurité de chaque phase critique du cycle de vie du produit : développement du produit, fabrication du produit et déploiement sur le terrain (Figure 5).

Image de l'organigramme de développement de produitsFigure 5 : À mesure qu'un produit passe du développement et de la fabrication au terrain, les microcontrôleurs STM32H7R/S peuvent protéger le code et les données sensibles dans la mémoire Flash embarquée tout en fournissant un accès au débogage authentifié si nécessaire. (Source de l'image : STMicroelectronics)

En pratique, l'authentification de débogage offre une puissante fonctionnalité de sécurité conçue pour répondre aux défis pratiques de prise en charge du cycle de vie des produits. Pour les systèmes de production fonctionnant à l'état fermé, les développeurs peuvent utiliser un protocole d'authentification qui permet à un débogueur sécurisé de rouvrir l'accès sans compromettre la racine de confiance dans une session de débogage contrainte. En débogage de régression complète, la sécurité du code et des données n'est pas garantie.

Répondre au besoin d'interfaces utilisateur améliorées dans les produits intelligents

Bien que la sécurité reste primordiale, les produits intelligents dépendent d'interfaces utilisateur graphiques (GUI) de plus en plus sophistiquées. Les microcontrôleurs STM32H7R/S répondent à cette exigence avec des accélérateurs graphiques intégrés, notamment l'accélérateur Chrom-ART dans les microcontrôleurs STM32H7R3/S3 et le processeur graphique (GPU) NeoChrom dans les microcontrôleurs STM32H7R7/S7. Tandis que l'accélérateur 2D Chrom-ART et le GPU 2.5D NeoChrom prennent en charge plusieurs formats avec des opérations de dessin et de blitting, le GPU NeoChrom prend en charge les opérations requises dans le mappage de texture (Figure 6).

Fonctionnalité graphique Chrom-ART GPU NeoChrom
Formats pris en charge ARGB8888, ARGB4444, ARGB1555, RGB888, RGB565
A8, A4, L8
AI44, AI88
CLUT (256 entrées), YUV
RGVA8888, ARGB8888
RGBX8888, XRGB8888
RGB888, RGB565, RGBA55551
A8, A4, A2, A1
TSc4, TSc6, et TSc6A compressés
Basé sur une liste de commandes Non Oui
Dessin Remplissage rectangulaire Remplissage de rectangle
Pixels, lignes, triangles, quadrilatères - Dessin
Anticrénelage 8xMSAA
Blitting Copie
Mélange alpha
Conversion de format de pixels
Copie
Mélange alpha, incrustation de couleurs
Conversion de format de pixels
Mappage de texture Non Toute rotation d'angle
Mise à l'échelle
Mise en miroir
Projections correctes en perspective 3D
Mappage de texture avec échantillonnage bilinéaire et ponctuel

Figure 6 : L'accélérateur graphique Chrom-ART dans les microcontrôleurs STM32H7R3/S3 et le GPU NeoChrom dans les microcontrôleurs STM32H7R7/S7 fournissent les performances graphiques et les fonctionnalités nécessaires dans les interfaces graphiques pour les produits intelligents. (Source de l'image : STMicroelectronics)

Pour l'évaluation et le développement, STMicroelectronics propose la carte de développement STM32 Nucleo-144 NUCLEO-H7S3L8 pour le STM32H7R3 et le kit de découverte STM32H7S78-DK pour le STM32H7S7.

Conçue pour le développement rapide de prototypes, la carte Nucleo-144 inclut un débogueur/programmateur ST-LINK intégré et offre des LED, des boutons-poussoirs et plusieurs options de connecteurs de carte. Le kit de découverte STM32H7S78-DK offre le Wi-Fi, plusieurs LED et boutons-poussoirs, un débogueur/programmateur STLINK-V3EC intégré et plusieurs connecteurs de carte, y compris deux pour USB Type-C® et un connecteur Ethernet RJ45.

Pour le développement logiciel, STMicroelectronics fournit le pack de microcontrôleurs STM32Cube dans le cadre de son écosystème STM32Cube. Outre les modules de couche d'abstraction du matériel (HAL), les BSP (Board Support Packages) et les interfaces de programmation (API) de niveau registre de couche inférieure, le pack de microcontrôleurs STM32Cube propose des composants intergiciels, des piles de connectivité et du code d'exemple. Pour le développement graphique, l'entreprise propose la structure graphique X-CUBE-TOUCHGFX, qui inclut :

  • L'outil TouchGFX Designer pour le développement et la simulation d'applications graphiques
  • La bibliothèque de graphiques à accélération matérielle TouchGFX Engine
  • Le générateur TouchGFX, un plug-in STM32CubeMX permettant aux développeurs de configurer et de générer la couche d'abstraction TouchGFX utilisée par le moteur TouchGFX pour accéder au matériel et au système d'exploitation sous-jacents

Garantir une durée de vie étendue pour les batteries

Une consommation d'énergie minimale et une durée de vie maximale des batteries restent des facteurs de conception clés dans de nombreux domaines d'application. Les microcontrôleurs série STM32U0 de STMicroelectronics sont conçus pour offrir les économies d'énergie et la durée de vie batterie étendue requises dans de nombreuses applications de base industrielles, médicales, grand public et de compteurs intelligents. Architecturée autour d'un processeur Arm Cortex-M0+ 56 MHz ultrabasse consommation, la série de microcontrôleurs STM32U0 comprend trois familles différentes pour permettre aux développeurs de choisir la configuration optimale en matière de SRAM, de Flash et de périphériques requis pour leurs conceptions.

La famille STM32U031 offre la configuration la plus compacte avec 12 Ko de SRAM, jusqu'à 64 Ko de mémoire Flash, plusieurs temporisateurs, des périphériques analogiques et des options de connectivité (Figure 7).

Image des trois familles de la série de microcontrôleurs STM32U0 de STMicroelectronicsFigure 7 : Les trois familles de la série de microcontrôleurs STM32U0 s'appuient sur un ensemble croissant de fonctionnalités disponibles dans la famille de microcontrôleurs STM32U031. (Source de l'image : STMicroelectronics)

Étendant les fonctionnalités de la famille STM32U031, la famille STM32U073 ajoute un contrôleur LCD intégré, des canaux de connectivité supplémentaires et des périphériques analogiques, tout en offrant 40 Ko de SRAM et jusqu'à 256 Ko de mémoire Flash. La famille STM32U083 s'appuie sur ces fonctionnalités en ajoutant un accélérateur matériel AES (Advanced Encryption Standard).

Outre une intégration élevée, tous les microcontrôleurs de la série STM32U0 atteignent des performances ultrabasse consommation. En mode d'exécution, ils ne consomment que 52 microampères par mégahertz (μA/MHz) tout en fonctionnant avec leur régulateur à faible chute de tension (LDO) interne.

Les développeurs peuvent choisir parmi plusieurs modes basse consommation, dont trois modes d'arrêt, pour minimiser la consommation d'énergie dans les applications alimentées par batterie. Par exemple, en mode d'arrêt avec la consommation d'énergie la plus basse, les microcontrôleurs STM32U031 ne consomment que 630 nanoampères (nA) avec le fonctionnement de l'horloge temps réel (RTC) ou 515 nA sans celle-ci. Dans ce même mode d'arrêt, les microcontrôleurs STM32U073 et STM32U083 ne requièrent que 825 nA avec RTC ou 695 nA sans RTC. Néanmoins, les trois familles de la série STM32U0 fonctionnant avec une horloge d'activation de 24 MHz peuvent atteindre le mode d'exécution à partir de ce mode de fonctionnement basse consommation en seulement 12,0 microsecondes (µs) en Flash et 7,67 µs en SRAM.

Malgré leur fonctionnement ultrabasse consommation et grâce à leur accélérateur de mémoire ART (Adaptive Real-Time) intégré, ces microcontrôleurs atteignent des performances équivalentes à une exécution sans état d'attente à partir de la mémoire Flash à une fréquence de processeur de 56 MHz.

Pour le support au développement, STMicroelectronics propose la carte d'évaluation basée sur le STM32U031 NUCLEO-U031R8, la carte d'évaluation basée sur le STM32U083 NUCLEO-U083RC et le kit de découverte basé sur le STM32U083 STM32U083C-DK. Comme pour les autres dispositifs de la famille STM32, le pack de microcontrôleurs STM32Cube pour l'écosystème STM32Cube de l'entreprise fournit des modules HAL, des BSP, des API de couche inférieure, des intergiciels, des piles de connectivité et du code d'exemple.

Fournir une connectivité sans fil longue portée

Des conceptions efficaces avec une connectivité sans fil longue portée sub-gigahertz (GHz) sont essentielles dans les applications Internet des objets (IoT) pour les villes intelligentes, l'agriculture, la télémesure, la télédétection et les systèmes industriels. Beaucoup de ces applications doivent maintenir des communications fiables malgré les interférences provenant de sources environnementales telles que le réseau électrique ou les machines. Cela implique l'utilisation d'une connectivité LoRaWAN résistante aux interférences.

Le module STM32WL5MOCH6TR de STMicroelectronics offre une solution certifiée LoRaWAN capable de fonctionner en Europe, en Asie et en Amérique. Cette capacité de fonctionnement multirégionale réside dans le fait que le module radio prend en charge les normes européennes de 868 MHz et les normes nord-américaines de 915 MHz, qui supportent une puissance de sortie plus élevée. La prise en charge par le module de plusieurs schémas de modulation et sa gamme de fréquences linéaires de 150 à 960 MHz lui permettent de fonctionner dans le monde entier avec divers protocoles de communication standard et propriétaires tels que Sigfox, W-MBUS et mioty.

Basé sur une architecture double cœur associant un Arm Cortex-M0+ et un Arm Cortex-M4, le module STM32WL5MOC combine son émetteur-récepteur radio flexible, jusqu'à 64 Ko de SRAM et jusqu'à 256 Ko de mémoire Flash avec un sous-système de sécurité complet, des temporisateurs, des périphériques analogiques, des interfaces de connectivité, des fonctions de contrôle et des composants passifs pour son alimentation à découpage (SMPS) embarquée. De plus, l'élément sécurisé STSAFE-A100 de STMicroelectronics est inclus dans la variante STM32WL5MOCH6STR (Figure 8).

Schéma du module STM32WL5MOC de STMicroelectronicsFigure 8 : Le module STM32WL5MOC fournit une solution immédiate pour la connectivité sub-GHz, combinant son architecture double cœur avec une radio flexible, des fonctions de sécurité, plusieurs blocs fonctionnels et des composants passifs. (Source de l'image : STMicroelectronics)

Les fonctionnalités intégrées étendues du module STM32WL5MOC et la certification LoRaWAN offrent aux concepteurs une solution matérielle immédiate, optimisée pour les applications sans fil longue portée. STMicroelectronics accélère encore le développement avec un ensemble complet de ressources, notamment la carte d'extension B-WL5M-SUBG1, qui combine un module STM32WL5MOC, 4 mégabits (Mb) de mémoire Flash, 256 kilobits (Kb) d'EEPROM, des capteurs MEMS (microsystèmes électromécaniques) de STMicroelectronics, plusieurs connecteurs de cartes, des LED et des boutons-poussoirs. Pour le développement logiciel, le pack de microcontrôleurs STM32CubeWL prend en charge les cartes série STM32WL dans le cadre de l'écosystème STM32Cube.

Conclusion

Les produits intelligents destinés aux applications grand public, industrielles, de soins de santé et autres présentent des niveaux de sécurité, de consommation d'énergie, de connectivité et de complexité de conception qui correspondent rarement aux capacités d'un seul microcontrôleur. La série STM32 de microcontrôleurs offre aux concepteurs un vaste choix d'options de traitement afin de répondre de manière optimale aux diverses exigences de conception. Les cartes et les logiciels prennent en charge les processeurs et simplifient le développement.

DigiKey logo

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.

À propos de l'auteur

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk affiche plus de 20 ans d'expérience dans la rédaction de contenu pour et sur l'industrie électronique, couvrant un large éventail de sujets, notamment le matériel, les logiciels, les systèmes et les applications, y compris l'IoT. Il a obtenu son doctorat (Ph.D.) en neurosciences sur les réseaux neuronaux et a travaillé dans l'industrie aérospatiale sur les systèmes sécurisés massivement distribués et les méthodes d'accélération par algorithmes. Actuellement, lorsqu'il n'écrit pas d'articles techniques, il travaille sur l'application de l'apprentissage approfondi pour les systèmes de reconnaissance et de recommandation.

À propos de l'éditeur

Rédacteurs nord-américains de DigiKey