Accueil Composants Techniques de conception de microcontrôleurs basse consommation

Techniques de conception de microcontrôleurs basse consommation

Dans les marchés hautement concurrentiels d'aujourd'hui, les concepteurs sont tenus de concevoir plus de fonctionnalités pour moins : moins de coûts, moins de puissance, moins de taille. Cela est particulièrement vrai dans les marchés ciblés pour l'efficacité énergétique et les produits « verts ». Les prochaines générations de microcontrôleurs comme le Renesas RX100 sont conçues pour économiser de l'énergie, sans compromettre les niveaux de performances élevés du processeur, avec une intégration avancée des périphériques, de la mémoire et une consommation d'énergie quasi nulle dans les opérations.

Ces appareils innovants peuvent sortir rapidement du mode veille, consommant beaucoup moins de courant que les solutions existantes et atteignant des niveaux de performances exceptionnels. Ce sont des avantages que les ingénieurs système peuvent utiliser pour créer des produits qui offrent un large éventail de nouvelles fonctionnalités pour répondre aux exigences des marchés d'aujourd'hui et de demain.

Cet article met en évidence les avantages de l'utilisation des fonctionnalités basse consommation des microcontrôleurs 32 bits, tels que le Renesas RX100, et montre comment les ingénieurs système peuvent les appliquer pour concevoir des produits alimentés par batterie dans des limites de dissipation de puissance extrêmement strictes. . Nous montrerons également comment cette classe d'appareils peut être utilisée dans des applications réelles à faible consommation, entraînant une augmentation des performances du système, mais en même temps une diminution du coût total du système. Les microcontrôleurs RX100 sont les premiers microcontrôleurs 32 bits de l'industrie qui combinent une technologie révolutionnaire de contrôle de l'alimentation avec les fonctionnalités innovantes d'un temps de réveil ultra-rapide, d'un délai d'accès sans flash, de plusieurs fonctionnalités de sécurité, d'un hôte/périphérique intégré USB 2.0 et d'un go, le tout à un prix très compétitif.

Ces microcontrôleurs sont le meilleur choix pour les applications 32 bits bas de gamme telles que les appareils de santé mobiles, les compteurs/compteurs intelligents, les systèmes de sécurité, ainsi que les capteurs, les détecteurs et d'autres éléments des équipements de contrôle industriel et d'automatisation des bâtiments. Les principales caractéristiques de faible puissance de ces appareils incluent :

• Efficacité énergétique exceptionnelle en mode actif : 100 µA/MHz

• Temps de réveil, Ultra-rapide : 4.8 µs ou moins.

• Architecture supérieure : performances 3.08 Coremarks/MHz.

•Six modes de fonctionnement, ainsi que de nombreuses autres options de conception écoénergétiques.

• Périphériques standard et avancés : ADC, LVD, RTC, USB, etc. 

Plusieurs modes de fonctionnement à puissance optimisée (haute vitesse, vitesse moyenne et basse vitesse) minimisent la consommation d'énergie lorsque différentes vitesses de processeur sont nécessaires pour différentes tâches d'application. De plus, trois modes basse consommation (veille, veille profonde et veille logicielle), combinés au court temps de réveil de ces modes, permettent aux ingénieurs système d'affiner les performances du système et l'alimentation pour répondre aux exigences d'un environnement spécifique. application. Il existe de nombreuses autres techniques d'économie d'énergie à prendre en compte, telles que l'utilisation de la technologie de temporisation d'accès sans flash, qui réduit la consommation d'énergie car le processeur n'a pas à rester inactif en attendant que les données soient extraites du flash. . Chaque module périphérique peut être éteint individuellement, de sorte que ceux qui ne sont pas utilisés ne gaspillent pas d'énergie. Un système d'horloge avancé permet de ralentir les horloges périphériques pendant que le processeur fonctionne à pleine fréquence. D'autre part, plusieurs oscillateurs (HOCO ou LOCO) peuvent être choisis pour le CPU et obtenir une réduction de consommation supplémentaire dans certaines situations, en utilisant ces horloges pour remplacer la boucle à verrouillage de phase (PLL).

L'architecture CPU de la famille RX100 est extrêmement efficace en termes de calcul, atteignant le plus grand nombre possible d'instructions par mW. La latence d'interruption n'est que de 5 cycles et le débit est évalué à 1.54 DMIPS/MHz et 3.08 Coremarks/MHz. 

Le grand nombre de bus parallèles de l'architecture rend possible le mouvement simultané des données entre le CPU, la mémoire Flash, la SRAM et les périphériques. Cette caractéristique de conception garantit qu'aucun goulot d'étranglement ne se produit lorsque le processeur se réveille d'un mode basse consommation/arrêt. En maintenant le contrôle direct de tous les éléments de développement et de fabrication chez Renesas, nos experts en technologie des semi-conducteurs permettent une production de haute qualité et une conception de système optimisée que les clients peuvent utiliser pour mettre en œuvre des produits et des systèmes à très faible consommation. .

Comme mentionné précédemment, le CPU dispose de trois modes de contrôle de puissance : haute vitesse, vitesse moyenne et basse vitesse. Chacun de ces modes met à disposition un ensemble différent de périphériques. Cependant, certaines restrictions doivent s'appliquer. La disponibilité de certains oscillateurs, PLL, programmation de la mémoire Flash à certaines fréquences d'horloge, dépend du mode de fonctionnement sélectionné. En revanche, les exigences de tension d'alimentation du MCU ne sont pas affectées par les modes de fonctionnement de régulation de puissance. Les opérations sont toujours autorisées sur toute la plage de fonctionnement de la puissance du MCU de 1.8 V à 3.6 V. Cependant, les fréquences d'horloge utilisées, dans les modes haute, moyenne et basse vitesse, dépendent de la tension d'alimentation. (Voir Tableau 1.) En plus des trois modes de régulation de puissance, le RX100 offre également les modes de fonctionnement à faible consommation susmentionnés : Veille, Veille profonde et Veille logicielle. Dans chacun d'eux, différentes fonctions MCU sont arrêtées et/ou désactivées, économisant diverses quantités de courant. Les détails peuvent être vus ci-dessous:

Mode veille : le processeur s'arrête avec les données conservées. Cela réduit la consommation de courant dynamique du CPU, qui contribue de manière significative à la consommation de courant totale du MCU. Le processeur passe du mode veille au mode actif en seulement 0.21 µs à 32 MHz.

Mode Veille profonde (mode Deep Sleep) : Le CPU, la RAM et la mémoire Flash sont arrêtés avec les données conservées. À 32 MHz avec divers périphériques actifs, le courant de fonctionnement typique n'est que de 4.6 mA. Il ne faut que 2.24 µs pour réveiller le processeur du mode veille profonde au mode actif. Mode veille du logiciel : la PLL et tous les oscillateurs, à l'exception de la sous-horloge et de l'IWDT, sont arrêtés. Presque tous les modules RX100 : CPU, RAM, Flash, DTC et blocs périphériques, s'arrêtent avec les données conservées. Le Power on Reset (POR) est toujours actif, bien que si nécessaire, l'iWDT, le RTC et le LVD peuvent également fonctionner. La consommation de courant dans ce mode est de 350 nA à 790 nA, selon que le LVD et le RTC sont utilisés ou non. Lors du réveil en mode de fonctionnement à 4 MHz, le fonctionnement du processeur démarre après un délai de 4.8 µs. Lorsque vous vous réveillez en mode de fonctionnement 32 MHZ, le temps est étendu à 40 µs.

Alors que les modes veille, veille profonde et veille logicielle du RX100 sont très utiles pour réduire le courant consommé par la puce, les ingénieurs système peuvent utiliser d'autres techniques pour réduire davantage la consommation d'énergie. Par exemple, divers rapports de division de fréquence du signal d'horloge peuvent être réglés individuellement. Cette capacité s'applique à l'horloge système, à l'horloge du module, à l'horloge ADC et à l'horloge de la mémoire flash. Il s'agit d'un choix de conception précieux lorsque les exigences de l'application diffèrent entre les différents blocs fonctionnels. Chaque module périphérique dispose également d'un contrôle d'arrêt indépendant par bit. Cette fonctionnalité permet au logiciel d'exercer un contrôle individuel des fonctions MCU afin de réduire davantage le courant dynamique.

Le reste de cet article traite de l'utilisation d'un microcontrôleur 32 bits à faible consommation, tel que le RX100, dans une application réelle, dans ce cas un débitmètre. Cette application est utile pour explorer et expliquer diverses techniques de conception de systèmes à très faible consommation. Cette application met en évidence de manière appropriée les techniques et/ou les choix de conception économes en carburant et explique comment appliquer au mieux les fonctionnalités clés du RX100. Les données de performance sont utilisées pour calculer l'utilisation actuelle moyenne de la conception dans l'exemple et pour montrer la durée de vie de la batterie.

 

Conception du débitmètre

 

Les débitmètres modernes (compteurs électriques, compteurs d'eau, gaz...) évoluent de simples lecteurs manuels d'unités mécaniques, à des versions électroniques basées sur des microcontrôleurs avec connectivité sans fil. Des conceptions plus avancées offrent la flexibilité de la surveillance et des communications de données, permettant le contrôle du système par les entreprises qui fournissent le service. Ces fonctionnalités avancées doivent pouvoir être implémentées même si le compteur est en marche. Par conséquent, l'électronique doit consommer en moyenne de minuscules quantités d'énergie. La règle est d'utiliser des piles, car le courant alternatif est rarement disponible pour faire fonctionner le compteur. Les spécifications de conception typiques exigent une durée de vie totale de la batterie de plus de 20 ans.

Les principales exigences de faible consommation d'énergie d'un débitmètre électronique peuvent être regroupées en fonction des fonctions principales que l'unité exécute. La plupart du temps, le microcontrôleur fonctionne dans les modes de consommation les plus faibles, avec uniquement l'horloge en temps réel (RTC) et le détecteur de basse tension (LVD) actifs. De plus, il est généralement recommandé de maintenir la SRAM active afin qu'elle puisse stocker les résultats de traitement intermédiaires, éliminant ainsi le besoin d'écrire continuellement des données dans la mémoire flash. Périodiquement, le compteur se réveille et effectue une mesure de débit. Les paramètres clés (utilisés pour la facturation) sont conservés dans une mémoire non volatile afin qu'ils ne soient pas perdus en cas de coupure de courant. Les communications avec le système de contrôle central seront effectuées au moyen d'un émetteur-récepteur série, chaque fois que les données doivent être collectées ou mises à jour. De plus, les niveaux de tension de la batterie sont vérifiés régulièrement pour gérer les modes de fonctionnement du MCU.

L'analyse suivante porte sur une conception typique de débitmètre qui analyse en détail les aspects clés de son fonctionnement pour obtenir des informations essentielles pour estimer la durée de vie de la batterie. Pour cet exemple, les données proviennent d'une implémentation basée sur une puce RX111 (voir Figure 2).

Le processeur, la mémoire et les périphériques du RX111 intègrent la plupart des fonctions d'un débitmètre. Les principaux périphériques utilisés sont : le convertisseur analogique-numérique (ADC) qui mesure la sortie du capteur de débit, un port SPI qui se connecte au contrôleur central qui collecte les données de différents compteurs et un autre port SPI qui contrôle l'écran LCD qui affiche le flux de données et l'état du système. De plus, le RTC du MCU garde une trace précise du moment où chaque mesure est effectuée, et le détecteur de basse tension (LVD) surveille en permanence la tension de la batterie du compteur.

 

Mode d'emploi

 

Afin d'estimer la consommation d'énergie et la durée de vie de la batterie du débitmètre, il est nécessaire d'identifier les facteurs clés : les principales fonctions que le compteur MCU doit exécuter, quels modules sont utilisés pour effectuer les tâches, la fréquence d'exécution des fonctions, combien de temps il faut pour exécuter ces fonctions et le courant que le MCU utilise pour gérer ces tâches. Certains des périphériques MCU, tels que le RTC et le LVD, fonctionnent en continu, tandis que d'autres, tels que les ports ADC ou SPI, ne sont nécessaires que pendant de courtes périodes. Les détails des fonctions de l'exemple de débitmètre sont décrits ci-dessous :

Battery Monitor : Cette fonction vérifie le niveau de tension de la batterie, fournissant des informations qui sont incluses dans les données d'état de fonctionnement envoyées périodiquement au système de contrôle central. Le moniteur de batterie peut également effectuer une tâche de détection de sabotage, pour déterminer si le compteur a été piraté.

La tension mesurée sur la batterie (et sa variation dans le temps) est utilisée pour ajuster la fréquence de fonctionnement des différentes fonctions du compteur, car en prolongeant le temps entre les opérations, à mesure que le niveau de la batterie baisse avec elles, la durée de vie utile de la batterie peut être prolongée . Lorsque la tension de la batterie chute trop bas, le moniteur peut déclencher un signal « hors air » qui se traduit par une utilisation vitale du flux de données à stocker dans la mémoire flash pour une récupération et des diagnostics ultérieurs. Cette opération est rarement nécessaire, elle n'est donc généralement pas prise en compte dans le calcul de la durée de vie de la batterie. (Se insta a los ingenieros de sistemas a establecer la alerta de bajo nivel, en un punto lo suficientemente alto como para asegurar que queda suficiente energía en la batería para que el MCU pueda ejecutar cualquier tarea de 'último intento' de recogida de datos y de sécurité.)

Moniteur de débit : L'ADC lit la sortie du capteur pour mesurer avec précision le débit. Les données que vous fournissez doivent être traitées ultérieurement pour déterminer les mesures facturables réelles. Les calculs requis s'intègrent bien dans la puissance de traitement des RX111.

Send Updates : Cette fonction communique les données clés (débit, niveau de batterie, qualité de service, etc.) au système de contrôle central. Le temps entre l'envoi et la réception des transmissions peut être prolongé lorsque la batterie est épuisée, afin d'économiser l'énergie de la batterie.

Recevoir les mises à jour : le débitmètre reçoit la fonction et est activé en fonction des besoins de la commande centrale. Lorsque le compteur reçoit une mise à jour des données, le MCU doit être en mesure d'effectuer rapidement des fonctions de maintenance importantes avant d'exécuter la mise à jour. Un tableau des fonctions de base, tel que celui présenté dans le tableau 3, est un moyen pratique d'organiser ces fonctions de base. Il montre les périphériques actifs associés à chaque fonction de mesure, la fréquence à laquelle la tâche est effectuée et le temps nécessaire au MCU pour exécuter chaque fonction.

Les données du tableau 3 sont les valeurs estimées du temps de traitement MCU requis pour chaque fonction, plutôt que les valeurs mesurées, car les fonctions n'ont pas encore été implémentées. Pourtant, ce sont des "meilleures estimations conservatrices" basées sur des fonctions similaires dans d'autres applications conçues et sont valables pour les calculs de consommation d'énergie dans cet exemple.

 

Techniques de conception basse consommation et options de déploiement

 

Il existe généralement plusieurs options d'application dans la conception d'un système basé sur un MCU à faible consommation. L'une des options logicielles courantes consiste à mettre le système en mode hors tension, puis à le rallumer après un laps de temps spécifié. Cette option est appelée réveil périodique.

En appliquant l'approche de réveil périodique à un exemple de conception de débitmètre, les heures de fonctionnement suivantes ont été spécifiées : Le logiciel réveille la CPU toutes les secondes. Le MCU doit exécuter la fonction de mise à jour de la livraison à chaque intervalle de 10 minutes, effectuer la tâche de surveillance de la batterie à chaque intervalle de 1 minute et activer la fonction de surveillance du débit à chaque intervalle de 1 seconde.

La fonction de réception des mises à jour est cependant différente. Il s'agit d'une exception dans le fonctionnement du programme, car il s'exécute de manière asynchrone sur la base de temps MCU chaque fois que le système de contrôle central le demande. Aux fins de cet exemple d'application, le pire des cas est que la fonction de réception de mise à jour est exécutée environ une fois toutes les 10 minutes. Par conséquent, pour les calculs de courant de consommation du compteur, la réception de la mise à jour est considérée comme une fonction régulière avec un intervalle de 10 minutes. Ici, nous pouvons trouver plus de détails sur les principales tâches du compteur effectuées par le microcontrôleur :

Génération de déclenchement : étant donné que l'horloge en temps réel fonctionne en continu dans cette conception de compteur, elle offre une méthode pratique, économe en énergie et à faible consommation d'énergie de génération de signal de déclenchement en 1 seconde. L'horloge 128 Hz qui alimente le RTC provient de l'entrée Sub-clock (xcin) 32.768 kHz. Les compteurs RTC produisent des signaux horaires précis (année, mois, semaine, jour, heure, minute et seconde) pour un maximum de 99 ans, en effectuant des corrections automatiques dans les années bissextiles. Le mode d'alarme MCU (ALM) peut générer une interruption par année, mois, date, jour de la semaine, heure, minute ou seconde.

Une autre source d'interruption, l'interruption périodique (PRD), est pratique pour démarrer des périodes de temps plus courtes, car elle peut générer une interruption toutes les 2 secondes, 1 seconde, 1/2 seconde, 1/4 seconde, 1/8 de seconde, 1 /16 seconde, 1/32 seconde, 1/64 ou 1/256 seconde. L'interruption PRD de 1 seconde est utilisée dans l'exemple de conception de débitmètre pour mesurer le temps de fonctionnement.

Contrôleur de débit : une fois par seconde, le CAN du microcontrôleur convertit la sortie du capteur de débit externe pour produire des données numériques. Le convertisseur ADC est activé par logiciel avant chaque mesure. Cela maintient la consommation de courant faible, car le convertisseur ajoute 0.66 mA à la consommation de courant lorsque le MCU fonctionne à 32 MHz. A cette vitesse d'horloge, l'ADC doit être activé pendant 3µs pour effectuer une mesure : 1µs pour activer l'ADC, 1µs pour effectuer la conversion, et un délai de 1µs avant que le convertisseur ne soit désactivé. À 32 MHz, le temps de réveil du RX111 en mode actif est de 40 µs. Cette fois, vous devez ajouter 15 µs à la CPU pour traiter les données du flux ADC.

Mesure du niveau de batterie : Le détecteur de basse tension (LVD) du RX100 possède deux circuits de détection de tension indépendants. Le circuit LVD1 mesure la tension de la batterie (VCC). Il peut comparer cette tension à dix "échelons" de tension différents, allant de 1.86V à 3.1V. En revanche, le circuit LVD2 peut comparer une source de tension externe avec quatre "étapes" de tension différentes, allant de 1,8 V à 2,9 V. Dans cette conception de débitmètre, VCC est vérifié chaque minute pour surveiller son état par le module LVD1 pour une mesure plus précise. Une interruption est générée lorsque le niveau commence à approcher la limite de tension inférieure spécifiée du RX111 de 2.7 V à 32 MHz de fonctionnement. Le MCU stocke la tension de batterie mesurée et, si nécessaire, envoie une alerte au système de contrôle central de l'entreprise de services publics lors de la prochaine opération d'envoi de mise à jour. La fonction de mesure de la batterie peut fonctionner à 1 MHz, son temps de réveil associé n'est donc que de 4.8 µs. Son temps de traitement (à 1 MHz) est estimé à environ 35µs. Par conséquent, le temps actif total pour cette fonction est d'environ 40 µs.

Envoyer les mises à jour – Toutes les 10 minutes, la commande d'envoi des mises à jour utilise le périphérique SPI pour transmettre les données au système de contrôle central. Pour calculer l'énergie utilisée par compteur conçu, une bonne hypothèse est qu'environ 1000 10 µs sont nécessaires pour traiter et transférer les données. Recevoir des mises à jour : toutes les 2000 minutes, la commande de réception de mise à jour utilise le périphérique SPI pour recevoir des données du système de contrôle central. On suppose que XNUMXµs sont nécessaires pour réveiller, recevoir et traiter les données.

 

Calcul moyen de la consommation de courant du MCU

 

Tableau 4 – Affiche le temps de fonctionnement et la consommation de courant pour chacune des fonctions du débitmètre. Une consommation de courant de 0.6 mA (mode d'exécution à grande vitesse, tableau 3) est utilisée ici car le processeur du RX111 est actif et certains périphériques peuvent également être actifs. Lorsque l'ADC est actif, 0.66 mA est ajouté à la consommation de courant. Pour déterminer la durée de vie de la batterie du compteur, le courant moyen individuel pour chaque fonction est calculé en multipliant la consommation de courant par le pourcentage de cycle. Les résultats sont présentés dans la colonne de droite du tableau 5. La somme de ces contributions correspond au courant total moyen du MCU (ICC) : 1.46 µA. 

Les principaux contributeurs à la consommation de courant moyenne du compteur sont le mode veille logiciel, 0.79 µA, qui représente environ 54 % du total de 1.46 µA, tandis que la fonction de surveillance du débit consomme 0.62 µA, soit environ 42 % du total. Dans des applications comme celle-ci, qui ont des périodes d'inactivité relativement longues, le courant consommé en mode de veille et d'exécution du logiciel contribue généralement à la majeure partie du courant moyen vers le microcontrôleur. Par conséquent, il est important que le microcontrôleur utilisé dans la conception ait d'excellentes caractéristiques de faible puissance dans les deux modes. 

 

Calcul de la durée de vie de la batterie

 

Pour l'exemple d'application, on suppose que la batterie du compteur a une capacité de 300 mAh et fournit environ 3 V pendant la majeure partie de sa durée de vie. En tenant compte de ces informations, la durée de vie de la batterie est calculée en divisant la capacité de la batterie par le courant moyen du MCU comme suit : 300.000 1.46 µAh/206243 µA = 23,5 111 heures, soit 20 ans. Le calcul révèle que la durée de vie de la batterie du débitmètre basé sur le RX100 dépasse l'exigence spécifiée de XNUMX ans. Ce résultat démontre clairement les avantages de conception du système obtenus en appliquant les caractéristiques exceptionnelles de faible puissance d'un RXXNUMX.

Les calculs précédents de la durée de vie utile de la batterie, se concentrent sur le courant apporté par le microcontrôleur. Pour plus de clarté, le courant tiré des composants externes et les caractéristiques d'autodécharge ne sont pas pris en compte dans cet exemple. 

Diverses techniques de conception sont utiles pour les applications où des dispositifs externes doivent être pris en compte ; cependant, ils sortent du cadre de cet article.

Les caractéristiques avancées de faible consommation d'énergie du RX100 le rendent excellent pour les solutions de débitmètre et autres applications similaires qui nécessitent un fonctionnement sur batterie. Parmi les fonctionnalités les plus utiles de l'appareil, nous en trouvons certaines telles que les suivantes :

 

• Efficacité de consommation en mode actif (mode Run).

• Très faible consommation d'énergie en attente de logiciel (Software Standby).

• Temps de réveil rapide à partir du mode veille du logiciel.

• Faible consommation de courant pour le RTC et le LVD.

• Traitement économe en énergie à des fréquences d'horloge inférieures. 

 

Les modes de fonctionnement à basses fréquences du RX100 permettent de prolonger la durée de vie des batteries, si les routines de l'application principale ont un temps d'exécution fixe, c'est-à-dire qui n'est pas déterminé exclusivement par les performances du CPU.

Les microcontrôleurs de la série Renesas RX100 offrent des performances exceptionnelles ainsi que des économies d'énergie avancées pour mieux répondre aux exigences de conception des applications qui ont des besoins en énergie limités. Ces appareils 32 bits impressionnants offrent aux ingénieurs système des opportunités passionnantes pour produire de nouveaux produits qui prolongent la durée de vie de la batterie à des limites qui étaient auparavant impossibles. Les techniques de réduction de consommation de courant décrites facilitent la conception de produits respectueux de l'environnement et bannissent l'idée de remplacer fréquemment les batteries ou de les recharger.


Mots clés
mcu