Lorsque l’alimentation d’un microcontrôleur tombe sous un certain seuil, une panne de courant survient et la mémoire RAM peut être corrompue. Dans la mesure où chaque séquence de coupure de courant du circuit peut signifier une condition de «baisse de tension», j'active toujours le mécanisme de réinitialisation de la détection de perte de tension lorsque je travaille avec des microcontrôleurs.
Je me demandais s'il y a des situations dans lesquelles il n'est pas recommandé d'activer la fonction de réinitialisation de panne générale?
microcontroller
brownout
m.Alin
la source
la source
Réponses:
Comme indiqué précédemment, l'activation du circuit de baisse de tension augmentera souvent la consommation de courant. De plus, parce que les fabricants veulent généralement faire en sorte que le circuit brun-out se déclenchera sur toute tension qui pourrait être assez faible pour causer d' autres parties de la puce à la fonction, de nombreuses parties seront en mesure de fonctionner à une tension inférieure à brun à mobilité réduite . Par exemple, un contrôleur peut fonctionner la plupart du temps à 1,5 volt à la température ambiante, mais dans certaines conditions stressantes (telles qu'une température élevée), il peut ne pas fonctionner correctement à 1,99 volt. Pour garantir que le dispositif se réinitialise dans toutes les conditions pouvant entraîner un dysfonctionnement, le circuit de panne de courant peut être conçu pour déclencher à 2,1 volts +/- 100 mV.
Si un appareil avec un tel contrôleur était alimenté par deux piles alcalines AA, l'activation du circuit de baisse de tension pourrait rendre l'appareil inutilisable avec une tension de batterie de 1,1 volt par cellule et entraînerait probablement son arrêt du fonctionnement au moment où la tension atteinte est atteinte. 1,05 volt par cellule. Désactiver le circuit de baisse de tension prolongerait probablement le fonctionnement à au moins 0,9 volt par cellule et même peut-être à 0,75 volt par cellule. Si aucun dysfonctionnement plausible susceptible de se produire à basse tension ne risque d’endommager davantage les batteries usagées, désactiver le circuit d’atténuation serait un moyen simple d’augmenter la durée de vie de la batterie, même s’il ne réduisait pas la consommation de courant des batteries utilisables.
la source
Tout a des tolérances, donc le niveau de réinitialisation contre la surtension doit être légèrement supérieur au niveau minimum auquel il est garanti que la puce fonctionne correctement.
Il est donc possible que la panne se déclenche bien avant le dysfonctionnement de la puce. Vous devez donc vous demander, pour cette région, où la puce peut fonctionner correctement mais vous ne pouvez pas en être sûr, choisiriez-vous
Si le coût du dysfonctionnement n’est pas beaucoup plus élevé que le coût du non-fonctionnement du tout, la première option est préférable. Pensez à la fonctionnalité Ping d'une "boîte noire" d'avion. Je vous en prie, laissez-le continuer s'il a la moindre chance que cela donne un ping!
De l'autre côté, envisagez le déclenchement d'une bombe ou d'un airbag de voiture. S'il y a la moindre chance qu'il se déclenche accidentellement en raison d'une basse tension, il vaut mieux qu'il s'éteigne tout seul. Cela suppose bien sûr que la fermeture de moyens ne s'enflamme pas!
Il y a des situations où aucun bon choix n'est disponible. Considérez le fameux premier lancement de fusée Ariane V. Le ou les ordinateurs de contrôle de la direction ont mal fonctionné (dans ce cas, cela n’est pas dû à une faible puissance). Que devrait-il faire? Continuer signifie sans doute que l'on se dirige dans la mauvaise direction, mais arrêter signifie ne pas diriger du tout, ce qui donne le même résultat. Ce n’est pas non plus une belle perspective pour les personnes dans le bunker de contrôle dans lequel la fusée pourrait se perdre :(
Comme le remarque Ross, une sauvegarde est bien sûr une bonne idée pour un système à mission circulaire. Mais cela déplace le problème de conception vers cette sauvegarde. Et si ça échoue? (Dans la pratique, il y en a souvent trois, actifs tout le temps, avec un vote à la majorité.) Dans le cas d'Ariane 5, les ordinateurs principal et les ordinateurs de secours ont échoué (bien que ce ne soit pas de leur faute, mais c'est une autre histoire). C’est qu’un autre système (peut-être même un humain dans la salle de contrôle) a-t-il détecté que tout était incontrôlable et a déclenché l’autodestruction. Mieux vaut que la fusée explose dans les airs et tombe par petits morceaux dans la mer qui la fait poursuivre son vol en une seule pièce dans une direction quelconque.
la source
Si vous ne vous souciez pas de la réinitialisation (par exemple, on peut faire confiance à l’utilisateur pour l’éteindre et le rallumer si tout ne fonctionne pas parfaitement, et qu’aucun dommage ne peut être causé) et que la consommation électrique est importante. microampères. (ou si vous vous en souciez, vous pouvez utiliser un meilleur circuit externe que celui de la sorte qui est intégré).
Si le BOR interne est inadéquat pour la tâche (les tolérances peuvent ne pas être appropriées, par exemple), vous pouvez également le désactiver et utiliser un élément externe.
Une exigence intéressante à certaines fins est que vous devez connaître la tension maximale en dessous de laquelle des éléments tels que les mémoires EEPROM ne fonctionnent pas, afin que le BOR puisse empêcher le fonctionnement et ne garantir aucune corruption. Cela pourrait être un peu subtil pour certains circuits BOR intégrés.
la source
Vous pouvez choisir de désactiver le BOR s'il existe un bogue pour lequel le BOR ne fonctionne pas correctement.
Voir le point 15 de la PIC32MX534 / 564/664/764 Errata de silicium des familles et clarification de la fiche de données .
la source
Si vous souhaitez réduire la consommation actuelle en mode veille. Par exemple, pour l'ATmega328P, vous pouvez le réduire de 17uA en désactivant le DBO. Eteignez tout le reste pendant que vous dormez et la puce consomme un petit 1.8uA!
(Source: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/ )
la source
Il existe des situations dans lesquelles vous pouvez utiliser un circuit de délestage externe personnalisé.
Il y a des microcontrôleurs où la résolution des niveaux bruns est assez petite.
Supposons que vous travailliez avec un µc où les deux niveaux de baisse de tension les plus élevés sont 4,3 V et 2,7 V (fréquents en cas d'AVR). Vous avez déterminé que, aux fréquences que vous utilisez, 2,7 V n'est pas sûr. Toutefois, 4,3 V serait trop élevé, car cela limiterait la durée de fonctionnement après une panne de courant.
Je dois souvent travailler avec des appareils susceptibles de perdre fréquemment la connexion à une source d'alimentation externe, puis de survivre avec des condensateurs ou des batteries. Si vous avez un niveau de tension négative de 4,3 V, l'appareil s'éteindra trop tôt. 2.7 conduirait à la corruption de données. Toutefois, si, par exemple, 3,5 V était un niveau de baisse de tension sûr, vous pouvez créer un circuit de réduction de tension externe qui fonctionne en tirant sur la ligne de réinitialisation de votre microcontrôleur. Dans ce cas, le circuit de délestage interne est inutile et peut être désactivé.
Si vous avez plusieurs processeurs dans le même système, il est logique d'utiliser un seul contrôleur de réinitialisation externe pour chacun d'entre eux. Dans ce cas, la désactivation des détecteurs de baisse de tension individuels dans les processeurs est non seulement utile pour l’avantage marginal d’économies d’énergie, mais elle est également nécessaire pour éviter la situation dans laquelle certains processeurs sont réinitialisés et d’autres en cours de fonctionnement.
la source
Nous avons dû activer et désactiver le VBOR pendant une partie du démarrage en raison d’un bogue dans le silicium des microcontrôleurs que nous utilisions. En chargeant les capuchons sur la pompe à tension, l'appareil serait momentanément au-dessus des minimums et le VBOR continuerait à se déclencher. Nous avons donc éteint le VBOR lors de la mise sous tension et l’allumons environ 10 ms plus tard.
la source