DESCRIPTION DÉTAILLÉE

La puce de chronométrage à charge creuse DS1302 contient une horloge/calendrier en temps réel et 31 octets de RAM statique. Elle communique avec un microprocesseur via une simple interface série. L'horloge/calendrier en temps réel fournit des informations sur les secondes, les minutes, les heures, le jour, la date, le mois et l'année. La date de fin de mois est automatiquement ajustée pour les mois de moins de 31 jours, y compris les corrections pour les années bissextiles. L'horloge fonctionne au format 24 heures ou 12 heures avec un indicateur AM/PM.

L'interface du DS1302 avec un microprocesseur est simplifiée par l'utilisation d'une communication série synchrone. Seuls trois fils sont nécessaires pour communiquer avec l'horloge/RAM : CE, I/O (ligne de données) et SCLK (horloge série). Les données peuvent être transférées vers et depuis l'horloge/RAM 1 octet à la fois ou en rafale jusqu'à 31 octets. Le DS1302 est conçu pour fonctionner à très faible consommation et conserver les données et l'information d'horloge sur moins de 1µW.

Le DS1302 est le successeur du DS1202. En plus des fonctions de base de chronométrage du DS1202, le DS1302 possède les caractéristiques supplémentaires suivantes : deux broches d'alimentation pour les alimentations primaire et de secours, un chargeur de secours programmable pour VCC1, et sept octets supplémentaires de mémoire scratchpad.

 

Description des données

CONTRÔLE DE L'HEURE ET DE LA DATE

L'activation de l'entrée CE déclenche tous les transferts de données. L'entrée CE a deux fonctions. Premièrement, elle active la logique de contrôle qui permet d'accéder au registre à décalage pour la séquence adresse/commande. Deuxièmement, le signal CE fournit une méthode pour terminer le transfert de données CE d'un octet ou de plusieurs octets.

Un cycle d'horloge est une séquence d'un front montant suivi d'un front descendant. Pour les entrées de données, les données doivent être valides pendant le front montant de l'horloge et les bits de données sont émis sur le front descendant de l'horloge. Si l'entrée CE est basse, tous les transferts de données sont interrompus et la broche d'E/S passe à un état de haute impédance. ENTRÉE DE DONNÉES

Après les huit cycles SCLK qui introduisent un octet de commande d'écriture, un octet de données est introduit sur le front montant des huit cycles SCLK suivants. Les cycles SCLK supplémentaires sont ignorés s'ils se produisent par inadvertance. Les données sont entrées en commençant par le bit 0.

SORTIE DE DONNÉES

Après les huit cycles SCLK qui entrent un octet de commande de lecture, un octet de données est émis sur le front descendant des huit cycles SCLK suivants. Il est à noter que le premier bit de données à transmettre se produit sur le premier front descendant après l'écriture du dernier bit de l'octet de commande. Des cycles SCLK supplémentaires retransmettent les octets de données s'ils se produisent par inadvertance tant que CE reste élevé. Ce fonctionnement permet une lecture continue en mode rafale. De plus, la broche d'E/S est déclenchée à chaque front montant du SCLK. Les données sont émises en commençant par le bit 0.

MODE D'ÉPREUVE

Le mode rafale peut être spécifié pour les registres d'horloge/calendrier ou de RAM en adressant l'emplacement 31 décimal (bits d'adresse/commande 1 à 5 = logique 1). Comme précédemment, le bit 6 spécifie l'horloge ou la RAM et le bit 0 spécifie la lecture ou l'écriture. Il n'y a pas de capacité de stockage de données aux emplacements 9 à 31 dans les registres horloge/calendrier ou à l'emplacement 31 dans les registres RAM. Les lectures ou écritures en mode rafale commencent par le bit 0 de l'adresse 0.

Lors de l'écriture dans les registres d'horloge en mode rafale, les huit premiers registres doivent être écrits pour que les données soient transférées. Toutefois, lors de l'écriture dans la RAM en mode rafale, il n'est pas nécessaire d'écrire les 31 octets pour que les données soient transférées. Chaque octet écrit sera transféré dans la RAM, que les 31 octets soient écrits ou non.

HORLOGE/CALENDRIER

Les informations relatives à l'heure et au calendrier sont obtenues en lisant les octets de registre appropriés. Le tableau 3 illustre les registres RTC. L'heure et le calendrier sont réglés ou initialisés en écrivant les octets de registre appropriés. Le contenu des registres de l'heure et du calendrier est au format décimal codé en binaire (BCD).

Le registre du jour de la semaine s'incrémente à minuit. Les valeurs correspondant au jour de la semaine sont définies par l'utilisateur mais doivent être séquentielles (c'est-à-dire que si 1 correspond au dimanche, 2 correspond au lundi, etc.) Les entrées illogiques de la date et de l'heure entraînent un fonctionnement indéfini.

Lors de la lecture ou de l'écriture des registres de l'heure et de la date, des tampons secondaires (utilisateur) sont utilisés pour éviter les erreurs lors de la mise à jour des registres internes. Lors de la lecture des registres de l'heure et de la date, les tampons utilisateur sont synchronisés avec les registres internes sur le front montant de CE.

La chaîne de compte à rebours est réinitialisée chaque fois que le registre des secondes est écrit. Les transferts d'écriture se produisent sur le front descendant de CE. Pour éviter les problèmes de renversement, une fois la chaîne de compte à rebours réinitialisée, les autres registres d'heure et de date doivent être écrits dans un délai d'une seconde.

Le DS1302 peut fonctionner en mode 12 heures ou 24 heures. Le bit 7 du registre des heures est défini comme le bit de sélection du mode 12 ou 24 heures. Lorsqu'il est élevé, le mode 12 heures est sélectionné. En mode 12 heures, le bit 5 est le bit AM/PM, la valeur logique élevée correspondant à PM. En mode 24 heures, le bit 5 est le deuxième bit de 10 heures (20-23 heures). Les données relatives aux heures doivent être réinitialisées chaque fois que le bit 12/24 est modifié.