Jean-François FOURCADIER
F4DAY

Montpellier  (France)

projets radioamateurs

écrivez moi !  
© 2000-2016- J.F. Fourcadier
page d'accueil
haut débit télévision antennes hyperfréquences relais divers

 


le module microcontrôleur-horloge

cliquer pour agrandir

 

Ce module constitue le coeur de l'unité de commande. Il contient le microcontrôleur maître et le programme qui régissent le fonctionnement de l'ensemble. Le circuit horloge fournit une heure système qui sert de base à la détermination logicielle des différents délais et temporisations nécessaires au fonctionnement. L'heure fournie n'est pas une heure vraie, mais une heure arbitraire, propre au système. Il n'est pas prévu de pile de sauvegarde, ni de procédure de remise à l'heure. L'heure est simplement remise à zéro lors de chaque démarrage de l'installation.

Schéma

cliquer pour agrandir

Description

Le microcontrôleur utilisé est un 16F876 de Microchip. Il est cadencé à 4 MHz, ce qui donne un temps élémentaire d'exécution des instructions de 1 µs. Ce microcontrôleur possède une mémoire programme capable de contenir 8192 instructions, une mémoire de données de 368 octets et une mémoire non volatile EEPROM de 256 octets. Particulièrement intéressant dans notre cas est le module MSSP qui gère directement le bus I2C. Pour activer ce module, des registres internes doivent être convenablement paramètrés (voir description du logiciel).

En fonctionnement normal, seules deux pattes SDA et SCL sont utilisées pour gérer les différents périphériques à travers le bus I2C. La patte RB1 délivre à la demande un signal de test utile lors des phases de débogage. En effet, en l'absence d'outils professionnels de développement, on peut connecter sur le point test une LED (en série avec une résistance de 390 ohms), pour identifier les points de passage logiciels. Méthode lourde mais efficace ! Ce point test sert ensuite, lors de la phase demise au point, à la mesure du temps de cycle: les instructions "bsf PORTB,1" et "bcf PORTB,1" placées au tout début de la boucle, produisent une impulsion de 1 µs sur le point test à chaque passage. La mesure du temps de cycle au moyen d'un oscilloscope devient alors un jeu d'enfant !

Les transistors et le circuit intégré 74LS125 que l'on peut apercevoir sur le schéma constituent une adaptation du dispositif de programmation in-situ décrit dans la note d'application AN589 de Microchip: inutile alors de débrocher le circuit lors de chaque modification logicielle. La programmation s'effectue sous une "haute tension" de 13 V fournie localement par l'alimentation. La liaison avec l'ordinateur de programmation s'effectue au moyen d'un simple câble parallèle. Le programmateur type IC-Prog doit être paramétré avec l'option "AN589".

Enfin, le circuit Philips PCF8583 donnant l'heure système est connecté de manière très simple sur le bus. Il est équipé d'un quartz horloger de 32,768 kHz et fournit, sur requête I2C du maître, l'heure au centième de seconde près. Remarquons que la mémoire RAM contenue dans ce circuit est pour nous sans intérêt, en raison de son temps d'accès excessif à travers le bus I2C.

Circuit imprimé

Téléchargez le dessin du circuit imprimé au format Ares, micro_horl.lyt (zippé)

 

Logiciel

Il se trouve à la page de présentation générale.

 

Bonne réalisation !

 

 

73 de Jean-François FOURCADIER, F4DAY

 

 

retour à la page d'accueil du site

 

 

 

© 2000-2016  J.F. Fourcadier F4DAY