La fiche technique du ATTiny13A, par exemple, indique une fréquence minimale de 0 MHz. Cela signifie-t-il que l'horloge peut fonctionner à n'importe quelle fréquence arbitrairement basse sans effets pervers? Je suppose que cela attire moins de courant à des vitesses d'horloge inférieures? Est-ce que 0 MHz signifie que vous pouvez arrêter complètement l'horloge, et tant que le courant reste alimenté, il se souviendra de son état indéfiniment?
clock
microcontroller
endolithe
la source
la source
Réponses:
Oui. Si la fiche technique dit "fonctionnement entièrement statique", vous pouvez l'horloge à n'importe quelle vitesse, même à 0 Hz. Une puce "dynamique" doit avoir une horloge à un taux spécifique ou elle perd son état.
la source
Je poste une autre réponse, simplement parce que votre dernière question n'avait pas de réponse auparavant.
Todbot est complètement correct. Il utilisera également une puissance inférieure à des vitesses inférieures. Cela signifie également que si vous fournissez son horloge à partir d’un autre processeur, par exemple, vous pouvez arrêter de l’alimenter à tout moment, puis commencer à le chronométrer plus tard, tant que vous n’allez pas plus vite que la vitesse maximale, tout ira bien.
Les puces que j’ai reçoivent un ordre de grandeur entre un oscillateur de 32768Hz et un oscillateur de 1 MHz. J'ai eu des applications où je n'avais pas besoin de vitesse, j'avais juste besoin d'un autre petit gars qui s'occupait de la gestion des données de base pour moi.
J'espère que cela t'aides.
la source
La plupart des conceptions modernes de microcontrôleurs fonctionnent avec n'importe quel motif sur leur entrée d'horloge, à la condition qu'aucune impulsion haute ne soit en dessous d'une certaine longueur minimale, qu'aucune impulsion basse ne soit en dessous d'une certaine longueur minimale et qu'aucun bas-haut-bas-bas-haut-bas-haut La paire d'impulsions est inférieure à une certaine longueur. En gros, ce qui se passe, c'est qu'après que la puce ait effectué toutes les actions associées à un bord d'horloge particulier, la puce sera dans un état où elle ne fait rien mais attend le prochain bord d'horloge. Si le prochain front d'horloge n'arrive pas avant dix jours, la puce sera dans le même état que si la puce avait un chien de garde externe, comme si le bord était arrivé au moment où elle était prête.
Notez qu'en général, suspendre l'horloge sur un microcontrôleur réduira considérablement la consommation de courant, mais pas autant que l'utilisation de la fonction "veille". La consommation de courant de la plupart des microcontrôleurs en mode "run" peut être assez bien estimée comme un courant de repos constant plus une certaine quantité de courant par cycle par seconde (ce qui pourrait être plus "naturellement" exprimé en charge par cycle). Par exemple, une puce peut avoir un courant de repos de 10uA, plus un courant de 0,1 mA / MHz (100pC / cycle). L'exécution d'une telle puce à 10 MHz donnerait un courant de 1,01 mA. Le faire fonctionner à 1 MHz donnerait 0,11 mA. L'exécuter à 100KHz donnerait 0,02mA. Fonctionnant à 1Hz, le rendement est 0.0100001mA. D'autre part, la puce pourrait offrir un courant de veille de 1uA. Généralement, entrer en mode veille éteindra complètement les zones de la puce qui ne serviront à rien pendant son sommeil, évitant ainsi toute fuite de courant de telles zones. Dans certains cas, cela réduira également la tension dans des zones telles que les fichiers de registre à un niveau où les fichiers de registre peuvent contenir leur contenu, mais ne doivent pas y accéder très rapidement (étant donné qu’ils ne seront pas du tout accessibles, la vitesse d’accès importe peu) .
Certains anciens microprocesseurs, microcontrôleurs et autres périphériques présentaient des durées maximales d'horloge haute et / ou basse. Ces processeurs utilisaient une logique dynamique pour économiser les circuits. Comme exemple de logique dynamique, considérons un registre à décalage: un bit de registre statique typique nécessite un circuit à deux transistors pour conserver la valeur, tandis qu'un bit de registre dynamique conserve la valeur sur la grille d'un transistor de lecture. Un registre à décalage dynamique à deux phases peut être réalisé en NMOS en utilisant quatre NFET et deux résistances par bit. Un registre à décalage statique nécessiterait huit NFET et quatre résistances par bit. Les approches logiques dynamiques ne sont pas aussi courantes aujourd'hui. Dans les années 1970, la capacité de grille était importante et il n'y avait pas moyen de s'en débarrasser. Il n'y avait donc aucune raison particulière de ne pas en profiter. Aujourd'hui, La capacité de grille est généralement beaucoup plus faible et les fabricants de puces essaient activement de la réduire davantage. Pour que la logique dynamique fonctionne de manière fiable, il faudrait souvent travailler délibérément pour augmenter la capacité de la grille. Dans la plupart des cas, la zone de puce supplémentaire nécessaire pour augmenter la capacité pourrait être utilisée de manière tout aussi efficace pour ajouter davantage de transistors, de manière à rendre la capacité inutile.
la source
Oui, vous pouvez arrêter complètement l’horloge et la redémarrer plus tard sans conséquences. Vous pouvez même remplacer l'horloge par un bouton-poussoir et parcourir votre programme littéralement, étape par étape (fréquence: environ 0,1 Hz).
La puissance est presque linéaire avec la fréquence: à 10 MHz, le microcontrôleur consomme 10 fois plus de puissance qu’à 1 MHz. Cela ne signifie toutefois pas qu’à 0 Hz, la consommation est totalement nulle. Il y a toujours une dissipation statique, mais elle est très faible, généralement inférieure ou égale à 1 µA.
PS: notez que l’ADC a une fréquence de fonctionnement minimale. Si la fréquence est trop basse, le condensateur sur lequel la tension est mesurée se déchargera trop et votre mesure sera fausse.
la source
Venir en retard à cette question m'a rappelé un projet que j'ai vu il y a quelque temps.
C'est un détecteur de batte qui utilise un PIC fonctionnant à zéro Hz la plupart du temps et est ensuite synchronisé par le signal même qu'il détecte.
http://www.micro-examples.com/public/microex-navig/doc/077-picobat.html
la source