Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Embarqué

Optimisation de la gestion de l'alimentation avec le MCU croisé i.MX RT500 de NXP

Cet article fournit une introduction aux concepts de gestion de l'alimentation des microcontrôleurs. La famille de microcontrôleurs croisés NXP i.MX RT500 sera utilisée pour fournir des exemples de la façon dont ces concepts de gestion de l'alimentation peuvent être utilisés par les développeurs intégrés dans leurs applications.

Une considération clé pour les concepteurs de MCU est la façon dont l'alimentation est gérée et distribuée. Sans tenir compte des horloges du processeur, de la mémoire et des périphériques, les concepteurs pourraient se trouver dans l'incapacité de passer d'une conception à un produit physique réel.

Cet article fournit une introduction aux concepts de gestion de l'alimentation des microcontrôleurs. Cela inclura une discussion sur les modes d'alimentation du MCU et leur incidence sur le fonctionnement de l'appareil, la quantité de courant consommée par la pièce dans chaque mode et le temps nécessaire au MCU pour sortir d'un mode basse consommation. Nous étudierons également comment les broches d'E/S du MCU et la configuration SRAM influencent la consommation électrique globale de l'appareil. La famille de microcontrôleurs croisés NXP i.MX RT500 sera utilisée pour fournir des exemples de la façon dont ces concepts de gestion de l'alimentation peuvent être utilisés par les développeurs intégrés dans leurs applications. Le MCU i.MX RT500 fournit des fonctionnalités de contrôle et de gestion de l'alimentation qui permettent à l'appareil de fonctionner avec le moins d'énergie possible.

Une présentation du MCU croisé i.MX RT500

i.MX RT500 est une famille de microcontrôleurs double cœur basée sur un puissant cœur Arm® Cortex®-M33 avec une vitesse d'horloge allant jusqu'à 200 MHz. La série i.MX RT500 offre des fonctionnalités de protection riches telles que Arm TrustZone® et une unité de protection de la mémoire (MPU) intégrée qui prend en charge huit régions. Le coprocesseur crypto CASPER permet à l'accélération matérielle de booster diverses fonctions requises pour les algorithmes cryptographiques asymétriques. L'accélérateur matériel PowerQuad est un autre coprocesseur efficace du MCU croisé i.MX RT500, et il aide le processeur principal à effectuer les calculs DSP. L'i.MX RT500 convient aux applications IHM intégrées sécurisées et à faible consommation, aux appareils IoT, aux appareils auditifs et aux appareils grand public intelligents en raison de son DSP audio Cadence® Tensilica® Fusion F1 hautement optimisé, un GPU 2D dédié avec accélération graphique vectorielle, et diverses interfaces d'affichage.

Figure 1. Les microcontrôleurs i.MX RT500 sont adaptés pour alimenter les applications IHM intégrées modernes qui nécessitent des graphiques et des interfaces utilisateur rapides et visuellement agréables. Image reproduite avec l'aimable autorisation de NXP.

Les MCU complexes à signaux mixtes contiennent souvent plusieurs alimentations sur puce pour à la fois améliorer le contrôle de l'alimentation et réduire la diaphonie du bruit de l'alimentation. Pour le contrôle de l'alimentation, le noyau peut fonctionner à une tension inférieure à celle des E/S. De plus, les sections inutilisées d'un MCU peuvent être mises hors tension lorsqu'elles ne sont pas utilisées. Pour la réjection du bruit, les alimentations bruyantes qui alimentent les E/S et la logique numérique peuvent être isolées des fonctions analogiques sur puce.

À titre d'exemple d'utilisation de rails d'alimentation séparés, la famille de microcontrôleurs i.MX RT500 dispose de quatre rails d'alimentation indépendants qui alimentent différentes parties des circuits internes :

  1. Le VDDCORE le rail alimente la logique principale, le DSP, les périphériques et la mémoire de la puce. Ce rail d'alimentation est réglable entre 0,6 V et 1,1 V, et les ingénieurs sont libres d'utiliser le PMU (unité de gestion de l'alimentation) interne de l'appareil ou d'utiliser un PMIC externe (IC de gestion de l'alimentation). La tension requise dépend de la fréquence d'horloge du cœur avant le diviseur d'horloge du processeur.
  2. VDD1V8 est une alimentation de 1,8 V qui pilote des fonctions analogiques sur puce autres que l'ADC et le comparateur. Ce rail alimente également le module PMC intégré, y compris la bande interdite, le POR, le capteur de température et la détection basse et haute tension du noyau. Le VDD1V8_1 la ligne alimente la logique numérique sur puce.
  3. Le VDD_AO1V8 rail alimente les parties de l'appareil qui sont toujours allumées, telles que le RTC, la minuterie de réveil RTC, le POR toujours allumé et les broches RESET, LDO_ENABLE, PMIC_IRQ, PMIC_MODE0 et PMIC_MODE1. Ce rail fournit une source de réveil même lorsque l'alimentation des autres rails est coupée, permettant au MCU de sortir de l'un des modes de mise hors tension profonde.
  4. VDD_IOn fournit les broches GPIO du MCU. VDDIO_0 , VDDIO_1 , VDDIO_2 , et VDDIO_4 fournir 1,8 V, et VDDIO_3 fournit une tension d'alimentation allant jusqu'à 3,6 V.

Étude des modes d'alimentation du MCU i.MX RT500

Les MCU modernes offrent généralement un certain nombre de modes de fonctionnement qui échangent la consommation d'énergie contre les performances. Aux réglages de puissance les plus élevés, la fonctionnalité maximale est disponible avec le processeur, les mémoires et les périphériques sur puce tous activés et fonctionnant à la fréquence d'horloge la plus élevée possible. Pour réduire la consommation d'énergie, des modes veille et mise hors tension sont disponibles pour réduire les fréquences d'horloge, les tensions d'alimentation et même éteindre complètement les sections inutilisées du MCU.

Dans le MCU i.MX RT500, le contrôleur de gestion de l'alimentation (PMC) intégré permet d'affiner les conditions d'entrée d'alimentation pour répondre aux exigences d'applications spécifiques. À cette fin, le MCU permet d'utiliser des tensions plus faibles sur le rail VDDCORE lorsque la puce fonctionne à une fréquence d'horloge inférieure ou lorsque l'appareil est en mode veille profonde. Il est possible de couper complètement la ligne VDDCORE lorsque la puce est en mode de mise hors tension. Par défaut, le PMC définit le niveau de tension approprié pour la logique principale. Cependant, il est possible d'utiliser un PMIC externe combiné aux broches PMIC du MCU pour obtenir le même effet.

Le module de gestion de l'alimentation prend en charge cinq modes de gestion de l'alimentation (dans l'ordre de la consommation d'énergie la plus élevée à la plus faible) :

  1. Actif
    Le MCU s'allume en mode actif après la réinitialisation, et les ingénieurs système embarqués peuvent modifier la configuration d'alimentation par défaut de l'appareil en modifiant les valeurs de registres système spécifiques. La configuration de l'alimentation peut être modifiée pendant l'exécution, par exemple, en utilisant une API d'alimentation dédiée. Dans ce mode, les horloges de l'UC, de la mémoire et des périphériques sont activées, et la plupart des blocs peuvent être en mode normal, en mode basse consommation ou éteints, comme défini par le programmeur de l'application embarquée. De plus, le mode actif permet aux concepteurs de systèmes et aux programmeurs d'affiner la consommation d'énergie en contrôlant quels périphériques, blocs de mémoire et accessoires restent actifs — la section 8.4.1.1.1 du manuel de référence i.MX RT500 fournit de plus amples détails à ce sujet. .
  2. Veille
    Dans ce mode, le PMC arrête l'horloge de l'unité centrale du système, interrompant les instructions jusqu'à ce qu'un signal de réinitialisation ou une interruption se produise. Ce mode permet aux développeurs de configurer les périphériques pour continuer leur fonctionnement pendant que le CPU reste suspendu. Ces périphériques peuvent générer des interruptions qui réveillent le CPU et font revenir le MCU au mode d'alimentation défini par les registres PDRUNCFG et PSCCTL. Pendant qu'il est endormi, le CPU maintient les valeurs de ses registres internes et de la SRAM. Les niveaux logiques des broches d'E/S restent également statiques à moins que les périphériques actifs ne changent d'état. Par conséquent, ce mode d'alimentation élimine la puissance dynamique utilisée par le processeur, le système de mémoire et le bus interne. Notez que le mode veille ne modifie pas l'horloge du processeur :il désactive uniquement l'horloge du processeur.
  3. Deep-Sleep
    Ce mode désactive les horloges des CPU et, s'il n'est pas configuré autrement, arrête également les signaux d'horloge des périphériques sur puce et des blocs analogiques. Les programmeurs embarqués sont libres de configurer des blocs individuels pour qu'ils fonctionnent dans leur état normal, basse consommation ou éteint via le logiciel. Les registres de périphérique et les sections SRAM activées conservent leurs valeurs. L'API des profils d'alimentation permet aux périphériques sélectionnés, tels que USB, DMIC, SPI, I2C, USART, WWDT, RTC et la minuterie micro-tick, de rester actifs en mode veille profonde. La section 8.4.1.3.1 du manuel de référence i.MX RT500 fournit plus de détails sur le mode veille prolongée.
  4. Mise hors tension profonde
    Dans ce mode, l'alimentation et toutes les horloges sont désactivées pour l'ensemble de la puce à l'exception du RTC. Cette mesure signifie que la SRAM et les registres, à l'exception de ceux du module RTC, ne peuvent pas conserver leurs valeurs. De plus, toutes les broches de fonction sont à trois états tant que l'appareil est alimenté en externe. Il n'y a pas d'autres options de configuration pour ce mode.
  5. Mise hors tension complète
    Ce mode désactive toutes les alimentations externes à l'exception de VDD_AO18, VDD_AO1V8 et VDD_EAO. Les sources de réveil peuvent déclencher un POR dans les domaines VDD1V8 et VDDCORE.

Le réveil des états 4 et 5 passe par tout le processus de RÉINITIALISATION.

Le MCU a des broches PMIC_MODE dédiées pour communiquer les changements d'état à un PMIC externe lors de la commutation entre les états. Initialement, il n'y a qu'un seul état prédéfini pour ces broches, et les programmeurs embarqués doivent configurer les broches PMIC_MODE via un logiciel. En mode actif, le MCU prend le contrôle des broches PMIC_MODE. Lorsque le MCU fonctionne dans l'un des modes de puissance réduite, le PMIC externe prend le contrôle. Reportez-vous à la section 8.4.2.1 du manuel de référence pour plus de détails.

Le processus de réveil et les heures de réveil typiques

Intuitivement, les MCU mettent plus de temps à se réveiller des modes de veille plus profonds que les modes de veille avec davantage de périphériques et de circuits activés. Les alimentations doivent se stabiliser et les oscillateurs à quartz doivent démarrer pour permettre aux circuits réactivés de fonctionner correctement. Dans les modes de sommeil plus profonds, il y a souvent des sources limitées disponibles pour réveiller le MCU

Pour l'i.MX RT500, le temps de réveil typique du mode veille avec une horloge système de 200 MHz est d'environ 150 µs. À partir du mode veille prolongée, l'appareil met environ 120 µs pour se réveiller. La sortie du MCU de l'état de mise hors tension complète prend environ 8,64 millisecondes en raison de la séquence de réinitialisation. Notez que ces horaires ne sont pas garantis et que certaines restrictions s'appliquent. Reportez-vous à la fiche technique officielle, section 1.3.4, pour plus de détails et les conditions de test. Il est également important de noter que la puce se réveille toujours en mode actif.

Pour réveiller le MCU lorsqu'il est en mode basse consommation, le programmeur intégré doit configurer une ou plusieurs sources de réveil. En mode veille, tout périphérique qui provoque une interruption et HWWAKE (activité des interfaces Flexcomm et du sous-système DMIC) peut réveiller le MCU, comme indiqué précédemment. En mode veille prolongée, diverses sources de réveil, telles que les interruptions de broche, la broche de réinitialisation, les périphériques Flexcomm, DMA, DMIC, HWWAKE, SDIO, HASH-AES, CASPER, PowerQuad, ADC, DSP, USB et ACMP peuvent se réveiller le MCU. Outre ces sources de réveil, divers temporisateurs, tels que le temporisateur de chien de garde, le RTC, le temporisateur uTick et le temporisateur d'événement du système d'exploitation, peuvent également entraîner le retour périodique du MCU du mode veille. Lorsque le MCU est en mode de mise hors tension profonde, le RTC et une réinitialisation du système sont les seuls moyens de réveiller l'appareil.

Consommation d'énergie dynamique et statique des broches d'E/S

Les broches d'E/S sont un aspect souvent négligé de la consommation électrique totale. Les broches d'E/S peuvent contribuer à la consommation électrique statique et dynamique totale. En fonction du réglage de la résistance de tirage interne de chaque broche et du niveau de tension, un courant statique peut circuler et augmenter la consommation électrique globale de l'appareil. Les broches d'E/S contribuent également aux besoins d'alimentation dynamique du MCU lors de la commutation. Souvent, les numéros d'alimentation d'une fiche technique MCU n'incluent même pas la consommation d'énergie des broches d'E/S, car cela dépend de l'application des charges externes et de la fréquence de commutation des E/S.

Les différents modes d'alimentation du MCU i.MX RT500 affectent divers périphériques sur puce et désactivent automatiquement certains circuits de l'appareil pour réduire sa consommation électrique globale. Notez que la plupart des broches GPIO ont leurs résistances pull-up et pull-down internes et leur tampon d'entrée désactivés lors de la réinitialisation. Par exemple, certaines broches ont une configuration différente pour permettre un débogage plus facile. Cependant, ce comportement a pour résultat que les broches GPIO inutilisées passent par défaut à leur mode haute impédance avec les tampons d'entrée respectifs désactivés lors de la réinitialisation, sauf indication contraire des programmeurs dans le registre IOCON. En mode de mise hors tension profonde, les broches d'E/S sont flottantes par défaut.

Consommation d'énergie en mode veille et en mode veille prolongée

Utilisons maintenant le MCU i.MX RT500 pour obtenir des détails sur la fréquence et la tension de l'horloge principale d'un système sur VDDCORE affecter la consommation électrique globale de l'appareil :

12MHz 24MHz 48MHz 96MHz 192MHz

Mode Actif

(DSP sans horloge)

1,62 mA

0,7 V

2,5 mA

0,7 V

4,33 mA

0,7 V

9.35mA

0,8 V

20,73 mA

0,9 V

Mode veille

(DSP sans horloge)

1,8 mA

0,7 V

4,78 mA

1,0 V

5,78 mA

1,0 V

7,78 mA

1,0 V

9,66 mA

0,9 V

Les modes de veille profonde et de mise hors tension profonde désactivent l'horloge principale du processeur, et il est également possible d'arrêter des régions de la SRAM, ce qui a un impact sur les besoins globaux en courant d'alimentation de la pièce. Le tableau suivant répertorie le courant d'alimentation des rails d'alimentation actifs en mode veille profonde avec 128 Ko de SRAM sous tension, le LDO interne désactivé, la baie sous tension et la périphérie éteinte à une température ambiante d'environ 25 °C :

Power Rail Consommation de courant typique
VDD1V8 8,5 uA
VDDCORE 42 uA
VDD_AO1V8 0.79 uA
Tous les VDDIO rails combinés 5,61 uA
VDDA_1V8 11,8 uA
VREFP 0,02 uA
USB1_VDD_3V3 1,10 uA

Par conséquent, la consommation de courant typique de l'appareil est d'environ 70 microampères en mode veille profonde. Veuillez vous référer aux tableaux 11 et 12 de la fiche technique de l'appareil pour plus de détails et les conditions de test exactes. Lorsque le MCU est en mode de mise hors tension profonde ou de mise hors tension complète, le courant d'alimentation typique est d'environ 15 µA.

Considérations relatives à l'économie d'énergie SRAM

La gestion de l'alimentation doit également prendre en compte les mémoires sur puce. Pour les mémoires non volatiles comme Flash, les mémoires peuvent être mises hors tension sans aucune perte de contenu. Pour la SRAM, le concepteur embarqué devra décider si le contenu de la mémoire doit être préservé lors de l'utilisation d'un mode basse consommation. Heureusement, de nombreux produits MCU permettent au concepteur de choisir entre des économies d'énergie maximales avec une perte complète de données et des économies d'énergie réduites avec une conservation complète des données.

L'appareil i.MX RT500 contient jusqu'à cinq mégaoctets de RAM statique sur puce divisés en jusqu'à 32 partitions distinctes. Chaque partition est accessible aux deux CPU, aux deux moteurs DMA et à tous les autres maîtres de bus AHB. Outre d'autres fonctionnalités, il est possible de placer indépendamment chaque bloc dans un mode de conservation à faible consommation d'énergie ou de l'éteindre complètement pour réduire la consommation électrique globale de l'appareil. Cette action est possible car chaque partition mémoire se compose du bloc mémoire lui-même et de la périphérie requise pour interfacer la matrice mémoire elle-même. Les concepteurs d'applications embarquées peuvent économiser de l'énergie en désactivant la périphérie tout en conservant le contenu de la matrice mémoire elle-même.

En tenant compte de cela, les programmeurs embarqués doivent comprendre que les partitions SRAM inférieures ont tendance à économiser de l'énergie par rapport à leurs homologues supérieures, car l'emplacement physique de chaque partition SRAM dans l'appareil entraîne des variations de consommation de courant :

Figure 2. Les développeurs doivent privilégier l'utilisation des partitions SRAM inférieures par rapport aux plus élevées lorsqu'ils tentent de réduire la consommation électrique globale du MCU. Image reproduite avec l'aimable autorisation de NXP.

La note d'application i.MX RT500 Power Management et le manuel de référence de la famille i.MX RT500 abordent plus en détail diverses mesures d'économie d'énergie.

MCU i.MX RT500 pour le contrôle et la gestion de l'alimentation

La préservation de l'énergie est cruciale lors de la conception de tout projet. Le MCU croisé i.MX RT500 offre des fonctionnalités de contrôle et de gestion de l'alimentation qui permettent aux appareils de fonctionner tout en nécessitant le moins d'énergie possible de manière efficace. En mode actif, les horloges du processeur, de la mémoire et des périphériques sont activées, et la plupart des blocs peuvent être en mode normal, en mode basse consommation ou désactivés, comme défini par le programmeur d'application intégré.

Le site Web de NXP offre plus d'informations sur les capacités et les applications de l'i.MX RT500. Il fournit également différents supports de formation tels que des notes d'application, des vidéos et des webinaires à la demande.

Les articles sur l'industrie sont une forme de contenu qui permet aux partenaires de l'industrie de partager des actualités, des messages et des technologies utiles avec les lecteurs d'All About Circuits d'une manière qui ne convient pas au contenu éditorial. Tous les articles de l'industrie sont soumis à des directives éditoriales strictes dans le but d'offrir aux lecteurs des nouvelles utiles, une expertise technique ou des histoires. Les points de vue et opinions exprimés dans les articles de l'industrie sont ceux du partenaire et pas nécessairement ceux d'All About Circuits ou de ses rédacteurs.


Embarqué

  1. Souris :module d'alimentation abaisseur à fréquence fixe avec protection contre les surintensités
  2. Renesas développe un MCU 28 nm avec des fonctions assistées par virtualisation
  3. Renesas :la plate-forme Synergy ajoute un groupe de microcontrôleurs S5D3 à faible consommation avec une sécurité avancée
  4. IC de gestion de l'alimentation prend en charge la famille de processeurs d'application
  5. Manhattan Skyline :ARM COM compact avec NXP i.MX 8MM
  6. congatec :nouveau module SMARC avec processeur NXP i.MX 8M Mini
  7. Les conceptions de référence simplifient la gestion de l'alimentation du FPGA
  8. Circuit d'arrêt Raspberry Pi avec mode veille
  9. Gestion du changement avec Scott Deckers (PODCAST)