Commander des applications IoT à l’aide de microcontrôleurs 8 bits

Application Microchip 8 bits

[APPLICATION MICROCHIP] Dans les années 1970, les microcontrôleurs ont joué un rôle majeur pour commander de nombreux produits automobiles, biens de consommation ou équipements industriels. De nos jours, ce rôle s’est étendu et comprend désormais les produits de l'Internet des objets (IoT) tels que les objets portables, sans fil ou portés sur soi. En plus des objets connectés, le domaine du médical a également connu une croissance massive et un grand nombre d'applications y ont ainsi adopté des microcontrôleurs 8 bits. Revue de détail par Microchip.

Auteur : Joshua Bowen, Product Marketing Engineer, 8-bit MCU Business Unit, Microchip Technology.

L’électronique embarquée avec des microcontrôleurs 8 bits exige des composants performants qui permettent des économies d’échelle compétitives (depuis quelques centaines de milliers jusqu’à parfois plusieurs millions d’unités par application). Par exemple, dans les applications automobiles, les microcontrôleurs 8 bits commandent de nombreux sous-systèmes tels que la motorisation des sièges, les lève-vitres électriques ou l'ouverture des portières électriques, sans oublier les capteurs de pression des pneumatiques. Dans ces conditions, une différence de tarif de quelques centimes par unité se révèle assez importante au final.

Autre aspect relatif au coût de l’application, souvent sous-estimé lors de la phase de conception : le coût de maintenance de millions d’appareils. A ce niveau, la durabilité et la fiabilité des appareils peuvent être améliorées grâce à la simplification du code et au matériel utilisé, au lieu d’exiger des redondances logicielles. Parmi les raisons qui font que les microcontrôleurs 8 bits continuent d’être prisés et compétitifs au fil des années, on peut citer leur capacité à offrir une valeur ajoutée à l'utilisateur, ce qui est rendu possible par des innovations continues dans différents domaines, et plus particulièrement en matière de mémoire, de consommation énergétique, de boîtiers et de périphériques indépendants du cœur (CIP).

Des améliorations significatives pour les composants 8 bits

Comme l’intérêt pour les objets connectés s’est accru au point que des villes entières sont en train de s’équiper d’installations intelligentes, la capacité de mettre en œuvre cette intelligence à grande échelle est devenue critique dans de nombreux secteurs industriels. Parmi ces nouveautés dans l’espace urbain, on peut citer par exemple l’éclairage public intelligent ainsi que des détecteurs de voiture sur chaque place de parking (différents d’un simple compteur du nombre d’entrées). Or, certaines des fonctionnalités nécessitent la mise en œuvre de microcontrôleurs pour créer un environnement capable d’accueillir des objets connectés.

Ces fonctionnalités se réduisent en fait au nombre de trois principalement : la capacité à collecter les données, la capacité à les traiter et la capacité à les transférer aux appareils du réseau. La plupart du temps, la collecte, le traitement et le transfert des données peuvent être effectués par un microcontrôleur 8 bits doté d’un convertisseur analogique-numériques intégré, avec en sus une consommation du cœur très faible. Car le moindre milliwatt d'énergie consommé, multiplié par des milliers de capteurs ou d’appareils, peut vraiment générer au final des coûts importants, surtout si le système fonctionne de jour comme de nuit.

Mais les avantages et la valeur ajoutée des composants plus petits ne résident pas uniquement dans leur consommation énergétique réduite, mais également dans leur petit format, qui permet de les installer dans des espaces exigus sur les objets connectés portables alimentés par batterie.

Mémoire et consommation énergétique au programme

Les microcontrôleurs d’il y a quelques années étaient bien différents des composants que l’on trouve aujourd’hui sur le marché. Ces composants ont modifié le monde des circuits embarqués grâce notamment à l’apport des mémoires flash. Mais la tendance allant vers des applications de plus en plus complexes, les nouveaux programmes nécessitent davantage d’espace mémoire, en particulier pour le code embarqué.

Dans ce cadre, les mémoires flash embarquées peuvent durer des années avec des tests d’endurance sévères et la capacité à endurer de nombreux cycles d’écriture et effacement. Grâce à ces caractéristiques, la valeur ajoutée des microcontrôleurs 8 bits est augmentée car aujourd’hui, la capacité mémoire d’un microcontrôleur 8 bits peut aller de 384 bits à 128 kbits. De nombreux microcontrôleurs 8 bits sont utilisés dans des applications alimentées par batterie avec à ce niveau des changements majeurs au niveau de la gestion de la consommation.

Par exemple, les microcontrôleurs PIC XLP nanoWatt de Microchip dotés d’une très faible consommation intègrent des circuits de supervision système spécialement conçus pour les produits alimentés par batterie. Ces circuits peuvent offrir les courants les plus faibles de l’industrie en fonctionnement comme en veille, état dans lequel 90 % à 99 % des applications à très faible consommation passent leur temps. Des circuits électroniques, du type désactivation des modules périphériques, retirent complètement les périphériques du rail d’alimentation et de l’arbre d’horloge, pour des pertes de puissance totalement nulles.

Parmi les avantages de la technologie XLP nanoWatt, on peut citer par exemple des courants de veille inférieurs à 20 nA, une réinitialisation BOR (Brownout Reset) jusqu’à 45 nA, un minuteur (timer) pour le circuit de surveillance du circuit (Watchdo) jusqu’à 220 nA, l’activation d’une horloge temps réel consommant jusqu’à 470 nA, des courants de fonctionnement jusqu’à 50 μA par MHz et des capacités d’auto-écriture et de gestion de fonctions analogiques jusqu'à 1,8 V. Ces faibles courants s’additionnent pour augmenter l'autonomie de la batterie sur les applications portables, sans compter que des économies d’énergie supplémentaires sont possibles en optimisant les périphériques.

Ne pas oublier les boîtiers !

Autre différence essentielle entre les microcontrôleurs 8 bits et leurs coreligionnaires 16 ou 32 bits : les dimensions réduites des boîtiers, qui permettent des composants à 8 broches pouvant être installés dans les espaces les plus exigus, sur les produits sans fil, portables ou objets connectés portés sur soi ayant des contraintes d’espace.

En utilisant par exemple, un SOIC (Small Outline Integrated Circuit) à 8 broches ou un DFN (Dual-Flat No-leads) à 8 broches ou encore un VQFN (Very Thin Quad Flat Pack No Leads) à 20 broches qui possède une empreinte de 3 x 3 mm, qui sont autant de formats de boîtiers populaires. (voir photo ci-dessus).

Cependant, si un microcontrôleur 8 bits avec des capacités améliorées nécessite plus d’espace sur la carte et davantage de connexions en raison de la complexité accrue du système qui l'intègre, il est également possible d’utiliser des versions plus encombrantes de boîtiers PDIP (Plastic Dual Inline Package) et VQFN à 40 broches, et TQFP (Thin Quad Flat Pack) à 44 broches.

Des périphériques indépendants du cœur du microcontrôleur

En séparant certains aspects du microcontrôleur de son noyau de traitement central, une série de fonctionnalités deviennent autonomes par rapport au noyau, ce qui offre certains avantages, en particulier pour les systèmes faible consommation/à bas coût. Ces périphériques indépendants du cœur, dits CIP pour Core-Independant Peripherals, apportent un grand nombre de fonctionnalités intégrées transformant le microcontrôleur en un système modulaire. Ce qui simplifie notamment la mise en œuvre des interfaces tactiles, du stockage et le traitement des données issues de capteurs, ainsi que la mise en œuvre de logiciels complexes dans les composants matériels.

Ces périphériques CIP sont conçus pour gérer un certain nombre de tâches sans que le cœur du microcontrôleur n’ait besoin d’intervenir. Cette approche de conception fournit un moyen préintégré de programmer les évènements, fondé sur des périphériques. Par exemple, le système de gestion des événements peut déclencher des évènements à partir des entrées/sorties à usage général (GPIO) ou de l’interruption d’un programme sur plusieurs canaux. Les CIP actuellement disponibles pour les microcontrôleurs PIC et AVR 8 bits sont indiqués dans la figure ci-dessous par un code de couleur, chaque couleur correspondant à une catégorie de périphériques. Les huit catégories et leurs sous-catégories permettent de mettre en œuvre la plupart des fonctionnalités attendues sur un contrôleur embarqué au bon rapport coût/efficacité. À noter que les éléments en vert permettent des possibilités de réduction de la consommation supplémentaires par rapport à celles indiquées précédemment.

Ces CIP procurent une fiabilité accrue du système final en réduisant la quantité de code nécessaire. Les fonctions mises en œuvre par les structures matérielles permettent ainsi d’éviter les conflits logiciels potentiels. De plus, l’interconnectivité des périphériques sur le plan matériel réduit les connexions externes, augmentant la fiabilité du système final. La fiabilité accrue des composants réduit par ailleurs les coûts tout au long de la durée de vie du projet. Ainsi sur de nombreux boîtiers pour applications sensibles au coût, de détection ou de contrôle en temps réel, l’ensemble des fonctionnalités simplifiées de la famille de microcontrôleurs PIC16F152XX comprend un convertisseur analogique-numérique 10 bits, la sélection PPS (Pulse Per Second) pour les systèmes GPS, des périphériques de communication numériques et des temporisateurs.

Du côté des fonctionnalités liées aux mémoires, on notera la partition de l’accès mémoire pour aider les utilisateurs dans les applications de protection des données et du bootloader (micrologiciel d’amorçage d’un circuit).

Des outils pour accélérer et simplifier la conception

Parallèlement, grâce aux avancées dans le domaine des outils de développement, de nombreux processus qui auparavant devaient être codés au niveau matériel peuvent maintenant être simplifiés et générés à l’aide des outils de conception logicielle, tels que le générateur de code MPLAB Code Configurator de Microchip. Une approche qui comporte plusieurs avantages, en particulier la réduction du temps passé au développement d’une application, mais aussi la capacité à mettre en œuvre un code plus compact que ce qu’un développeur aurait peut-être écrit, sans parler des différentes itérations du code, ou de l'obligation d’écrire le tout en langage assembleur à partir de rien.

A titre d’exemple, le kit de la carte d'évaluation Curiosity Nano PIC16F15244 (référencée EV09Z19A), doté de capacités complètes de programmation et de débogage, offre une assistance complète pour développer un nouveau système. Cette carte d'évaluation présente deux barrettes d’embase de 15 broches, en vue de simplifier la conception (voir la photo ci-dessus)

Enfin, MPLAB X fournit un environnement de développement gratuit pour développer le code pour les microcontrôleurs 8 bits (ainsi que 16 bits et 32 bits) afin de réaliser des simulations, connecter les outils matériels et accéder aux plug-in de Microchip et d’entreprises tierces.