Outils pour utilisateurs

Outils du site


issue138:greatcowbasic

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue138:greatcowbasic [2018/11/12 09:52] auntieeissue138:greatcowbasic [2018/11/12 12:11] (Version actuelle) andre_domenech
Ligne 5: Ligne 5:
 Dans le FCM n° 136, je vous ai montré comment utiliser la conversion analogique-numérique (ADC) avec une photorésistance (LDR) pour obtenir des informations sur la luminosité ambiante et comment les transmettre à un dispositif éloigné. Dans le FCM n° 136, je vous ai montré comment utiliser la conversion analogique-numérique (ADC) avec une photorésistance (LDR) pour obtenir des informations sur la luminosité ambiante et comment les transmettre à un dispositif éloigné.
  
-La réception était mauvaise avec le récepteur ordinaire ; aussi, j'ai effectué quelques recherches et commandé un autre module de réception pour l'améliorer. Il s'appelle « RXB8 V2.0 » et se trouve à un prix raisonnable. Dans ce numéro, nous allons amélioré l'interface du dispositif de Radio-Fréquence (RF) pour économiser l'énergie pour cela, je présenterai la minuterie du Watchdog (dispositif de surveillance temporelle). +La réception était mauvaise avec le récepteur ordinaire ; aussi, j'ai effectué quelques recherches et commandé un autre module de réception pour l'améliorer. Il s'appelle « RXB8 V2.0 » et se trouve à un prix raisonnable. Dans ce numéro, nous allons améliorer l'interface du dispositif de Radio-Fréquence (RF) pour économiser l'énergie pour cela, je présenterai la minuterie du Watchdog (dispositif de surveillance temporelle). 
  
 **Introducing the Watchdog timer  **Introducing the Watchdog timer 
Ligne 15: Ligne 15:
 Présentation de la minuterie du watchdog Présentation de la minuterie du watchdog
  
-Imaginez une situation où vous programmez un microcontrôleur pour un système critique. Vous ne compteriez pas uniquement sur la fiabilité  du logiciel pour éviter les dégâts, n'est-ce-pas ?+Imaginez une situation où vous programmez un microcontrôleur pour un système critique. Vous ne compteriez pas uniquement sur la fiabilité  du logiciel pour éviter les dégâts, n'est-ce pas ?
  
-Un logiciel peut toujours contenir des défauts, ou, peut-être, certaines conditions environnementales peuvent se produire auxquelles vous n'auriez pas penser au départ. Aussi, il serait important de redémarrer le microcontrôleur à son état initial si quelque chose se passait mal. Dans de telles situations, vous utiliserez sûrement la minuterie du watchdog, qui peut redémarrer complètement le microcontrôleur. Dans le cas d'une faible consommation des ressources, un autre cas d'utilisation de la minuterie du watchdog consisterait à implémenter un mode d'économie d'énergie pour economiser la batterie. Le dispositif consomme le moins possible de batterie (en dormant) et peut ensuite utiliser la minuterie du watchdog pour se réveiller. Mais quel est le fonctionnement interne de la minuterie du watchdog (WDT) ?+Un logiciel peut toujours contenir des défauts, ou, peut-être, certaines conditions environnementales peuvent se produire auxquelles vous n'auriez pas pensé au départ. Aussi, il serait important de redémarrer le microcontrôleur à son état initial si quelque chose se passait mal. Dans de telles situations, vous utiliserez sûrement la minuterie du watchdog, qui peut redémarrer complètement le microcontrôleur. Dans le cas d'une faible consommation des ressources, un autre moyen d'utilisation de la minuterie du watchdog consisterait à implémenter un mode d'économie d'énergie pour economiser la batterie. Le dispositif consomme le moins possible de batterie (en dormant) et peut ensuite utiliser la minuterie du watchdog pour se réveiller. Mais quel est le fonctionnement interne de la minuterie du watchdog (WDT) ?
  
 **The watchdog timer has a separate on-chip oscillator working at 128 KHz which works as a overflow timer. Thru a prescaler, you can set the time when the overflow occurs. The WDT can operate in three modes: interrupt, system reset or interrupt and system reset: **The watchdog timer has a separate on-chip oscillator working at 128 KHz which works as a overflow timer. Thru a prescaler, you can set the time when the overflow occurs. The WDT can operate in three modes: interrupt, system reset or interrupt and system reset:
Ligne 31: Ligne 31:
 • Le mode par interruption peut être utilisé pour réveiller le dispositif ou pour arrêter des opérations qui durent trop longtemps. • Le mode par interruption peut être utilisé pour réveiller le dispositif ou pour arrêter des opérations qui durent trop longtemps.
 • Le mode par remise à zéro du système se comprend de lui-même ; le dispositif est redémarré sans autre avertissement et toutes les données volatiles sont perdues. • Le mode par remise à zéro du système se comprend de lui-même ; le dispositif est redémarré sans autre avertissement et toutes les données volatiles sont perdues.
-• Le dernier mode combine les deux précédents ; l'interruption a lieu et vous pouvez implémenter une routine pour sauvegarder vos données ou envoyer une quelconque information de débogage (par ex.par l'UART) et, ensuite, le système est remis à zéro.+• Le dernier mode combine les deux précédents ; l'interruption a lieu et vous pouvez implémenter une routine pour sauvegarder vos données ou envoyer une quelconque information de débogage (par ex. par l'UART) et, ensuite, le système est remis à zéro.
  
 Le WDT peut être activé de deux manières : Le WDT peut être activé de deux manières :
Ligne 53: Ligne 53:
 Un clignotant à LED avec la minuterie du watchdog Un clignotant à LED avec la minuterie du watchdog
  
-Le WDT a besoin d'une séquence minutée, sans interruptions, pour être modifié ou arrêté :+Le WDT a besoin d'une séquence minutée, sans interruption, pour être modifié ou arrêté :
 • D'abord, assurez-vous que les interruptions sont désactivées. • D'abord, assurez-vous que les interruptions sont désactivées.
 • Remettez à zéro le WDT. • Remettez à zéro le WDT.
Ligne 63: Ligne 63:
 Le programme démarre, la LED s'allume et active le WDT. Après 64 ms, le microcontrôleur redémarre. Le programme démarre, la LED s'allume et active le WDT. Après 64 ms, le microcontrôleur redémarre.
  
-Le temps de démarrage (boot time) par défaut est d'environ 64 ms d'après la valeur par défaut d'usine. Dans ce réglage, le microcontrôleur est seulement redémarré aucun mode d'économie d'énergie n'est encore utilisé. La LED clignote relativement vite à cause du temps court pendant lequel celle-ci est allumée (64 ms).+Le temps de démarrage (boot time) par défaut est d'environ 64 ms d'après la valeur par défaut d'usine. Dans ce réglage, le microcontrôleur est seulement redémarréaucun mode d'économie d'énergie n'est encore utilisé. La LED clignote relativement vite à cause du temps court pendant lequel celle-ci est allumée (64 ms).
  
 **Powersave modes **Powersave modes
Ligne 81: Ligne 81:
 Transmetteur économe en énergie Transmetteur économe en énergie
  
-Complétons le code du dernier numéro et utilisons le mode d'économie d'énergie, ainsi que la minuterie du watchdog pour faire une pause dans la transmission. Le microcontrôleur demande environ 64 ms pour démarrer, puis nous réglons la minuterie du watchdog. Ensuite, le programme transmet les valeurs de la photorésistance. La transmission elle-même prend maintenant environ 48 ms. La version précédente du programme attend 8 s sans rien faire mais continue à tirer sur l'alimentation !+Complétons le code du dernier numéro et utilisons le mode d'économie d'énergie, ainsi que la minuterie du watchdog pour faire une pause dans la transmission. Le microcontrôleur demande environ 64 ms pour démarrer, puis nous réglons la minuterie du watchdog. Ensuite, le programme transmet les valeurs de la photorésistance. La transmission elle-même prend maintenant environ 48 ms. La version précédente du programme attend 8 s sans rien fairemais continue à tirer sur l'alimentation !
  
 Voici (page suivante, à droite) comment nous optimisons ceci en utilisant le mode de mise en sommeil par coupure de l'alimentation et la minuterie du watchdog. Voici (page suivante, à droite) comment nous optimisons ceci en utilisant le mode de mise en sommeil par coupure de l'alimentation et la minuterie du watchdog.
issue138/greatcowbasic.1542012720.txt.gz · Dernière modification : 2018/11/12 09:52 de auntiee