Utiliser des microcontrôleurs évolutifs pour une plus grande flexibilité de conception

Par Kenton Williston

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

À mesure que les fonctionnalités avancées telles que l'intelligence artificielle (IA) et les interfaces homme-machine (IHM) complexes et riches en graphiques se généralisent dans les applications, les concepteurs de produits recherchent des microcontrôleurs (MCU) plus puissants. Cependant, les équipes de développement sont également invitées à concevoir des produits optimisés en termes de coûts, qui renoncent à ces caractéristiques tape-à-l'œil. Cette pression concurrentielle rend impératif le choix d'un microcontrôleur capable de s'adapter facilement aux différentes exigences du marché.

Le rythme croissant de l'innovation renforce encore cette pression. Comme les exigences applicatives peuvent changer de manière inattendue, il est essentiel d'avoir un accès aisé à des microcontrôleurs alternatifs. La pérennité et la réutilisation doivent également être prises en compte. Des économies significatives de temps et d'argent peuvent être réalisées si des éléments de conception peuvent être réutilisés dans d'autres projets.

Un moyen de relever ces défis consiste à sélectionner une gamme de microcontrôleurs offrant un large éventail d'options. La série STM32H7 de STMicroelectronics est un bon exemple. Cette série s'étend des microcontrôleurs 32 bits d'entrée de gamme à valeur optimisée aux microcontrôleurs double cœur riches en fonctionnalités.

Cet article met en évidence les critères à prendre en compte lors de la sélection d'une famille de microcontrôleurs, en utilisant les fonctionnalités de la gamme STM32H7 comme exemples. Il présente également les cartes de développement et les outils disponibles pour les microcontrôleurs STM32H7 et explique comment démarrer des projets avec cette infrastructure.

Les facteurs qui rendent une gamme de microcontrôleurs flexible et évolutive

De nombreux facteurs doivent être pris en compte lors de la recherche d'une gamme de microcontrôleurs flexibles. Il est notamment important de disposer d'un large éventail d'options de performances et de puissance. La gamme de microcontrôleurs privilégiée doit inclure des options avec un vaste choix de fréquences d'horloge et de cœurs optimisés pour différents objectifs Par exemple, Arm® Cortex®-M4 pour une basse consommation et Arm Cortex-M7 pour de hautes performances.

La gamme doit comporter des microcontrôleurs dotés de capacités de traitement de base et des options avec des capacités étendues. De nombreuses applications requièrent une protection des données et des communications sécurisées. Des fonctionnalités telles que le chiffrement matériel, l'amorçage sécurisé et les accélérateurs cryptographiques sont indispensables pour ces cas d'utilisation. De même, un processeur de signaux numériques (DSP) et des instructions en virgule flottante sont essentiels pour les applications à données intensives.

La gamme de microcontrôleurs doit également offrir un large éventail de tailles de mémoires RAM et Flash pour s'adapter aussi bien aux applications simples qu'aux applications exigeant un stockage de données important ou des structures logicielles étendues. Les microcontrôleurs doivent disposer d'interfaces de mémoires externes pour les applications dépassant les capacités de mémoires internes afin de garantir l'évolutivité nécessaire.

Enfin, les gammes de microcontrôleurs dotées de plus d'options périphériques peuvent gérer une plus grande variété d'applications. Il est essentiel de s'assurer que la gamme de microcontrôleurs inclut des options avec des E/S avancées telles qu'USB, Ethernet, Bluetooth et Wi-Fi, car ces interfaces peuvent être difficiles à ajouter en tant que mises à niveau dans les conceptions ultérieures. Idéalement, la gamme sélectionnée doit offrir une compatibilité au niveau des broches sur l'ensemble de la gamme pour prendre en charge les mises à niveau ou les rétrogradations matérielles sans refonte majeure des circuits imprimés.

Les outils de développement doivent prendre en charge l'ensemble de la gamme de microcontrôleurs d'un point de vue logiciel. Pour accélérer le développement, il faut une interface de programmation (API) logicielle cohérente, un ensemble robuste de bibliothèques et d'intergiciels, et un système d'exploitation en temps réel (RTOS).

STM32H7 : étude de cas sur la polyvalence

La série STM32H7 de STMicroelectronics est un exemple de gamme de microcontrôleurs répondant à ces critères. Comme illustré dans le Tableau 1, elle est hautement évolutive, avec une gamme architecturée autour du processeur Arm Cortex-M7 comprenant à la fois des microcontrôleurs de base et avancés. La série comprend quatre lignes, chacune optimisée pour différentes applications.

Horloge et cœur MCU Flash/RAM maximum Fonctionnalités clés
Value Line 280 MHz à 550 MHz
Arm Cortex-M7
128 Ko Flash
1 Mo RAM
Faible coût, Ethernet, QSPI, TFT
Ligne monocœur 280 MHz à 550 MHz
Arm Cortex-M7
2 Mo Flash
1,4 Mo RAM
TFT, Ethernet, Q-SPI, basse consommation
Ligne double cœur 480 MHz
Arm Cortex-M7 +
240 MHz
Arm Cortex-M4
2 Mo Flash
1 Mo RAM
Alimentation à découpage (SMPS), TFT-LCD, MIPI-DSI, JPEG
Ligne BootFlash 600 MHz
Arm Cortex-M7
Flash externe, 620 Ko RAM GPU NeoChrom, I3C, XiP, USB PHY

Tableau 1 : Caractéristiques clés des quatre lignes de la série STM32H7. (Source du tableau : auteur, utilisant le matériel source de STMicroelectronics)

La ligne Value Line est disponible à des vitesses de 280 mégahertz (MHz) à 550 MHz et présente 128 kilo-octets (Ko) de mémoire Flash embarquée et 1 méga-octet (Mo) de RAM. Elle prend en charge une variété d'interfaces de communication et d'extensions de mémoire externe, offrant ainsi une solution rentable pour les systèmes orientés performances. Le STM32H750VBT6 est l'un de ces microcontrôleurs et est disponible en boîtier 100-LQFP de 14 millimètres (mm) x 14 mm.

La ligne monocœur fonctionne également à des vitesses de 280 MHz à 550 MHz. Elle fournit jusqu'à 2 Mo de mémoire Flash et jusqu'à 1,4 Mo de RAM, et convient aux applications exigeant des interfaces utilisateur riches et un contrôle en temps réel. Un exemple est le STM32H743IIK6, fourni en boîtier 201-UFBGA de 10 mm x 10 mm.

La gamme double cœur est dotée d'un deuxième cœur Arm Cortex-M4 optimisé pour le rendement. Une alimentation à découpage (SMPS) embarquée améliore le rendement énergétique. D'autres périphériques avancés incluent TFT-LCD, MIPI-DSI et un codec JPEG matériel. Un exemple typique est le STM32H747AII6, fourni en boîtier 169-UFBGA de 7 mm x 7 mm.

La ligne BootFlash se distingue par ses hautes performances, avec des vitesses atteignant 600 MHz. Elle est conçue pour faciliter les applications XiP (execute-in-place) en temps réel et elle est dotée de 64 Ko de mémoire Flash d'amorçage et de 620 Ko de RAM. De plus, certains modèles de cette ligne sont équipés d'un processeur graphique (GPU) NeoChrom en option pour une accélération graphique améliorée. Le STM32H7R3Z8J6 est typique de cette ligne avec son boîtier 144-UFBGA de 10 mm x 10 mm.

Avantages de la compatibilité avec les gammes STM32F4 et STM32F7

Le STM32H7 fait partie d'une gamme plus étendue de microcontrôleurs de STMicroelectronics et il est compatible au niveau des broches avec les gammes STM32F4 et STM32F7 pour les boîtiers les plus courants. Ces microcontrôleurs sont tous basés sur des cœurs Arm Cortex-M et partagent des périphériques et des dispositions de broches GPIO similaires. Les points communs facilitent la migration entre les microcontrôleurs sans modifications significatives du matériel. Cette compatibilité peut réduire le temps et les coûts de développement lors de la mise à niveau d'un produit ou de la conception de nouveaux produits basés sur les différentes capacités de chaque gamme.

De plus, les microcontrôleurs sont tous pris en charge par le même écosystème de développement logiciel, y compris le STM32CubeMX pour la configuration et la génération de code d'initialisation, et le STM32CubeIDE pour le développement et le débogage. Cette compatibilité garantit que les composants logiciels, les intergiciels et le code d'application peuvent être réutilisés dans des projets ciblant l'une des gammes, accélérant ainsi les cycles de développement.

Premiers pas avec les microcontrôleurs de la série STM32H7

Démarrer avec les microcontrôleurs STM32H7 implique quelques étapes clés et l'utilisation efficace des cartes et des outils de développement. Le guide pas-à-pas suivant montre comment commencer le développement avec ces puissants microcontrôleurs.

1. Choisir une carte de développement

Parfaits pour l'exploration initiale, les kits de découverte Discovery sont fournis avec un débogueur/programmateur et intègrent généralement plusieurs LED utilisateur, boutons, capteurs et options de connectivité. Les cartes Nucleo, telles que la carte NUCLEO-F767ZI (Figure 1), offrent un bon équilibre entre flexibilité et prix abordable. Elles sont compatibles Arduino Uno pour une extension aisée et sont dotées d'une interface STLINK pour une utilisation avec les débogueurs/programmateurs.

Image de la carte de développement NUCLEO-F767ZI de STMicroelectronicsFigure 1 : La carte de développement NUCLEO-F767ZI offre un point de départ simple mais flexible pour l'expérimentation. (Source de l'image : STMicroelectronics)

Les cartes d'évaluation offrent l'ensemble le plus complet de périphériques et d'options de connectivité pour une exploration complète des fonctionnalités. Par exemple, les kits Discovery tels que le STM32H745I-DISCO (Figure 2) et le STM32H750B-DK permettent d'évaluer rapidement différentes interfaces avec des fonctionnalités telles que les suivantes :

  • LCD RGB de 4,3 pouces (po) avec écran tactile
  • Conformité Ethernet avec IEEE-802.3-2002
  • PoE (Power over Ethernet)
  • USB OTG FS
  • Codec audio SAI
  • Un microphone numérique ST-MEMS
  • Mémoire Flash NOR Quad-SPI de 2 × 512 Mb
  • SDRAM de 128 Mb
  • Mémoire eMMC embarquée de 4 giga-octets (Go)
  • 2 × CAN FD
  • Compatibilité avec les shields Arduino
  • Débogueur/programmateur STLINK-V3E embarqué avec capacité de ré-énumération USB : stockage de masse, port COM virtuel et port de débogage

Image de la carte d'évaluation STM32H745I-DISCO de STMicroelectronicsFigure 2 : La carte d'évaluation STM32H745I-DISCO offre un riche ensemble de ressources matérielles. (Source de l'image : STMicroelectronics)

2. Configuration des outils logiciels

STMicroelectronics propose un environnement de développement intégré (IDE) pour ses microcontrôleurs (Figure 3). Cet IDE inclut un compilateur, un débogueur et un configurateur pour la génération du code d'initialisation et la configuration des périphériques.

Image de l'IDE STM32H7 de STMicroelectronicsFigure 3 : Capture d'écran de l'IDE STM32H7. (Source de l'image : STMicroelectronics)

3. Apprendre et expérimenter

Il est ensuite conseillé de lire la documentation. Un excellent point de départ est le manuel d'utilisation de la carte de développement et le manuel de référence STM32H7 correspondant. Ces documents fournissent des informations essentielles sur les architectures de microcontrôleurs, la configuration des périphériques, Pin-Mux et les caractéristiques matérielles.

Expérimenter avec des projets d'exemple est un moyen efficace d'apprendre à utiliser les outils. STMicroelectronics propose plusieurs projets d'exemple pour divers microcontrôleurs STM32. Ces exemples peuvent constituer un excellent point de départ pour comprendre comment utiliser les différentes fonctionnalités des microcontrôleurs.

Enfin, la communauté des développeurs peut fournir un support supplémentaire. L'utilisation de ressources telles que la communauté ST, les tutoriels et les vidéos peut fournir des solutions à des problèmes courants et inspirer des projets potentiels.

4. Développement et débogage

L'IDE fournit tout ce qui est nécessaire pour commencer à écrire, compiler et déboguer du code. Le configurateur dans l'IDE peut être utilisé pour l'initialisation des périphériques et la configuration des intergiciels. L'interface de débogueur/programmateur STLINK intégrée à la carte de développement permet le débogage en temps réel. Les problèmes peuvent être identifiés à l'aide de points d'arrêt, de l'observation des variables et de l'exécution pas à pas du code.

5. Extension d'un projet

Les cartes d'extension peuvent ajouter des fonctionnalités telles que la connectivité ou des capteurs aux cartes Discovery et Nucleo. Une fois que la fonctionnalité souhaitée a été établie via les cartes de développement, une carte à circuit imprimé personnalisée peut être conçue en utilisant les schémas de la carte de développement comme référence. Un exemple de carte personnalisée est la plateforme de caméra OpenMV4 CAM H7 (Figure 4) de Seeed Technology Co., Ltd. Le STM32H743 monocœur est utilisé dans cet exemple.

Image de l'OpenMV4 CAM H7 de Seeed Technology, destiné aux systèmes de visionFigure 4 : L'OpenMV4 CAM H7 est destiné aux systèmes de vision. (Source de l'image : Seeed Technology Co. Ltd.)

Un autre exemple est le Nicla Vision ABX00051 (Figure 5) d'Arduino, qui utilise le STM32H747 double cœur.

Image du Nicla Vision ABX00051 d'ArduinoFigure 5 : Le Nicla Vision ABX00051 aide les développeurs à évaluer différents capteurs d'images. (Source de l'image : Arduino)

Conclusion

Le choix du microcontrôleur lors de la conception d'un produit est crucial, compte tenu des demandes conflictuelles en matière de fonctionnalités avancées et d'optimisation des coûts. La série STM32H7 de STMicroelectronics est un excellent exemple de la manière dont le choix de la gamme appropriée de microcontrôleurs peut fournir une solution évolutive et flexible répondant aux besoins actuels et futurs.

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 Kenton Williston

Kenton Williston

Kenton Williston a obtenu sa licence en génie électrique en 2000 et a commencé sa carrière en tant qu'analyste de référence pour les processeurs. Il a ensuite travaillé comme rédacteur au sein du groupe EE Times et a participé au lancement et à la gestion de plusieurs publications et conférences pour l'industrie électronique.

À propos de l'éditeur

Rédacteurs nord-américains de DigiKey