Étape 4: Internes ou externes WatchDog Timers / problèmes avec les compteurs internes
Internes ou externes WatchDog Timers
Résumé : À l’étape 4 de cet Instructable, nous regardons les différences entre un interne et l’externe WatchDog Timer. Nous passons en revue également les questions avec l’Arduino et le chien de garde interne Pi framboise expliquer pourquoi un temporisateur externe, tels que le Temporisateur double de SwitchDoc Labs est un meilleur choix dans un grand nombre, mais pas toutes, les systèmes.
Plus le chien plus la morsure
Ce qui est un temporisateur externe ? C’est une minuterie indépendante qui est distincte du paquet ou CPU entièrement. Parfois (comme avec le Chien de garde SwitchDog Labs) un Conseil tout à fait distinct.
Ce qui est un temporisateur interne ? C’est une minuterie interne à la CPU et intimement liés à la CPU (comme le temporisateur interne Arduino et le temporisateur interne Raspberry Pi).
Dans le cas de la Raspberry Pi et un Arduino, un temporisateur externe a une écorce de beaucoup plus grand qu’un interne un. Pourquoi dit-on cela ? Parce qu’il est impossible que le logiciel interne, cependant buggy, peut arrêter un temporisateur externe de faire son travail, où un temporisateur interne peut être coupé par le logiciel. Dans certains modèles, coupant le temporisateur interne est logique. Dans d’autres, ce n’est pas.
Bien sûr, si vous voulez couper un temporisateur externe via le logiciel, vous pourriez en utilisant une broche GPIO pour commander un relais ou un transistor, mais en règle générale, vous ne voulez pas le faire si vous n’avez pas à.
Problèmes avec les minuteries de chien de garde interne
Résumant les problèmes internes WatchDog Timers de Step 2 et Step 3 :
- Le chien de garde interne n’alimente pas le cycle du système. Il redémarre l’ordinateur. Cela signifie qu’il ne redémarre pas dans toutes les conditions. Surtout en faible puissance / conditions de chute de tension est souvent vécue avec des systèmes solaires alimenté. Sans quelques circuits habile, parfois le Raspberry Pi ou Arduino ne reviendra pas avec juste un reset. Solution : Un temporisateur externe peut garder frapper l’appareil jusqu'à ce qu’il ne revient pas, ou mieux encore, peut cycle d’alimentation l’ordinateur qui l’apportera à l’époque où les niveaux de puissance sont moins bruns.
- Vous pouvez étirer votre OMC à beaucoup plus de 16 secondes pour couvrir toutes les séquences de démarrage possible. L’OMC est définie comme la quantité maximale de temps que le temporisateur peut compter avant il doit être réinitialisé (en d’autres termes, lorsqu’il va redémarrer l’ordinateur si l’ordinateur s’en va. Solution : Un circuit comme le Dual du temporisateur va toute la manière à une OMC de 240 secondes. C’est même assez longtemps pour une machine de Windows Démarrer. Eh bien, la plupart du temps.
- Si vous interrompez l’ordinateur, vous avez terminé. Le chien de garde interne ne redémarre pas. Pas tellement un problème avec l’Arduino, mais un gros problème avec le Raspberry Pi. Solution : Un chien de garde externe est indépendante de ce que vous faites avec le logiciel à l’intérieur. Vous ne pouvez pas visser en place.
- Sur la facture pro forma de framboise, il existe des situations où le CPU est chargé vers le haut trop pour votre programme, mais pourrait encore faire le processus de caresser le chien de garde donc garder caresser le chien. Sur l’Arduino, puisque le le tapotement s’effectue sur un thread, c’est moins un problème. Solution : Un chien de garde externe est indépendante de ce que vous faites avec le logiciel à l’intérieur. Vous ne pouvez pas visser en place.
Maintenant, s’il vous plaît comprendre, nous ne haïssons interne WatchDog Timers. Dans n’importe quelle conception de système, nous cherchons toujours à utiliser celui interne tout d’abord. Au cours des 20 dernières années, nous nous trouvons s’éloignant en utilisant les chiens de garde interne en raison des questions ci-dessus, et juste peut-être, nous ne devons penser tellement fort pendant la conception. Moins de variables de contrôle. Plus de comportement défini. Nous pouvons voir ce qui se passe en regardant les LEDs. Même sans nos lunettes sur.