Déployer rapidement des capacités IA et ML puissantes et efficaces avec les microcontrôleurs RA8M1 de Renesas
Avec la contribution de Rédacteurs nord-américains de DigiKey
2024-03-20
L'essor de l'intelligence artificielle (IA), de l'apprentissage automatique (ML) et d'autres charges de travail à calcul intensif en périphérie du réseau pour l'Internet des objets (IoT) impose une charge de traitement supplémentaire aux microcontrôleurs (MCU). La gestion de ces nouvelles charges de travail augmente la consommation d'énergie, alors même que les concepteurs sont incités à réduire la consommation et à accélérer la mise sur le marché.
Les concepteurs ont besoin d'une option qui conserve l'efficacité d'un microcontrôleur, tout en ajoutant des fonctionnalités hautes performances spécifiquement adaptées aux cas d'utilisation basse consommation. Cette option doit également préserver les modèles de déploiement simples associés aux microcontrôleurs traditionnels, tout en ajoutant suffisamment de fonctionnalités pour prendre en charge les applications sophistiquées rendues possibles par l'intelligence artificielle et l'apprentissage automatique, telles que la commande vocale et la maintenance prédictive.
Cet article examine les facteurs qui stimulent la demande en matière d'intelligence artificielle et d'apprentissage automatique, et explique pourquoi de nouvelles architectures de processeur sont nécessaires pour fournir ces capacités de manière efficace. Il présente ensuite la famille de microcontrôleurs RA8M1 de Renesas et montre comment elle peut être utilisée pour répondre à ces exigences.
Exigences ML et IA en périphérie
La demande en matière d'intelligence artificielle et d'apprentissage automatique augmente dans les applications IoT en périphérie, qu'il s'agisse d'immotique, d'équipements industriels ou d'appareils électroménagers. Même les systèmes embarqués basse consommation relativement petits sont désormais chargés de tâches telles que la reconnaissance de mots-clés, la commande vocale et le traitement audio/image. Les applications cibles incluent les concentrateurs de capteurs, la navigation et la commande de drones, la réalité augmentée (RA), la réalité virtuelle (RV) et les équipements de communication.
Pour minimiser la consommation d'énergie, la surcharge et la latence tout en garantissant la confidentialité, le traitement des données en périphérie est souvent préféré à leur envoi vers le cloud. Cela constitue un défi pour les concepteurs, car les périphériques sont souvent limités en ressources, en particulier lorsqu'ils sont alimentés par batterie.
Microcontrôleurs améliorés pour l'edge computing
Les charges de travail IA et ML impliquent généralement l'exécution répétée de la même opération mathématique sur un grand ensemble de données. Ces charges de travail peuvent être accélérées à l'aide du traitement SIMD (Single Instruction, Multiple Data). Le traitement SIMD effectue plusieurs opérations mathématiques en parallèle, offrant un débit considérablement plus élevé et un meilleur rendement énergétique que le traitement conventionnel.
Étant donné que les microcontrôleurs traditionnels ne disposent pas de fonctionnalités SIMD, ils ont besoin d'aide pour exécuter les charges de travail IA et ML. Une solution consiste à utiliser un processeur de signaux numériques (DSP) ou d'autres accélérateurs SIMD en plus du microcontrôleur. Cependant, cette approche multiprocesseur complique la conception du système.
Une autre option consiste à passer à un microprocesseur (MPU) plus performant doté de capacités SIMD. Cette option peut fournir les performances nécessaires dans une configuration à un seul processeur, mais les microprocesseurs présentent des compromis en termes de consommation d'énergie et de fonctionnalités. Par exemple, tous les microprocesseurs ne sont pas conçus pour fournir le calcul déterministe à faible latence requis dans les applications orientées microcontrôleur.
Permettre des capacités IA et ML dans les microcontrôleurs
Conscient de la nécessité d'une suite optimisée de microcontrôleurs pour soutenir les charges de travail IA et ML, Renesas a lancé la série de microcontrôleurs RA8M1 (Figure 1). La série est basée sur une architecture Arm® Cortex®-M85 avec Helium et TrustZone, et elle peut fonctionner à 480 mégahertz (MHz) avec une consommation d'énergie typique de 225 microampères par mégahertz (µA/MHz).
Figure 1 : Le microcontrôleur RA8M1 de Renesas est basé sur une architecture Arm Cortex-M85 et inclut la technologie Helium pour accélérer le traitement IA et ML. (Source de l'image : Renesas)
Conçu pour des performances efficaces et une faible consommation d'énergie, le microcontrôleur RA8M1 est doté de fonctionnalités telles que le déterminisme, de courts temps d'interruption et un support de gestion de l'alimentation de pointe. Le processeur atteint des performances de 6,39 CoreMark par mégahertz (CoreMark/MHz).
Helium est une extension vectorielle M-Profile (M-Profile Vector Extension, MVE) SIMD qui accélère considérablement le traitement des signaux et l'apprentissage automatique. Cette extension ajoute 150 instructions scalaires et vectorielles et permet le traitement de registres 128 bits (Figure 2). Elle est optimisée pour les microcontrôleurs basse consommation à ressources limitées. Par exemple, Helium réutilise les registres FPU (unité en virgule flottante) plutôt que d'introduire de nouveaux registres SIMD. Cela permet de réduire la consommation d'énergie du processeur et de réduire la complexité de la conception.
Figure 2 : Helium réutilise la banque de registres FPU pour le traitement vectoriel. (Source de l'image : Arm)
Comme illustré à la Figure 3, le cœur Cortex-M85 du RA8M1 inclut la technologie TrustZone d'Arm. TrustZone fournit une isolation matérielle pour les micrologiciels, les actifs et les informations privées critiques. Le cœur Cortex-M85 ajoute également de nouvelles fonctionnalités de sécurité, telles que l'extension PACBTI (Pointer Authentication and Branch Target Identification). Ces fonctionnalités de sécurité sont particulièrement importantes dans un contexte d'intelligence artificielle où un dispositif peut interagir avec des données personnelles.
Figure 3 : La technologie TrustZone du cœur Cortex-M85 fournit une isolation matérielle pour les micrologiciels, les actifs et les informations privées critiques. (Source de l'image : Arm)
Fonctionnalités matérielles à rechercher dans un microcontrôleur compatible avec l'IA
Un microcontrôleur doit combiner des performances efficaces avec un ensemble de fonctionnalités robustes pour prendre en charge les applications d'intelligence artificielle. Le RA8M1 est bien équipé pour la commande de moteurs, les automates programmables (PLC), les compteurs et d'autres applications industrielles et IoT.
Par exemple, les algorithmes d'IA exigent beaucoup de mémoire. La mémoire système du RA8M1 inclut jusqu'à 2 méga-octets (Mo) de mémoire Flash et 1 Mo de SRAM. La SRAM inclut 128 kilo-octets (Ko) de mémoire étroitement couplée (TCM), qui permet un accès rapide à la mémoire pour des calculs hautes performances.
Pour garantir un fonctionnement fiable, 384 Ko de la SRAM utilisateur et la totalité des 128 Ko de mémoire TCM sont configurés en tant que mémoire ECC (code de correction d'erreurs). Les caches de données et d'instructions de 32 Ko sont également protégés par ECC.
Le RA8M1 intègre plusieurs fonctionnalités de sécurité en plus de celles incluses dans le cœur Arm. Ces fonctionnalités comprennent notamment le moteur cryptographique RSIP (Reprogrammable Secure Intellectual Property) pour le traitement sécurisé des données, le stockage immuable pour la protection des données critiques et des mécanismes de protection contre la falsification.
Pour les interfaces de communication, le microcontrôleur est équipé d'Ethernet pour la connectivité réseau, de CAN FD (Controller Area Network Flexible Data Rate) pour les applications automobiles et industrielles, et d'USB haute vitesse/pleine vitesse pour la connectivité générale. Il intègre également une interface caméra et une interface périphérique série (SPI) octale avec décryptage à la volée pour la mémoire externe.
Les interfaces analogiques comprennent des convertisseurs analogique-numérique (CAN) et numérique-analogique (CNA) 12 bits, des comparateurs analogiques haute vitesse et trois circuits échantillonneurs-bloqueurs. Pour la communication série, le RA8M1 prend en charge plusieurs protocoles, notamment une interface de communication série (SCI) avec SPI, un émetteur-récepteur universel asynchrone (UART) et les modes I²C (Inter-Integrated Circuit). Le microcontrôleur offre également le mode I3C (Improved Inter-Integrated Circuit) pour des taux de transfert de données et une efficacité améliorés.
Les développeurs ayant besoin d'un accès complet à ces capacités d'entrée/sortie (E/S) peuvent utiliser un boîtier BGA comme le R7FA8M1AHECBD#UC0 à 224 broches. Ceux qui recherchent un processus de conception et d'assemblage de circuits imprimés plus rationalisé peuvent se tourner vers une option de boîtier LQFP comme le modèle R7FA8M1AHECFB#AA0 à 144 broches.
Environnements de développement pour les applications d'IA
Les concepteurs souhaitant expérimenter la série RA8M1 peuvent démarrer avec la carte d'évaluation EK-RA8M1 R7FA8M (Figure 4). Cette carte comprend une interface RJ45 RMII Ethernet, une interface hôte et périphérique USB haute vitesse et une embase CAN FD à trois broches. En termes de mémoire, elle dispose de 64 Mo de Flash SPI octale.
Figure 4 : La carte d'évaluation EK-RA8M1 offre une prise en charge E/S robuste pour tester le microcontrôleur RA8M1. (Source de l'image : Renesas)
Le RA8M1 est pris en charge par le progiciel Flexible Software Package (FSP) de Renesas, une structure complète conçue pour fournir une base logicielle conviviale, évolutive et de haute qualité pour la conception de systèmes embarqués.
Le progiciel offre des outils de développement, y compris l'environnement de développement intégré (IDE) e² studio basé sur le populaire IDE Eclipse. Il contient également deux systèmes d'exploitation en temps réel de premier plan, libres de droits : Azure RTOS et FreeRTOS.
Le progiciel inclut des pilotes légers et prêts pour la production qui prennent en charge les cas d'utilisation courants dans les systèmes embarqués. Combinés à la carte d'évaluation, ces pilotes offrent aux développeurs un moyen rapide d'expérimenter les E/S RA8M1.
Conclusion
Le RA8M1 offre aux développeurs une nouvelle option pour implémenter des charges de travail IA et ML dans les applications IoT en périphérie permettant d'économiser de l'énergie, d'améliorer les performances, de réduire la complexité et de raccourcir les délais de commercialisation.
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é.

