Concevoir des dispositifs intelligents plus efficaces : 3e partie – Performances des processeurs

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

Note de l'éditeur : Cette série en trois parties parle de la conception de dispositifs intelligents plus efficaces. La 1re partie aborde les techniques de conception basse consommation pour équilibrer la puissance et les performances. La 2e partie traite de la résolution des défis liés à la sécurité transparente des utilisateurs. Cette 3e partie examine les spécifications de microcontrôleurs requises pour atteindre les objectifs de conception.

Les utilisateurs veulent des dispositifs intelligents sécurisés, hautes performances et offrant une autonomie batterie étendue. Pour répondre à ces attentes, les développeurs disposent désormais de microcontrôleurs qui non seulement fournissent une mémoire et des performances basse consommation suffisantes pour répondre aux besoins immédiats des fonctionnalités, mais qui permettent également des mises à jour sécurisées pour améliorer les fonctionnalités et corriger les erreurs.

Les microcontrôleurs étant au cœur des dispositifs corporels, des dispositifs IoT et d'autres produits portables intelligents, il est essentiel qu'ils disposent du juste équilibre entre hautes performances et basse consommation pour exécuter des applications logicielles de plus en plus sophistiquées, dans des produits compacts, tout en minimisant leur consommation batterie. En plus de la garantie de sécurité, la longévité et la facilité d'utilisation sont essentielles à l'expérience utilisateur.

Cet article explique comment répondre à ces exigences à l'aide d'une gamme de microcontrôleurs standard correctement pris en charge de Maxim Integrated.

Définir une bonne expérience utilisateur

À bien des égards, les exigences des utilisateurs ne sont pas fondamentalement différentes de celles que les développeurs ont tenté de résoudre par le passé. Cependant, les concepteurs doivent faire face à une différence essentielle au niveau des solutions acceptables pour les produits intelligents émergents. Les utilisateurs s'attendent de plus en plus à ce que les produits soient compacts, légers et qu'ils s'adaptent confortablement à leur personne, ou qu'ils s'installent discrètement dans leur maison ou leur entreprise. Les utilisateurs sont plus susceptibles d'accepter un produit intelligent qui n'exige pas une attention excessive ou des opérations fastidieuses pour l'utiliser, le recharger et le mettre à jour, tout en restant sécurisé.

Outre la facilité d'interaction, les utilisateurs s'attendent à ce que les produits intelligents conservent en grande partie la même taille et la même apparence, y compris le « style », que les produits classiques offrant des fonctionnalités similaires. Par exemple, les utilisateurs seront plus enclins à accepter un dispositif corporel de fitness qui ressemble à un bracelet ou à une montre qu'un dispositif d'aspect étrange fixé à leur poignet.

Bien entendu, les produits qui répondent au test de facilité d'interaction et de style peuvent toujours échouer s'ils ne permettent pas de fournir une valeur suffisante à l'utilisateur. Un bracelet connecté élégant qui offre peu d'informations utiles n'est rien d'autre qu'un bracelet coûteux. Un certain niveau d'intelligence invisible est requis pour permettre à la technologie et au style de s'accorder.

Pour implémenter cette intelligence invisible, les développeurs doivent adapter des caractéristiques de haut niveau telles qu'une interaction confortable, un aspect familier et des informations de grande valeur afin de les traduire en exigences distinctes adaptées à leur application.

Exigences étendues

Pour le concepteur, répondre aux attentes des utilisateurs en matière d'interaction aisée signifie fournir des performances suffisantes pour offrir rapidement des résultats à partir de logiciels d'application plus sophistiqués exécutés sur le produit intelligent. Ces exigences fonctionnelles, à leur tour, se traduisent par un besoin en processeurs capables d'exécuter ce logiciel, tout en extrayant des informations plus utiles d'un nombre croissant de modalités de capteur.

En acquérant ces informations, ces dispositifs ont accès à des informations privilégiées exigeant de puissants mécanismes de sécurité qui garantissent la protection sans nuire aux performances des applications.

Au-delà de ces besoins immédiats, les dispositifs intelligents doivent faire face à de nouveaux types d'attaques avec des mises à jour logicielles qui s'exécutent de manière invisible, sans gêner l'utilisateur. En même temps, les concepteurs doivent intégrer des fonctionnalités efficaces d'économie d'énergie permettant de prolonger la durée de vie des batteries sans accabler l'utilisateur avec des batteries encombrantes ou des cycles de recharge fréquents.

Les diverses exigences requises pour assurer la facilité d'utilisation constituent un défi en soi, mais elles sont en outre limitées par la nécessité de répondre aux attentes des utilisateurs en matière d'esthétique des produits intelligents. Une batterie volumineuse, une empreinte de conception hors-norme ou une interface utilisateur peu conviviale peuvent ruiner l'intérêt des utilisateurs avant même qu'ils n'essayent d'interagir avec le produit.

Lorsqu'ils intègrent l'intelligence à une conception, les développeurs doivent trouver un équilibre entre les extrêmes de forme et de fonction. Pour parvenir à cet équilibre, les développeurs doivent définir plus précisément leurs alternatives, en se concentrant sur les options permettant de résoudre les conflits traditionnels entre hautes performances et basse consommation ; entre fonctionnalités étendues et empreinte ; et entre flexibilité et sécurité.

Le coût constitue un autre facteur. L'évolution rapide de l'IoT et des produits corporels et intelligents signifie que le développeur doit fournir le matériel nécessaire pour prendre en charge les futures exigences, ainsi que les mises à jour logicielles. Lors de la planification d'améliorations futures, les développeurs doivent équilibrer le coût différentiel du dispositif éventuellement nécessaire pour ajouter de la puissance et du stockage à leurs conceptions initiales.

Pour les développeurs, le microcontrôleur constitue l'une des meilleures chances de trouver une solution répondant à ces exigences générales, car il est au cœur des conceptions de produits intelligents intégrés. Les microcontrôleurs 8 et 16 bits restent populaires, mais à mesure que les utilisateurs élèvent leurs attentes, les produits intelligents doivent offrir des performances et des fonctionnalités supérieures. Par conséquent, les microcontrôleurs 32 bits sont également devenus populaires pour les conceptions de systèmes de produits intelligents. Par exemple, comparés aux microcontrôleurs 8 ou 16 bits, les microcontrôleurs 32 bits permettent d'effectuer des opérations fondamentales telles que l'addition 32 bits en moins de cycles d'instructions que ces microcontrôleurs antérieurs (Liste 1).

Copier     anl PSW, #0E7H   ;Register Bank 0     mov a, r0        ;load X low byte into acc     add a, r4        ;add Y low byte     mov r0, a        ;save result     mov a, rl        ;load X next byte into acc     addc a, r5       ;add Y next byte with carry     mov rl, a        ;save result     mov a, r2        ;load X next byte into acc     addc a, r6       ;add Y next byte     mov r2, a        ;save result     mov a, r3        ;load X high byte into acc     addc a, r7       ;add Y high byte with carry     mov r3, a     mov C, OV     ret (A)       mov a, r0     add rl     mov r0, a     ret (B) 

Liste 1 : Pour effectuer une addition 32 bits, un microcontrôleur 8 bits a besoin de beaucoup plus de cycles d'instruction (A) par rapport au nombre de cycles (B) d'un microcontrôleur 32 bits pour la même opération. (Source du code : Maxim Integrated)

La nécessité de microcontrôleurs 32 bits hautes performances devient d'autant plus importante que les concepteurs combinent plusieurs flux de données de capteurs dans des algorithmes de fusion de capteurs. Parmi leurs autres applications, les algorithmes de fusion de capteurs sont utilisés pour générer des informations précises d'orientation et de localisation en intérieur, que les utilisateurs attendent de plus en plus de leurs produits corporels et mobiles. Dans cet environnement, les capacités des microcontrôleurs avancés, tels que les microcontrôleurs Darwin de Maxim Integrated, deviennent essentielles pour fournir une intelligence invisible.

Fournir une intelligence invisible

Les microcontrôleurs Darwin sont spécialement conçus pour répondre aux exigences des produits intelligents émergents. Combinant un fonctionnement basse consommation et un ensemble complet de fonctionnalités intégrées, la gamme inclut les microcontrôleurs MAX32620, MAX32625 et MAX32630.

Basés sur le système Arm® Cortex®-M4 32 bits avec unité en virgule flottante, les microcontrôleurs Darwin combinent la prise en charge complète d'un fonctionnement basse consommation avec des blocs spécialisés pour la gestion des périphériques, la supervision de l'alimentation et la cryptographie (Figure 1). Des variantes sécurisées telles que le MAX32631 étendent la prise en charge de la sécurité grâce à une unité d'authentification (TPU) capable de prendre en charge la confidentialité, l'intégrité et l'authenticité dans toutes les interactions entre le produit intelligent et les hôtes externes.

Schéma du microcontrôleur MAX32630 Darwin de Maxim

Figure 1 : Les microcontrôleurs Darwin, tels que le MAX32630 et sa variante sécurisée, MAX32631, associent des performances de traitement 32 bits avec un ensemble complet de périphériques, d'interfaces et de blocs spécialisés, y compris l'unité d'authentification (TPU) prenant en charge les mécanismes de sécurité clés du système dans le MAX32631. (Source de l'image : Maxim Integrated)

Les développeurs peuvent tirer parti des nombreux périphériques analogiques et numériques et des interfaces série des microcontrôleurs pour simplifier la conception matérielle des systèmes utilisant plusieurs capteurs. Maxim Integrated démontre cette conception simplifiée avec son kit d'évaluation MAXREFDES100. Le kit comprend une carte et une conception de référence illustrant l'utilisation de plusieurs capteurs, notamment le capteur de température du corps humain MAX30205, le circuit d'entrée analogique ECG MAX30003, l'oxymètre de pouls MAX30101 de Maxim, ainsi que d'autres instruments pouvant être utilisés dans un dispositif corporel de fitness typique.

Bien que des interfaces flexibles soient nécessaires pour capturer des données plus complexes, l'architecture du jeu d'instructions Darwin permet à ces microcontrôleurs d'exécuter rapidement les algorithmes complexes de plus en plus nécessaires pour extraire des informations utiles de ces données. Le jeu d'instructions associe des instructions 16 bits et 32 bits, ce qui réduit l'empreinte du logiciel d'application, tout en préservant la capacité de l'architecture 32 bits à exécuter davantage d'instructions par octet. En plus de son unité en virgule flottante intégrée, l'architecture du processeur Darwin inclut une opération MAC (multiplication/accumulation) matérielle haute vitesse, ainsi qu'une capacité de traitement parallèle SIMD (instruction simple pour données multiples), offrant des capacités de traitement numérique des signaux.

Cette combinaison d'instructions DSP et en virgule flottante permet aux microcontrôleurs Darwin d'exécuter plus rapidement les algorithmes à grands volumes de données nécessaires à l'intégration de l'intelligence dans les produits nouvelle génération. Parallèlement, les microcontrôleurs intègrent des mémoires sur puce suffisamment volumineuses pour stocker des algorithmes et d'autres codes d'application, ainsi qu'un nombre croissant de logiciels de niveau système, notamment des noyaux en temps réel, des piles de communication et des piles de protocoles de sécurité. Parmi les membres de la gamme de microcontrôleurs Darwin, les développeurs peuvent trouver le mélange de mémoire Flash et de mémoire SRAM le plus approprié pour leur application. Les microcontrôleurs MAX32630/MAX32631 fournissent 2 Mo de mémoire Flash et 512 Ko de mémoire SRAM ; le MAX32620 fournit 2 Mo de mémoire Flash et 256 Ko de mémoire SRAM ; et le MAX32625 fournit 512 Ko de mémoire Flash et 160 Ko de mémoire SRAM. Pour simplifier l'utilisation de ces mémoires, les microcontrôleurs Darwin prennent en charge une image mémoire cohérente qui combine ses différents types de mémoire et ses registres mappés en mémoire dans un seul espace d'adressage (Figure 2).

Schéma des microcontrôleurs Darwin utilisant un seul espace d'adressage

Figure 2 : Les microcontrôleurs Darwin utilisent un seul espace d'adressage contenant leurs différents types de mémoire, ainsi que les registres mappés en mémoire pour leurs blocs fonctionnels. (Source de l'image : Maxim Integrated)

Les développeurs peuvent étendre davantage la mémoire Flash disponible pour prendre en charge des ensembles de codes ou des bibliothèques système très volumineux. Les microcontrôleurs Darwin prennent en charge les opérations XIP (execute-in-place) qui permettent au processeur d'exécuter du code directement à partir de la mémoire Flash externe. Maxim Integrated démontre cette approche dans sa conception de référence MAXREFDES100, qui inclut le dispositif Flash de 32 Mo S25FS256SAGNFI001 de Cypress Semiconductor.

Avec des capacités de mémoire et de traitement étendues, les microcontrôleurs Darwin continuent à répondre aux besoins des développeurs en matière de basse consommation. Les microcontrôleurs MAX32630/MAX32631, qui prennent en charge la plus grande mémoire intégrée mentionnée ici, peuvent conserver leur mémoire SRAM de 512 Ko avec seulement 3,4 microwatts (µW). En mode pleinement actif, ils ne consomment toujours que 130 µW/MHz. Ils peuvent également fournir un compromis entre les deux, en consommant 30 µW/MHz dans un mode spécial qui utilise l'unité de gestion périphérique (PMU) intégrée pour permettre les opérations périphériques pendant que le cœur du processeur reste dans un état de veille très basse consommation.

La capacité des microcontrôleurs Darwin à exécuter des périphériques pendant que le processeur est en veille permet aux développeurs de réduire la consommation en limitant le temps pendant lequel le processeur doit rester en mode actif. Plutôt que d'utiliser un processeur pleinement actif pour interroger régulièrement les capteurs et transmettre les résultats à un hôte, les développeurs peuvent utiliser les instructions des microcontrôleurs Darwin pour les options Wait for Interrupt, Wait for Event et Sleep on Exit pour minimiser le rapport cyclique actif et ainsi réduire la consommation globale (Figure 3).

Image de la réduction considérable de la consommation du système en maximisant le temps passé par le processeur en état de veille basse consommation

Figure 3 : Dans un dispositif corporel ou un autre système de capteur, les développeurs peuvent considérablement réduire la consommation du système en maximisant le temps que le processeur passe en état de veille basse consommation, se réactivant juste assez longtemps pour acquérir les données de capteur et transmettre les résultats à un hôte. (Source de l'image : Maxim Integrated)

Avec un temps de réactivation de 5 µs, ces microcontrôleurs réduisent la quantité d'énergie régulièrement gaspillée par des microcontrôleurs plus lents lors de la transition du mode veille au mode actif. Couplés à leurs états de veille de rétention SRAM, ces dispositifs peuvent rapidement reprendre le traitement sans longs délais et sans gaspillage d'énergie à partir des états de sauvegarde et de restauration en utilisant une mémoire externe non volatile. Par conséquent, les ingénieurs peuvent développer des applications très efficaces, sensibles à la consommation.

Pour prendre en charge le développement de ces applications, Maxim propose le kit de développement logiciel (SDK) du micrologiciel MAX326XX, qui inclut des pilotes de périphériques, des pilotes de support de carte et des applications d'exemple (Figure 4).

Schéma du kit de développement logiciel du micrologiciel MAX326XX de Maxim Integrated

Figure 4 : Le kit de développement logiciel (SDK) MAX326XX de Maxim Integrated soutient les développeurs d'applications avec des applications d'exemple illustrant l'utilisation des pilotes de périphériques et de cartes du SDK basés sur l'API Arm Cortex Microcontroller Software Interface Standard (CMSIS). (Source de l'image : Maxim Integrated)

Les bibliothèques de périphériques et de cartes du SDK du micrologiciel MAX326XX reposent sur l'API Arm Cortex Microcontroller Software Interface Standard (CMSIS). En retour, les logiciels d'application interagissent généralement avec les bibliothèques de périphériques et de cartes, mais peuvent interagir directement avec le CMSIS pour atteindre le matériel sous-jacent selon les besoins.

Conclusion

Les utilisateurs s'attendent à ce que les dispositifs corporels, les dispositifs IoT et les autres dispositifs intelligents offrent des applications sophistiquées dans des systèmes qui interagissent facilement, s'adaptent confortablement et offrent une valeur significative. Pour répondre à ces exigences, les développeurs ont besoin de microcontrôleurs combinant des fonctionnalités étendues, un traitement hautes performances et un fonctionnement basse consommation.

Conçue spécialement pour répondre à ces exigences, la gamme de microcontrôleurs Darwin de Maxim Integrated permet aux développeurs de créer plus facilement des dispositifs dotés de l'intelligence invisible nécessaire pour répondre aux attentes des utilisateurs de produits intelligents.

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'éditeur

Rédacteurs nord-américains de DigiKey