Grâce à une horloge en temps réel, un appareil électronique peut obtenir la date et l’heure lorsqu’il est activé, sans avoir besoin de se référer à une source externe. Cette horloge doit être à même de fonctionner sans erreur lorsque toutes les sources d’alimentation externes sont retirées de l’unité et ce, pendant plusieurs mois, voire des années.
Le minuteur d’un microcontrôleur n’a rien à voir avec l’horloge en temps réel
La plupart des microcontrôleurs incluent une fonction de minuteur, qui compte le temps écoulé depuis l’activation de l’unité. Comme il est remis à zéro lorsque l’unité est mise hors tension, ce minuteur ne peut pas jouer le rôle d’horloge en temps réel. Il peut arriver qu’une horloge en temps réel soit le seul élément activé et en cours d’utilisation lorsque l’alimentation système de l’appareil dans son ensemble est retirée. Pour cette raison, elle est souvent implémentée sur une puce distincte, alimentée par une minuscule batterie dédiée.
Comme cette horloge doit fonctionner pendant de longues périodes et que sa source d’alimentation est minuscule, elle doit impérativement bénéficier d’une consommation d’énergie minime. Afin de préserver la batterie, l’horloge en temps réel utilise l’alimentation système lors de son fonctionnement normal. Elle ne recourt à sa batterie que lorsque l’alimentation système est inexistante, le système ayant été mis hors tension.
Tout repose sur un oscillateur
L’élément clé d’une horloge en temps réel est un oscillateur à cristaux, qui fonctionne souvent à une fréquence de 32 768 kHz. En effet, cette fréquence correspond à 215 impulsions par seconde, ce qui s’avère pratique. Comme la batterie, ces cristaux peuvent être intégrés dans l’horloge en temps réel ou doivent être alimentés en externe. Bien entendu, la taille d’une puce d’horloge en temps réel incluant davantage d’éléments en interne est supérieure à celle d’une puce de base.
Voir les produits connexes
Le modèle BQ32002DR de Texas Instruments est une horloge en temps réel de base, disponible à partir d’Arrow Electronics. Cet appareil à 8 broches est fourni au sein d’un boîtier SOIC et ne contient aucun cristal ou batterie de secours internes, mais il n’occupe que 20 millimètres carrés d’espace de carte.
La fiche technique de cet appareil indique qu’il utilise un bus série I2C conforme aux normes industrielles pour transmettre les informations sur l’heure au système dans son ensemble, ou pour recevoir la date et l’heure correctes saisies par l’utilisateur. Le modèle BQ32002DR adopte automatiquement le mode de veille lorsque la tension du système est inférieure à un seuil défini ; dans cet état, il dissipe uniquement le courant de l’ordre du microampère. Remarque : Plutôt qu’une batterie, cette unité peut recourir à un super-condensateur à 0,22 Farad.
Figure 1 : Schéma du modèle BQ32002DR (source : Texas Instruments)
De nombreuses horloges en temps réel modernes sont également capables de commuter à nouveau le courant continu du système en mode « on », ce qui permet de le tirer efficacement de veille. L’horloge en temps réel effectue cette opération via des minuteurs secondaires internes, programmables par l’utilisateur.
Le défi des composants portatifs
Le modèle M41T62LC6F de STMicroelectronics est une puce d’horloge en temps réel appartenant à une nouvelle sorte d’appareils, conçus pour être incorporés dans des appareils portatifs. Dans ce cas, les défis à prendre en compte sont l’encombrement et, surtout, l’alimentation, qui doivent être aussi peu élevés que possible. Cet appareil occupe environ 5 millimètres carrés, gère 350 nanoampères de courant en mode de veille et peut fonctionner dans ce mode avec une tension aussi basse qu’un volt. Cette horloge en temps réel inclut son propre oscillateur à cristaux, malgré son très faible encombrement.
Voir les produits connexes
La fiche technique du modèle M41T62LC6F indique que ce dernier fait partie de la famille d’appareils M41T6x. Ce modèle utilise un bus série I2C de 400 kHz pour communiquer avec le processeur. Pourtant, malgré sa très petite taille, cette unité inclut une fonction d’alarme, qui tire le système de veille aux moments définis au préalable. Cette horloge en temps réel comprend huit registres internes, qui incluent le siècle, l’année, le mois, le jour, le jour de la semaine, l’heure, le nombre de minutes et, pour finir, le nombre de secondes, au format décimal codé binaire (BCD, Binary-Coded Decimal).
Pour approfondir
Dans de nombreuses applications électroniques, l’horloge en temps réel est le seul composant qui doit être capable de fonctionner avec très peu de courant, car il pourra accéder à l’alimentation système de base une fois l’appareil remis sous tension. Or, dans ce nouveau paysage, axé sur les appareils portatifs et l’IoT, seule une consommation d’énergie extrêmement faible est possible, que l’appareil soit en mode de veille ou de fonctionnement normal. Pour cette raison, il peut être pertinent d’envisager l’incorporation de l’horloge en temps réel sur la puce à faible consommation qui héberge déjà le microcontrôleur. C’est ce que propose STMicroelectonics dans sa famille de microcontrôleurs STM32L4, dotée d’horloges en temps réel intégrées et disponible à partir d’Arrow Electronics.
5 considérations majeures à prendre en compte lors de la sélection d’une horloge en temps réel pour votre prochaine application
1) Quelle est la quantité d’alimentation requise par l’horloge en temps réel en mode de veille ?
2) L’horloge en temps réel inclut-elle une batterie interne ?
3) Des cristaux internes sont-ils inclus ?
4) Le déploiement final de l’appareil nécessitera-t-il la mise sous tension automatique de ce dernier, à certains moments ?
5) Cet élément est-il de petite taille et suffisamment léger pour pouvoir être intégré dans un appareil portatif ou IoT ?
Nouvelles avancées concernant les horloges en temps réel
Depuis l’arrivée de l’Internet des objets (IoT) et des appareils portatifs, les composants se doivent d’être plus petits, moins chers et (surtout) de consommer moins d’énergie. Contrairement aux environnements des ordinateurs de bureau, voire des périphériques mobiles actuels, l’alimentation disponible pour toutes les opérations dans ces nouveaux types d’appareils sera extrêmement limitée, même lorsque l’appareil sera sous tension.
Comme nous l’avons vu, suite à l’évolution de certaines conceptions, il peut s’avérer logique d’inclure l’horloge en temps réel sur la puce du microcontrôleur, et non de l’ajouter en tant que composant distinct. Les nouvelles horloges en temps réel devront utiliser l’alimentation avec parcimonie et bon escient en mode de veille, mais également en mode actif, y compris lorsque l’appareil sera également activé. Ce défi très audacieux devrait influer grandement sur le développement des horloges en temps réel à venir.