La gestion de l’énergie dans les systèmes embarqués est fondamentale pour leur bon fonctionnement. Le nombre de ces systèmes est en augmentation constante et leurs domaines d’utilisation sont de plus en plus variés. Les contraintes sont très différentes selon que la conception porte sur un capteur environnemental, un téléphone portable ou une sonde corporelle. L’objectif principal peut être une grande longévité, une taille réduite ou encore un fonctionnement sans batterie.

En plus des sources d’énergies utilisables, l'article aborde les méthodes permettant d’analyser la consommation énergétique d'un système et donc de valider que telle méthode est plus efficace que telle autre, dans l’atteinte d'objectifs précis. Deux domaines sont pris en exemple pour pointer le fait que les objectifs peuvent grandement différer en fonction de l'utilisation qui est faite du système embarqué : les téléphones portables et les capteurs corporels.

L'optimisation de la consommation peut être réalisée selon différentes méthodes, dont certaines peuvent même être combinées. L’amélioration peut par exemple se faire au niveau matériel, en pilotant sélectivement certains composants ou périphériques. Des composants particuliers peuvent également être sélectionnés dès la conception, en fonction des objectifs recherchés. L’amélioration peut également être de type logicielle (système d’exploitation, type du code, programmation de l’applicatif…). Beaucoup d’éléments participent à la consommation énergétique, dont certains ne sont pas évidents de prime abord. En fonction de la manière de coder, par exemple, un système peut consommer plus ou moins d’énergie.

Sources d'énergies

Systèmes alimentés par batteries

Les batteries électrochimiques rechargeables type lithium-ion sont utilisées comme source d'énergie dans une grande majorité de systèmes électroniques portables, comme les smartphones, ordinateurs portables ou les tablettes. Elles influent de manière significative sur le temps de fonctionnement et les performances globales des appareils.

Selon les prévisions, à l'horizon 2020, 50 milliards d'objets intelligents seront connectés à l'Internet des objets (plus de six fois la population mondiale projetée à l'époque). La plupart de ces appareils seront alimentés par batterie pour des raisons de coût, de commodité, ou de la nécessité d'un fonctionnement autonome. Le remplacement des batteries à grande échelle étant souvent trop couteux voire irréalisable, les appareils IdO devront avoir une longue durée de vie opérationnelle : de quelques jours à plusieurs années en fonction de leur domaine d'utilisation.

L'énergie n'est que l'une des nombreuses ressources nécessaires dans l'informatique des systèmes embarqués. Elle reste cependant la seule ressource périssable, qui, une fois consommée, ne peut être réapprovisionnée que par des actions externes, comme la recharge ou le remplacement de la batterie.

La durée de vie d'un système alimenté par batterie est déterminée par la capacité de la source d'énergie (c'est-à-dire la batterie) et l'énergie qui y est puisée par le reste du système. La quantité d'énergie fournie variant de manière significative, en fonction de la façon dont elle est utilisée.

La conception de composants à faible puissance (low-power design, ultra-low-power design) permet de réduire consommation énergétique et améliore la durée de vie de la batterie. Cependant, pour vraiment maximiser la durée de vie d'une batterie, une analyse de la source d'énergie et du système qui la consomme est nécessaire. De nombreux modèles ont été développés et permettent de saisir de manière suffisamment détaillée le comportement des batteries et aident les concepteurs de systèmes à concevoir des algorithmes et des stratégies de gestion optimales.

Les développements continus dans le domaine de la gestion de l'alimentation (DVFS, conceptions hybrides analogiques-numériques...) contribuent eux aussi à cette amélioration.

Systèmes à récupération d'énergie

Le principe de la récupération d'énergie (energy harvesting ou energy scavenging) remonte à l'époque de la roue d'hydraulique et du moulin à vent. D'autres approches crédibles, récupérant l'énergie de la chaleur ou des vibrations, existent depuis des décennies. Néanmoins, le domaine a rencontré un regain d’intérêt depuis l'émergence des systèmes embarqués comme les téléphones portables et les réseaux de capteurs sans fils.

Les systèmes à récupération d'énergie sont des solutions qui tirent toute ou une partie de leur énergie de leur environnement. Le point important de cette énergie environnante est qu'elle a beau être potentiellement infinie, il peut y avoir une limite quant à son taux d'utilisation. vignette|Un capteur piézoélectrique génère une tension lorsqu'il est déformé|gauche|150x150px

Les technologies de captage d'énergie environnementale sont multiples : capteurs solaires, éoliens, piézoélectriques ou tout autre transducteur capable de tirer de l'énergie de son environnement. L'énergie mécanique est probablement la plus répandue et se trouve dans la force du vent, le mouvement des membres, l'énergie potentielle élastique, la vibration ambiante, la rotation d'une roue de voiture, et bien d'autres. Le différentiel thermique peut également être utilisé pour générer de l'électricité. La source la plus étudiée et technologiquement mature est sans doute la lumière.

La production d'énergie varie avec le temps, en fonction de conditions environnementales qui échappent généralement au contrôle du concepteur. Les systèmes embarqués utilisant un type particulier de récolte doivent donc être intégrés à des structures (immeuble, maison, serre...) dans lesquelles ce type d'énergie est abondant. Dans certaines situations, si l'appareil est enfoui sous terre ou à l'intérieur des murs, la collecte d'énergie est difficile, mais le transfert d'énergie sans fil peut être effectué. Par exemple, la charge par induction peut être utilisée pour recevoir de l'énergie à partir d'une émission électromagnétique

Dans le cas des systèmes embarqués que l'on peut porter (smartwatch, vêtements connectés) ou implantable (médical), la source d'énergie peut provenir de l'utilisateur lui-même, parfois en complément d'une énergie environnementale disponible. Elle peut par exemple être générée à partir des mouvements ou bien de la chaleur corporelle.

En utilisant l'énergie récoltée de manière optimale, le système peut fonctionner dans un mode de neutralité énergétique, consommant uniquement l'énergie qu'il parvient à récolter. Le système peut alors continuer à fonctionner de façon pérenne et n'est limitée que par la longévité du matériel. Un système est dit à fonctionnement neutre lorsque son niveau de performance souhaité peut être maintenu indéfiniment. Cependant, même si la consommation énergétique passait en dessous du seuil de neutralité, la longévité du système n'en serait pas prolongée pour autant.

Méthodes d'analyse énergétique d'un système embarqué À la différence d'un système d'exploitation généraliste, un système embarqué est conçu pour réaliser une tâche particulière et définie de manière précise. Ainsi, le système embarqué peut être optimisé en fonction de ses contraintes : moindre coût, meilleure performance ou encore consommation énergétique. La consommation énergétique peut être divisée en trois catégories : la consommation liée au captage d'informations, celle liée au traitement des données et enfin celle liée à leur transmission.

Concevoir un système embarqué avec une consommation énergétique adaptable nécessite de pouvoir mesurer et ensuite prévoir cette consommation. Le but étant de maximiser les performances du système sans dépasser les limites énergétiques mises à sa disposition. Cette contrainte se nomme aussi le mode neutre en énergie (Energy Neutral Mode).

Mesurer la faible consommation énergétique de systèmes embarqués est une tâche compliquée. Selon Nadir Cherifi et al., les méthodes d’estimation et de mesure peuvent être regroupées en trois catégories : les mesures physiques, les mesures logicielles et les simulations. La conception de systèmes embarqués nécessite des outils dans ces trois catégories pour pouvoir prévoir la consommation avant le prototypage, puis valider ensuite les résultats sur un nombre idéalement limité de prototypes ou d’architectures.

En fonction de l’équipement cible, les besoins et les contraintes sont cependant différents. Un téléphone portable a une contrainte de poids et de taille. Un capteur environnemental a des contraintes d’autonomie, de même qu’un capteur corporel mais pas forcément pour les mêmes raisons.

Contraintes liées aux Smartphones

La consommation énergétique des smartphones et l'utilisation optimale de l'énergie sont des enjeux majeurs dans la conception de ce type de systèmes embarqués. Ils nécessitent une autonomie énergétique, assurée par l'utilisation de batteries lithium-ion. Cependant, en plus de la performance, la portabilité impose des limitations en termes de taille et de poids qui finalement viendront limiter la taille de la batterie et donc la quantité d'énergie disponible. Les améliorations visant à augmenter la capacité des batteries ne suivant pas le rythme imposé par les améliorations en micro-électronique, différents procédés destinés à augmenter la durée de vie de la batterie sont utilisés, se basant sur des modèles reliant le comportement de la batterie aux conditions de décharges liées aux consommateur d'énergie (CPU par exemple).

L'analyse énergétique via la modélisation est un prérequis essentiel pour comprendre l'impact des applications ou des composants sur un système. En fonction des estimations de puissance générées par un power-model, un plan d'optimisation énergétique peut être développé pour faciliter l'utilisation efficace de l'énergie dans les appareils mobiles.

Contraintes liées au Médical et à la Santé

Les capteurs sans fils portables, interconnectés au sein d'un réseau BAN (Body Area Network) sont largement utilisés dans le domaine médical, collectant diverses caractéristiques physiologiques permettant de suivre en temps réel l'état de santé du patient. L'analyse énergétique de ce type de système embarqué est primordiale car elle peut affecter les fonctionnalités de l'ensemble du système et donc avoir un impact direct sur la vie du patient.

La durée de vie de ces dispositifs micro-électroniques, spécialement ceux étant implantés dans le corps est cruciale. Le remplacement ou la recharge de ces dispositifs embarqués induit un coût financier et une gêne supplémentaire non souhaitable pour le patient.

De plus, ce type de dispositifs peut également entrainer une hausse de la température corporelle ou des tissus environnants. La consommation d'énergie doit donc être réduite au minimum afin de limiter cette hausse.

Méthodes d'analyse de la performance logicielle Démontré en premier lieu par Tiwari et al., un même logiciel exécuté sur différents modèles de processeurs aboutira à une consommation globale différente sur chaque système. En mesurant le courant utilisé par un processeur lors de l’exécution de chaque tâche ou séquence d’instructions, il est ainsi possible de modéliser et d’évaluer le coût énergétique d’un programme.

Si on regarde le fonctionnement d’un système embarqué, la phase d’émission des informations utilise une quantité d’énergie non négligeable qui doit être prise en compte dans le fonctionnement global du programme. L’analyse de la performance logicielle et les mesures en fonctionnement réel peuvent ainsi aboutir à une décision sur le protocole à utiliser (IPv4, IPv6 ou dérivés), voire à déporter une partie du traitement des informations sur des systèmes disposant de plus d’énergie.

Des algorithmes permettent également d’analyser et de prédire de manière précise la consommation d’un système embarqué lors de l’exécution de son code.

Méthode d'analyse de la consommation énergétique liée à l'OS