Récepteur de signaux Horaires Allouis 162 Khz à PIC

Introduction

Vous trouverez ici, une nouvelle réalisation d'un récepteur de signaux horaires émis sur Allouis GO à 162 Khz (ex France Inter). Le principe de fonctionnement est identique à celui décrit sur cette page. Cependant le montage s'appuie sur une caratéristique du microprocesseur PIC 18f14k22. En effet ce circuit contient un SR Latch, c'est à dire une bascule Set et Reset, qui, utilisé en comparateur de phase, permet de remplacer le circuit CD4046 du montage précédent, rendant ainsi le montage plus compact.

Si le titre s'appuie sur le mot PIC, c'est qu'aujourd'hui, à ma connaissance, il est le seul processeur à avoir des modèles comportant un SRLatch mais tout autre processeur embarquant un SRLatch aurait le même intérêt.

Réalisation

Le schéma synoptique suivant montre les composants de la boucle de phase qui constitue le matériel du récepteur. Les composants encadrés en rouge sont fournis par le processeur.

récepteur 162 KHz à PIC schéma fonctionnel

Et voici Le schéma électrique. Cliquez pour agrandir.

Et une photo.

photo montage

Et une photo avec l'afficheur que vous pouvez trouver sur cette page.

photo montage avec afficheur

La consommation du montage est de 5 mA sous 5 Volts et 20 mA avec un afficheur connecté.

Fonctionnement

L'objectif du montage est de récupérer le signal de modulation de phase transportée par l'onde émise par Allouis à 162 KHz. Pour cela on dispose du signal radio captée par l'antenne, amplifiée et de fréquence très stable et d'un signal local quasi stable, réglable en fréquence et que l'on va commencer par asservir en fréquence sur le signal reçu. C'est l'objet de la boucle de phase. Une fois asservi, le signal local devient la référence sur une entrée du comparateur de phase, l'autre entrée étant le signal reçu. Le comparateur agissant en demodulateur synchrone, on retrouve donc à la sortie une composante à la différence des fréquences et une composante à la somme des fréquences. Les 2 fréquences étant égales, on retrouve donc en bande de base le signal de modulation et un signal à la fréquence 2f qui sera éliminé par filtrage.

Le comparateur de phase est dans ce montage un SRLatch (terme de la datasheet) c'est à dire une bascule qui positionne sa sortie à 1 lors d'une impulsion sur l'entrée Set et qui positionne sa sortie à 0 lors d'une impulsion sur l'entrée Reset, avec, dans ce montage, l'oscillateur local divisé par 64 sur l'entrée Set et le signal reçu sur l'entrée Reset. La sortie est aussi positionnée à 0 lorsque les 2 entrées sont à 1. Si les signaux ont un rapport cyclique de 50 %, la tension moyenne en sortie du comparateur ne pourra varier que de 0 à Vcc/2 et est centrée sur Vcc/4. Il faudra en tenir compte pour les réglages.

l'aiguillage des signaux se fait en écrivant les valeurs adéquates (voir la datasheet) dans les registres CM2CON0, CM2CON1, SRCON0, SRCON1, VREFCON0, VREFCON1, VREFCON2.

Réglages

Vu les dispersions possible sur les quartz ou les oscillateurs, il convient de s'assurer que la plage de variation de l'oscillateur (après division) est centrée sur 162000 Hz pour une tension varicap variant de 0 à 2.5 Volt et en boucle ouverte. Au besoin modifier la valeur du condensateur sur la sortie de l'oscillateur. L'oscillateur utilisé est de type HS (High Speed voir datasheet).

La tension sur le condensateur C10 10µF varie entre 1 et 2 Volt, lorsque la boucle est accrochée.

Il est possible de sortir un signal carré à 324 kHz sur le port RC5 (CCP1) pin 5 du micro en envoyant la commande F vers l'interprêteur de commande par la liaison série..

Outils

Le logiciel est développé sous Linux avec SDCC - Small Device C Compiler - voir SDCC pour le download et la documentation. La version utilisée est sdcc-src-3.6.0.tar.bz2.

SDCC utilise le paquet gputils pour gpasm et gplink, l'assembleur et le linker pour les microprocesseurs PIC. voir gputils package. La version utilisée est gputils-src-20161229-1294.tar.gz.

Les schémas sont réalisés avec gschem de la suite gEDA - voir [3]. Vous pourriez en avoir besoin pour modifier, imprimer, visualiser les schémas et pourquoi pas en créer d'autres.

Compilation du logiciel

Après avoir installé les outils nécessaires et rendu accessible par la modification de la variable PATH, vous pouvez exécuter les commandes suivantes:

export PATH="${PATH}:/home6/pic/gputils/bin/:/home6/pic/sdcc/bin/"
tar Jxvf picfi-yyyymmdd.tar.xz
cd picfi-yyyymmdd
make

Programmation du PIC

La première fois, car il y a toujours une première fois mais il peut y en avoir plusieurs, la programmation se fait par un outil ICSP (in circuit serial programming) et Pgrm le fait pour les PIC que j'utilise.

Ensuite Pgrm, connecté par la liaison série, permet le chargement du logiciel que l'on vient de modifier et recompiler. Il permet également de lire et modifier les variables internes du programme et le registres du micro.

References

  1. [1] Récepteur Horaire France Inter.
  2. [2] An Pic Avr bootloader program.
  3. [3] my gEDA symbols.
  4. [4] you can find the datasheet of the 18f14k24 processor on the Microchip Site.

LICENSE

The Picfi software is licensed under the terms of the GNU General Public License as published by the Free Software Foundation. See the file "COPYING" in the download directory.

Download

Conclusion

Démarré depuis plusieurs années et oublié parce qu'il ne fonctionnait pas correctement, ce projet a été re-sorti car il permet de fournir une fréquence 162 * 2 Khz synchronisée sur le 162 KHz sans perturber la réception. Je pensais que la cause était le manque de sensibilité du détecteur de phase par rapport au circuit 74HC4046. Après 2 coups de tournevis (il n'y a que 2 réglages), le montage s'est synchronisé et a commencé à afficher l'heure, mais c'était du "tombé en marche" et après recablage du filtre de commande de varicap, les choses sont devenues plus stables.

Il est donc possible de réaliser une boucle à verrouillage de phase matérielle avec les composants internes du microprocesseur.