La plupart des microcontrôleurs (par exemple AVR, MSP430, PIC, etc.) prennent en charge un certain nombre de modes de sommeil différents. Le mode de veille "le plus profond" est celui qui prétend la plus faible consommation d'énergie (par exemple "Power Down", "Shut Down"), mais tous les systèmes d'horloge sont généralement arrêtés dans ces modes et il me semble que le seul moyen de " se réveiller "d'eux est via un stimulus externe (par exemple les interruptions de changement de broche, réinitialisation de la puce). Suis-je en train de manquer quelque chose? Existe-t-il des méthodes de puissance incroyablement faible pour générer un signal de réveil périodique pour un MCU?
En supposant que mon objectif est de minimiser la consommation d'énergie (c'est-à-dire dormir profondément aussi longtemps que possible, rester éveillé aussi brièvement que possible), tout en se réveillant périodiquement pour exécuter une fonction, quelle est la façon la plus courante d'obtenir ce type de comportement? Pour simplifier davantage les choses, supposons que ma fonction est sans état (je n'ai pas besoin de me rappeler quoi que ce soit du passé pour l'exécuter).
J'ai eu un certain succès en utilisant le WDT sur le MSP430 pour obtenir cet effet. Je viens de faire ma routine principale être ma fonction, avec la dernière ligne permettant au temporisateur de chien de garde d'expiration après une certaine période et de passer en LPM4.5 ou quel que soit le mode "sommeil profond". Le résultat net est que la fonction est exécutée, le MCU se met en veille, le WDT expire et la puce se réinitialise, ad nauseum. Semble fonctionner, vous vous demandez simplement s'il existe un moyen "meilleur" ou "plus élégant" ou "plus économe en énergie" pour obtenir ce type de comportement?
Je n'ai pas encore essayé cette approche avec un AVR, mais je pense que le WDT est plus "énergivore" dans les AVR que sur le MSP430, il peut donc être moins attrayant pour un travail à faible puissance. Peut-être n'y a-t-il pas une approche «universelle» de la basse consommation, et vous devez utiliser les outils offerts par une gamme de produits donnée? Je sais que la nouvelle gamme picoPower possède de nombreuses fonctionnalités fantastiques comme le système d'événements et la marche en veille qui, dans certains cas, ne nécessitent pratiquement pas que le processeur soit éveillé si vous pouvez adapter votre application à cette structure ...
Ok assez de mon errance, laisse ici ce que tu vas devoir dire :)
Modifier des exemples concrets illustrant des techniques seraient également cool!