Étude de la consommation des systèmes embarqués pour l’Internet des Objets

Présents dans les divers domaines de l’Internet des Objets, les systèmes embarqués communicants doivent satisfaire à de multiples exigences antagonistes : dimensions minimales, autonomie maximale, puissance de traitement, ressources limitées, portée des communications radio optimale, consommation réduite. Il faut alors trouver le meilleur compromis pour concevoir le système demandé. Une étude de la consommation électrique basée sur l’analyse des phases de fonctionnement et le choix des composants constitue un cheminement logique qui permet d’adresser cette problématique.

Étude de la consommation des systèmes embarqués pour l’Internet des Objets

Présents dans les divers domaines de l’Internet des Objets, les systèmes embarqués communicants doivent satisfaire à de multiples exigences antagonistes : dimensions minimales, autonomie maximale, puissance de traitement, ressources limitées, portée des communications radio optimale, consommation réduite. Il faut alors trouver le meilleur compromis pour concevoir le système demandé. Une étude de la consommation électrique basée sur l’analyse des phases de fonctionnement et le choix des composants constitue un cheminement logique qui permet d’adresser cette problématique.

Architecture

Pour ses projets de recherche liés à l’Internet des Objets, le CETIC a été amené à développer des équipements autonomes basés sur une architecture de base. L’opération principale consiste à traiter l’information issue d’un capteur (choc, image, position,…) et transmettre le résultat, via le réseau ou une passerelle, à un serveur distant. Entre deux mesures le système est inactif pendant une période relativement longue. Suivant l’application, la phase d’activité est lancée périodiquement ou bien sur évènement extérieur.
Un dispositif de contrôle de l’alimentation et du réveil pilote les ressources pendant les phases d’activité et de repos, afin d’optimiser la consommation. Le capteur parfois installé dans un environnement peu accessible, ou porté par l’utilisateur, doit avoir l’autonomie adaptée au fonctionnement prévu, qui va de plusieurs heures à plusieurs jours voire quelques années dans des cas spécifiques.

Architecture fonctionnelle du système embarqué

Étude de la consommation

L’objectif de l’étude est de calculer la consommation électrique pour chaque phase de fonctionnement du système lorsqu’il est alimenté par la batterie. Cela permet de dimensionner celle-ci au mieux pour atteindre l’autonomie souhaitée tout en prenant en compte l’espace disponible.

Le calcul est fait en relevant dans les documentations techniques, les caractéristiques de consommation de chaque composant. Le résultat obtenu est alors une estimation dont la précision est limitée par plusieurs approximations dont principalement :

  • les temps des communications, de traitement…
  • la consommation réelle des composants dans leur environnement (fréquence de fonctionnement, consommation des IO…).

L’analyse de la phase d’activité, généralement très courte, permet d’estimer la consommation moyenne et les pics de consommation qui dimensionnent aussi la batterie. Le système est à l’état de repos pendant la majeure partie du temps, aussi l’étude des fuites de courants dans les composant désactivés ou maintenus à une activité minimale est primordiale. Il est ainsi possible de déterminer la consommation moyenne sur un jour ou une semaine et d’en déduire la capacité de batterie requise.
Suivant l’application, d’autres états de fonctionnement de l’équipement sont parfois à prendre en compte pour l’étude de la consommation.

Analyse des états du système

Le cycle de vie de l’équipement ne se limite pas à la succession de cycles d’activité et veilles. Dans certaines applications dont l’environnement contraignant empêche toute intervention, l’équipement intègre alors les batteries dès la sortie d’usine prêt à être démarré après une configuration aussi simple que possible. D’autres cas plus souples d’utilisation permettent la recharge de la batterie lorsque l’équipement est inutilisé.
Comme pour la programmation d’une machine d’état, l’analyse des différentes phases de fonctionnement permet de définir précisément les actions et les changement d’états, et ainsi de prévoir les ressources nécessaires avec leur consommation. Cela inclut en plus des ressources fonctionnelles (capteur, récepteur GPS, transceiver radio…) d’autres plutôt secondaires (surveillance de la tension d’alimentation, contrôle des alimentations …) ainsi que celles requises pour les changements d’états.
L’ensemble du système ainsi définit fournit toutes les informations au calcul de la consommation. Même si certains états ont peu d’influence sur l’autonomie (recharge de la batterie, alimentation par USB lors de la configuration utilisateur …) les composants nécessaires à leur mise en œuvre sont sources de pertes (chutes de tension, fuites de courant) qu’il faut prendre en compte.

Exemple de cas d’étude : Système de relevé automatique de compteur d’énergie.
Après une période de stockage de quelques mois, le système est installé sur le compteur puis relève et transmet périodiquement la valeur de l’index. L’équipement, fixé définitivement, doit fonctionner plusieurs années sans recharge de la batterie.

Dans la majorité des cas d’étude, les phases d’activité et de repos sont les plus déterminantes dans le calcul de consommation. Voici ci-dessous les caractéristiques prises en compte systématiquement dans l’étude des systèmes communicants au CETIC.

Étude de la consommation du système mis en veille

Habituellement, une instruction logicielle, appelée par l’application à la fin de la phase d’activité, déclenche la mise en veille. Dans cet état, le rôle du processeur central se limite à :

  • maintenir le dispositif de réveil actif,
  • conserver le contexte
  • maintenir l’interruption de l’alimentation des périphériques inutilisés
  • maintenir l’alimentation des circuits ayant préalablement mémorisé des informations pour les exploiter au réveil du système , "Backup GPS" par exemple.

Le mode veille des microcontrôleurs actuels présents dans les plateformes de l’Internet des Objets réduit la consommation à quelques microampères.

Le réveil peut avoir lieu de façon périodique, provoqué par l’horlogerie interne basse consommation du processeur ou bien sur évènement externe (choc, dépassement de seuil de température…) . Dans ce dernier cas le capteur, actif en permanence pour détecter l’évènement à n’importe quel moment, délivre un signal d’alarme au processeur central qui réveille alors le système. La technologie des capteurs basse consommation limite le courant à moins de 10 microampères.

Le reste de consommation est alors due aux fuites de courant des composants d’alimentation, notamment le régulateur de tension. Une infime portion du courant à l’entrée du régulateur est en permanence aiguillée vers la masse. Elle est due principalement au courant de polarisation absorbé par le dispositif de référence de tension, l’amplificateur d’erreur de tension. Les régulateurs "ultra low quiescent current" prévus pour des systèmes alimentés par batteries, ont un courant de fuite de quelques microampères.

Dans beaucoup d’applications, la phase de veille conditionne fortement l’autonomie du système, celui-ci étant dans cet état la plupart du temps. Le choix des composants est donc primordial.

Exemple de calcul : Système de suivi GPS, activité périodique
Composants principaux : Microcontrôleur, module NB-IoT, récepteur GPS, accéléromètre

Étude de la consommation du système en activité

Il s’agit d’analyser toutes les opérations réalisées durant les différentes étapes de l’activité du système. L’objectif est d’évaluer la consommation et le temps d’activité de chaque composant afin de déterminer d’une part la consommation moyenne totale mais aussi les pics de consommation.

De façon générale, le fonctionnement des capteurs pour les application de l’Internet des Objets est très simple. L’activité se résume aux opérations suivantes :

  • Acquisition du signal : Quelle que soit sa nature (image, échantillons d’accélération 3 axes, valeur de température…) le signal est recueilli par le processeur central.
  • Traitement : Il peut s’agir d’un simple stockage temporaire avant transmission radio, ou alors d’un algorithme relativement avancé (reconnaissance de caractère, détection de choc …). Il est réalisé par le processeur central éventuellement doté d’une mémoire de travail externe.
  • Transmission radio du résultat à un serveur distant

L’évaluation de la consommation électrique est basée sur les informations de la documentation technique des composants. Les valeurs de courants fournies par les constructeurs résultent de mesures effectuées dans des conditions précises de fonctionnement. Même si la mise en œuvre matérielle du système respecte les plages de fonctionnement nominal des composants, de nombreux facteurs tels que la fréquence de travail du processeur, la puissance d’émission radio, tension d’alimentation, influencent la consommation réelle. Le résultat est donc une valeur approchée de la consommation. Cependant l’effet sur l’autonomie globale reste limité, comme expliqué ci-après.
De même, la durée de fonctionnement est elle aussi source d’incertitude. En effet il est très délicat de prévoir précisément le temps de calcul d’un algorithme, et encore plus la durée de la transmission radio. L’estimation est alors basée sur l’expérience acquise des précédents projets développés au CETIC.

L’imprécision sur la consommation et la durée totale de la phase d’activité est toutefois pondérée par le rapport cyclique de fonctionnement du système. En effet, dans les applications liées à l’Internet des Objets les capteurs sont la plupart du temps inactifs. Mais la démonstration doit être faite pour estimer convenablement l’autonomie du système. D’autre part les pics de consommations électriques d’origines diverses telles que l’activité du CPU, la transmission radio ou bien encore lors des phases d’acquisition GPS doivent être eux aussi estimés afin de prévoir la batterie en conséquence et aussi dimensionner les composants d’alimentation.

Exemple de calcul : Système de détection de chute pour personnes âgées

Conclusion

Compte tenu des approximations faites sur la consommation des composants et la durée des opérations réalisées, cette méthode s’apparente à une approche de modélisation de l’autonomie du système. De plus, lorsque l’environnement du système n’est pas figé il faut tenir compte de son effet direct sur les temps de communications radio, réception GPS par exemple, qui vont impacter la phase d’activité. Il convient alors d’établir les hypothèses, aussi réalistes que possibles, pour définir le contour de l’étude de consommation pour conclure à une limite haute (best case) et une limite basse (worst case) de l’autonomie du système.
Toutefois, cette méthode est suffisamment rigoureuse car elle impose une définition fonctionnelle et technique détaillée du système. Elle a été appliquée et a donné de bon résultats sur plusieurs projets de recherche tels que e-Patch (patch électronique permettant la géolocalisation et la détection de chute chez les personnes souffrant de détérioration mentale) ou SAVE (capteur optique pour le relevé automatique de compteur d’énergie).