Catégories: Circuits microcontrôleurs
Nombre de fois vus: 3195
Commentaires sur l'article: 0

Puces d'horloge en temps réel RTC - Objectif, types et exemples d'utilisation

 

Pour effectuer des tâches liées à l'automatisation, vous devez souvent compter certains intervalles de temps. Parfois, cela se fait en comptant un certain nombre de périodes d'horloge ou de cycles machine.

Cependant, bien qu'ils suivent à une fréquence donnée et dépendent le plus souvent du résonateur à quartz, lorsqu'ils effectuent des opérations en temps réel, et surtout s'ils sont liés à l'heure de la journée, ils changent de temps. Pour résoudre ce problème, utilisez une horloge en temps réel ou des puces RTC.


Qu'est ce que c'est

Le RTC (horloge temps réel, horloge temps réel russe) est un type de microcircuit destiné à compter le temps en unités «réelles» (secondes, minutes, heures, etc.).

Ils dépendent de la source d'alimentation, qui peut être soit externe, sous la forme d'une batterie remplaçable ou d'une batterie au lithium, soit intégrée dans le boîtier du microcircuit (voir photo ci-dessous). Les signaux d'horloge pour les rapports de temps peuvent être obtenus à partir d'un externe résonateur à quartz, et moins souvent - à partir du réseau d'alimentation.

La précision de lecture dépend de la qualité et de la précision d'accord de l'oscillateur interne ou de l'oscillateur à cristal externe. Dans le même temps, la précision du quartz et du RTC, respectivement, n'est pas indiquée en hertz et non en pourcentage, mais en "ppm", par exemple ± 12 ppm, ± 50 ppm. Cela signifie Parts Per Million, c'est-à-dire le nombre de pièces par million d'une certaine valeur moyenne.

Puce d'horloge en temps réel RTC

Les horloges en temps réel peuvent être mises en œuvre sur la base de microcontrôleurs, cependant, l'utilisation de puces spéciales peut réduire la consommation d'énergie, car la plupart des microcontrôleurs, même en mode veille (ou en mode basse consommation), consomment plus d'énergie que les circuits intégrés spéciaux (CI). Les RTC peuvent également être intégrés au microcontrôleur lui-même (comme dans STM32).

C'est grâce à l'horloge en temps réel de votre ordinateur que l'heure et la date après sa déconnexion du réseau ne se décrochent pas, dans ce cas elles fonctionnent à partir de la batterie CR2032 installée dans le connecteur de la carte mère, elle alimente également la puce du BIOS pour que les paramètres qui y sont définis ne se perdent pas.

Puce RTC avec batterie intégrée

Classification

La classification des puces RTC peut varier d'un fabricant à l'autre. Les horloges temps réel les plus courantes de fabricants tels que: Maxim Integrated et STMicroelectronics. Il existe sur le marché des micropuces d'autres sociétés:

  • Intersil Corporation (DC Renesas Electronics);

  • Cymbet (gamme EnerChip ™ RTC, caractéristique distinctive - batterie à semi-conducteurs intégrée);

  • NXP (RTC avec calendrier, prenant en charge les protocoles I2C ou SPI)

  • Zilog;

  • Epson

  • SUR semi-conducteur.

Module d'horloge en temps réel avec puce DS1307

Maxim Integrated utilise le type d'interface de contrôle comme critère principal pour la classification des puces RTC, à savoir:

1. Puces RTC avec interface de contrôle série: I2C, 3 fils, SPI.

2. Avec une interface de contrôle parallèle:

  • avec bus d'adresse / de données multiplexé;

  • avec bus d'adresses et de données partagés;

  • avec interface monofil à 1 fil.

Module d'horloge en temps réel

Vous pouvez également classer par format de présentation des données:

  • Calendrier Sous la forme d'un modèle YY-MM-DD pour la date et HH-MM-SS pour l'heure, l'heure et leurs autres formats;

  • Binaire Sous la forme d'un compteur binaire continu d'unités de temps (secondes ou leurs fractions).

Selon l'objectif du microcircuit dans le circuit de l'appareil et son type est sélectionné, si le circuit intégré avec une représentation de calendrier, il fonctionnera comme une horloge normale, et dans le cas d'une horloge binaire, pour des applications telles que les rapports de périodes de temps, par exemple, la période de validité de la licence, la période de garantie ou les appareils pour enregistrer quelque chose (par exemple, des compteurs électriques), par exemple, dans le catalogue Maxim Integrated, ils sont appelés «compteur de temps écoulé» - le compteur de temps écoulé, un exemple d'un tel CI est le DS1683.

Dans d'autres cas, les microcircuits d'horloge en temps réel peuvent être classés par fonctionnalité ou par d'autres caractéristiques:

  • La présence d'un générateur intégré ou il est nécessaire d'utiliser un générateur externe (quartz).

  • Par la présence d'une source d'alimentation intégrée ou la possibilité d'utiliser une batterie externe.

  • Par le type et la taille de la mémoire interne et des protocoles de communication avec le monde «externe» (décrits ci-dessus).

  • Par la présence d'une interface fantôme (fantôme) pour accéder aux registres internes du microcircuit (pour le réglage, les modes de réglage ou la lecture des valeurs).

  • Autres fonctions: chien de garde, alarme, deuxième sortie, contrôle de l'alimentation, possibilité de charger une batterie externe, etc.

Et enfin, de nombreux fabricants classent leurs appareils en fonction du niveau de consommation d'énergie, en moyenne, la consommation actuelle varie de 200 à 1500 nA, mais peut également sortir de cette plage en fonction du circuit intégré et du fabricant spécifiques.


Radio amateur

Les horloges en temps réel sont souvent utilisées en conjonction avec des plates-formes de développement et de prototypage populaires comme la famille Arduino, et lors du développement de dispositifs sur tout autre microcontrôleur, ainsi que Micro-ordinateurs de la famille Raspberry Pi et similaires.

L'utilisation des puces RTC dans la pratique de la radio amateur

Aujourd'hui, l'industrie produit des modules avec RTC, sous la forme d'une carte de circuit imprimé ou d'un blindage séparé. L'avantage de ce type de modules est qu'il n'est pas nécessaire d'étaler la carte et de dessouder le microcircuit, le faisceau, le support de batterie, etc.

Ils sont pratiques à utiliser à la fois pour les appareils prêts à l'emploi et dans les maquettes - vous pouvez utiliser des cavaliers avec des fiches et des connecteurs de type Dupont, si vous installez un peigne sur le module pour les connecter, ou soudez les fils directement aux nickles sur la carte (voir - Conseils pour assembler rapidement des cartes de circuits imprimés sur des plaques d'essais).

Modules avec RTC

Parmi les fabricants d'arduino et de fabrication artisanale moderne, les plus largement utilisés sont les microcircuits d'horloge en temps réel Maxim Integrated et les modules basés sur eux, à savoir:

  • DS1302;

  • DS1307;

  • DS3231.

Leurs différences sont présentées dans le tableau ci-dessous.

Caractéristiques des puces DS1302, DS1307 et DS3231

Comme vous pouvez le voir, tous communiquent avec le microcontrôleur via le bus I2C et le DS1302 via SPI, bien que la fiche technique indique "une simple interface série à 3 fils adaptée à la plupart des microcontrôleurs". Et il peut se connecter non seulement à 10-13 broches d'Arduinosur lesquels les broches sont affectées sont SPI, mais pour les autres installées dans le croquis, les circuits seront plus bas. Des kits de données pour ces circuits intégrés avec toutes les données techniques sont joints à l'article.

Fiches techniques pour les puces en temps réel:

Arduino UNO prend en charge ces deux protocoles, que vous pouvez voir dans le diagramme ci-dessous (marqués en violet et gris pour SPI et I2C, respectivement).

Arduino uno

Comme le Raspberry Pi.

Raspberry pi

Cela signifie que vous pouvez utiliser n'importe lequel de ces modules à partir de chaque plate-forme. Vous pouvez voir les différences externes des modules dans l'illustration ci-dessous, mais la disposition de la carte peut différer, regardez le marquage IC.

Pour qu'Arduino fonctionne avec RTC, vous avez besoin d'une bibliothèque, mais comme elle n'est pas dans le package IDE Arduino standard, vous devez la télécharger. Il y a des bibliothèques sur le réseau pour chacun des CI considérés, et il y a des bibliothèques universelles que vous pouvez choisir et laquelle vous conviendra le mieux.

Bibliothèque universelle attachée - iarduino_rtc.zip. Notez que le type de CI y est défini manuellement, et pour le DS1302 les conclusions auxquelles il est connecté:

inclure // Connecter la bibliothèque
heure iarduino_RTC (RTC_DS3231); // Créer un objet temporel pour le circuit intégré DS3231
heure iarduino_RTC (RTC_DS1307); // POUR DS1307
heure iarduino_RTC (RTC_DS1302, RST, CLK, DAT); // pour DS1302.
// Au lieu de RST, CLK et DAT, les numéros des broches Arduino,
// auquel les broches correspondantes du module d'horloge sont connectées

Diagramme pour DS1302, rappelle une fois de plus que les conclusions peuvent être différentes:

Schéma de connexion DS1302 à Arduino

Mais la ligne de données DS1307 et DS3231 se connecte uniquement aux broches A5 et A4 de l'Arduino UNO (pour d'autres révisions et versions de la carte, voir le brochage).

Schéma de connexion RTC à Arduino
Schéma de connexion RTC à Arduino

Conclusion

Les horloges en temps réel vous permettent de réaliser des projets dans lesquels tous les processus doivent démarrer selon un calendrier. Dans presque tous les projets relativement complexes à usage pratique, il existe un tel besoin; peu importe qu'il s'agisse d'un système d'irrigation automatique pour les plantes ou d'un système de contrôle des processus en production.

En raison du faible coût des pièces et de la simplicité de connexion et de programmation, n'importe qui peut désormais mettre en œuvre de tels systèmes sans même avoir une connaissance approfondie de l'électronique et des microcontrôleurs. Mais cela ne signifie pas qu'étant donné l'arduino avec sa simplicité intrinsèque, il n'est pas nécessaire d'étudier le logiciel et le matériel. Au contraire, la connaissance de la structure du fer et du code vous permettra de créer des programmes plus rapides et plus complexes, tout en prenant moins de place.

Voir aussi sur e.imadeself.com:

  • Que sont les écrans Nextion et comment les utiliser?
  • Microcontrôleurs PIC pour débutants
  • Types et disposition des microcontrôleurs AVR
  • Microcontrôleurs programmables en JavaScript: lequel choisir, caractéristiques ...
  • Mesurer la température et l'humidité sur Arduino - une sélection de méthodes

  •