Accueil Instrumentación Gain de temps pour économiser de l'argent sur les compteurs intelligents

Gain de temps pour économiser de l'argent sur les compteurs intelligents

Réduire à la fois le nombre de composants et les coûts de programmation utilisateur sont des objectifs de toute conception. À cette fin, il peut être utile d'utiliser un module d'horloge et de calendrier en temps réel (RTCC) qui fournit une heure et une date précises et est optimisé pour une faible consommation d'énergie, avec une intervention minimale ou nulle de la CPU. Ces modules peuvent être avantageux dans des applications telles que les réveils numériques et les compteurs d'énergie intelligents, ce qui est de plus en plus important à mesure que le nombre de pays dotés de réseaux électriques intelligents augmente. Les microcontrôleurs PIC de Microchip intègrent un calendrier de 100 ans et un module d'horloge avec détection automatique des années bissextiles. Couvre de la première seconde du 1er janvier 2000 à une seconde avant minuit le 31 décembre 2099 et utilise le format 24 heures au lieu de AM/PM, affiché avec une précision de 0,5 s ou plus. L'alarme peut être réglée sur 0,5, 1 et 10 secondes, 1, 10 et 60 minutes, ou jour, semaine et mois. La figure 1 montre le schéma fonctionnel du module. Il utilise une source d'horloge séparée d'un cristal externe qui oscille à 32,768 kHz à partir de l'oscillateur secondaire du T1OSC (SOSC) pour certains appareils. Cela permet au module de continuer à fonctionner même lorsque l'horloge du processeur est en panne pendant le mode veille. Le prescaler d'horloge 1:16384 offre une visibilité de 0,5 s à l'utilisateur et permet également au temporisateur RTCC d'incrémenter les valeurs appropriées de seconde, minute, heure, jour, mois et année stockées dans les registres RTCVALx. Ces valeurs sont comparées aux valeurs d'alarme définies par l'utilisateur pour déclencher une interruption d'alarme chaque fois qu'il y a une correspondance. Les valeurs d'alarme sont stockées dans les registres ALRMVALx. Les masques d'alarme sont utilisés pour définir l'intervalle de temps entre chaque événement d'alarme si plusieurs alarmes périodiques sont nécessaires. La broche RTCC peut fournir soit l'aiguille des secondes de l'horloge, soit une impulsion d'alarme à la moitié de la fréquence d'alarme, selon les paramètres configurés. Afin de simplifier le micrologiciel, l'interface de registre pour le RTCC et les valeurs d'alarme sont implémentées au format Binary Coded Decimal (BCD).

Configuration périphérique

L'utilisateur règle l'heure en écrivant l'année, le mois, le jour, l'heure, la minute et la seconde correspondants dans les registres temporaires. Cependant, le bit d'activation RTCC (RTCEN) et les registres RTCVALH et RETCVALL ne peuvent être écrits que lorsque le bit d'activation d'écriture dans les registres de valeur RTCC (RTCWREN) est activé, sinon ils seront activés. J'ignorerais tout ce qui est écrit dans ces enregistrements. Les registres du temporisateur RTCC (RTCVALx) et du temporisateur d'alarme (ALRMVALx) ne sont accessibles que via les pointeurs de registre correspondants. Chaque écriture ou lecture dans le registre RTCVALH décrémente la valeur du pointeur RTCC de un jusqu'à ce qu'il atteigne 00. Lorsque la broche RTCC est activée, l'utilisateur peut choisir entre générer l'horloge en secondes ou une impulsion d'alarme, fonctionnant à la moitié de la fréquence de l'alarme. Pour une synchronisation plus précise et pour assurer un fonctionnement ininterrompu du RTCC, même en mode veille, SOSC est recommandé comme source d'horloge périphérique. Une fois le RTCC activé, la minuterie continue de compter à partir du point de départ configuré. De plus, pour éviter une écriture accidentelle dans le registre du temporisateur RTCC, il est recommandé d'effacer le bit RTWREN lorsque vous n'écrivez pas dans le registre. La fonction alarme est paramétrable entre une seconde et un an et peut être répétée à volonté par l'utilisateur. Chaque lecture ou écriture dans le registre ALRMVALH décrémente la valeur du pointeur d'alarme d'une unité.

Mode de sauvegarde de la batterie

Une caractéristique du module RTCC est sa capacité à continuer à fonctionner grâce à une batterie de secours en cas de coupure de courant, sinon cela affecterait la précision de la synchronisation. Il s'agit du mode VBAT, et les microcontrôleurs PIC offrent une consommation d'énergie réduite du microcontrôleur et un fonctionnement RTCC transparent grâce au mode d'alimentation basé sur le matériel VBAT. Ce mode utilise une alimentation de secours connectée à la broche VBAT, comme illustré à la Fig. 2. Un interrupteur d'alimentation sur puce détecte la perte d'alimentation de VDD et connecte la broche VBAT au régulateur de maintien. Cela fournit 1,2 V pour maintenir le régulateur de rétention, ainsi que le RTCC, avec sa source d'horloge si elle est activée et les registres à usage général pour le mode veille (registres à usage général en veille profonde, DSPGPRx). Le RTCC continue de fonctionner comme si l'alimentation n'avait pas été interrompue. L'appareil se réveille automatiquement du mode VBAT lorsque VDD récupère ; cette réactivation est identifiée en vérifiant l'état du bit VBAT. S'il est défini lorsque l'appareil est actif et commence à exécuter le code à partir du vecteur de réinitialisation, cela indique que la sortie provenait du mode VBAT. Pour identifier les futurs événements de réveil VBAT, le bit doit être effacé dans le logiciel. L'une des cartes de démonstration de Microchip pouvant fonctionner avec VBAT est la carte de démonstration LCD Explorer, qui est fournie avec un support pour une pile bouton 2032V CR3.

réveils numériques

La figure 3 illustre un exemple de mise en œuvre du RTCC avec un contrôleur LCD et des modules de capture-comparaison-PWM (CCP) pour une application de réveil numérique. Le SOSC fournit l'horloge pour le module RTCC. Si la broche RTCC est configurée pour générer l'horloge des secondes, cela permet à la LED D1 de clignoter une fois par seconde. Les valeurs dans les registres RTCVALx sont manipulées par le micrologiciel pour les afficher sur LCD1 via le module de contrôle LCD. L'interruption d'alarme déclenche le module CCP pour générer une sortie modulée par impulsions qui active le buzzer piézoélectrique P1 à chaque événement d'alarme. La durée de l'alarme est contrôlée par le micrologiciel. Les boutons-poussoirs S1, S2 et S3 permettent de régler l'heure et la date initiales du RTCC, ainsi que les paramètres d'alarme. L'un des boutons peut également être utilisé pour démarrer le comptage RTCC. Diverses cartes de démonstration Microchip peuvent être utilisées pour cette application. Plusieurs microcontrôleurs PIC avec module RTCC intègrent également un module de pilote LCD qui peut piloter directement le verre LCD, tandis que d'autres peuvent utiliser le module MSSP pour communiquer avec l'autre LCD tout en affichant l'heure et la date.

compteurs d'énergie

Dans un compteur d'énergie, le module RTCC peut être intégré à d'autres périphériques, tels qu'un convertisseur A/N et des modules de contrôleur LCD. Les microcontrôleurs pour les applications de compteur doivent avoir un convertisseur A/N haute résolution pour les mesures de tension et de courant caractérisé par une faible consommation d'énergie et capable de fonctionner à partir d'une batterie pour maintenir un fonctionnement ininterrompu du RTCC, ainsi qu'une EEPROM pour l'enregistrement des données et stockage des données d'étalonnage. Microchip dispose de plusieurs microcontrôleurs 8 bits qui répondent à ces exigences. La fonction de réglage automatique périodique du module RTCC peut être utilisée avec le module convertisseur A/N pour effectuer une compensation de température logicielle pour une synchronisation plus précise. Ces microcontrôleurs intègrent également un module LCD qui peut piloter directement un LCD pour indiquer la consommation d'énergie en temps réel. Ils disposent également d'une interface de batterie externe via la broche VBAT qui permet un fonctionnement continu du RTCC en cas de perte de puissance.

Conclusion

Les modules RTCC des microcontrôleurs PIC fournissent les fonctions nécessaires pour maintenir une heure et une date précises. Ils sont faciles à configurer, fournissent un étalonnage automatique des erreurs et consomment très peu d'énergie. Étant donné que RTCC est rarement installé de manière isolée, son utilité est mieux appréciée lorsqu'il est intégré à d'autres périphériques. Les microcontrôleurs PIC vous permettent de choisir entre différents périphériques pouvant être implémentés avec le module RTCC dans les réveils numériques, les compteurs d'énergie et d'autres applications.  

www.microchip.com