Un générateur d’horloge à 3 canaux de 2.5 KHz à 225 MHz, facile à utiliser et à programmer.

Vidéo: pandauino.com. Musique: Depart (cdk mix) by Analog By Nature (c)2015  http://dig.ccmixter.org/files/cdk/50347 Ft: Tekno Eddy

Ce générateur d’horloge est particulièrement destiné aux utilisateurs des technologies Arduino et STM32 mais aussi à tous les électroniciens. Il offre:

  • 3 horloges
  • Toutes peuvent aller jusqu’à 100 MHz et une jusqu’à 225 MHz
  • Puissance en sortie réglable
  • Phase ajustable
  • Utilisation très simple
  • Programmable / contrôlable à distance
Clock Generator main view

Ecran principal du Générateur d’Horloge

Il est constitué du circuit bien connu Si5351 de Silicon Labs, contrôlé par un microcontrôleur Cortex STM32. J’avais besoin de ce genre d’outil suite au blocage d’un microcontrôleur mal paramétré. Lorsque celui-ci ne peut pas fonctionner avec le cristal associé il faut avoir une horloge de secours (horloge 1 MHz externe pour l’Atmega328p). Il me permet aussi de vérifier le fonctionnement d’un montage (comme le fréquencemètre) sur toute la bande prévue. Quelques applications typiques:

  • Mmicrocontrôleur bloqué
  • Test de plusieurs cadences d’horloge pour faire fonctionner un microcontrôleur
  • Erreur d’horloge en prototypage qui nécessite immédiatement une horloge de remplacement
  • Circuits avec plusieurs horloges (par exemple ce générateur d’horloge nécessite une horloge 8 MHz et une horloge de 25 à 27 MHz)
  • Tester les limites de fonctionnement d’un circuit ou composant
  • Horloges de très haute fréquence
  • Balayage sur de petites ou grandes plages de fréquences
  • Oscillateur à fréquence variable pour les applications de radio amateur
  • Signaux en déphasage, quadrature et opposition de phase
Clock Generator - Clock settings

Générateur d’Horloge – paramètres d’une horloge

La plupart des utilisateurs apprécieront un outil facile d’utilisation mais versatile. Non pas un module à relier à une carte à microcontrôleur et qui nécessite de développer entièrement un programme. C’est aussi une carte qui permet de connecter proprement le circuit consommateur en haute fréquence. Elle est conçue pour être peu coûteuse tout en permettant les caractéristiques suivantes:

Interface utilisateur

Une interface très simple et claire composée d’un écran TFT couleur 1.8″, un sélecteur et un unique bouton.

Paramètres d’horloge

3 horloges

De 2.5 KHz à 100 MHz et 225 MHz sur une horloge.

Ajustement du déphasage de deux horloges par rapport à une horloge de référence. Le pas de déphasage dépend de la fréquence de l’horloge. Ceci permet la quadrature ou l’opposition de phase de 2 ou 3 horloges à la même fréquence.

Clock Generator - Store settings

Générateur d’Horloge – mémorisation

4 niveaux de puissance du signal: pour une bonne propagation ou la réduction d’une éventuelle résonance du signal.

Il faut noter que ce module n’est pas un générateur de fonctions. Il permet de créer des horloges jusqu’en VHF mais la forme du signal passe de totalement carrée à plus ou moins carrée à plus ou moins sinusoïdale lorsque la fréquence augmente. Cette forme dépend en partie de la bonne adaptation d’impédance entre la sortie et la charge. Le réglage de la puissance de sortie aide à obtenir la meilleure forme de signal en fonction des conditions.

Changement d’état de chaque horloge en un clic:  marche, arrêt ou inversion de phase.

L’écran principal présente pour chaque horloge: fréquence, puissance,  phase et état.

Mémorisation des paramètres

Mémorisation des paramètres courants plus 2 emplacements pour enregistrer tous les paramètres d’horloges.

Clock Generator - Clock 1 sweep settings

Générateur d’Horloge – paramètres de balayage en fréquence d’une horloge

Balayage de fréquences

Permet de balayer des fréquences en choisissant:

  • Fréquence et début et de fin
  • Nombre de pas
  • Période de changement de fréquence

Les 3 horloges peuvent être modifiées (presque) simultanément.

Programmable

La carte peut être programmée dans l’environnement Arduino. Ceci permet de l’utiliser par exemple dans une chaîne d’outils pour voir la réponse en fréquence d’un circuit. La structure minimale d’un programme est simplissime:

Clock Generator - Easy Programming

Contrôlée à distance

On peut aussi paramétrer le fonctionnement en envoyant des commandes I2C ou série. Voici un exemple de commandes envoyées par le moniteur série Arduino

Clock Generator Serial Interface

Générateur d’Horloge – interface série

Clock Generator - BNC Connectors

Générateur d’Horloge – connecteurs

Connecteurs BNC en option

Tous les utilisateurs n’auront peut-être pas besoin des connecteurs BNC où peuvent en avoir en stock. Donc la carte peut être livrée avec ses connecteurs PCB et soit:

  • Sans connecteurs BNC
  • Ou avec 3 connecteurs BNC robustes entièrement en métal

Spécifications techniques

Spécifications techniques ClockGen v1.0
Nombre d'horloges3
Plage de fréquences2.5 KHz - 100 MHz (toutes)
2.5 KHz - 225 MHz (une horloge)
Rapport cyclique45-55% à moins de 60 MHz
40-60% au-dessus de 160 MHz
Résolution1 Hz dans le programme fourni
0.01 Hz possible
Exactitude+/- 7 ppm exactitude sur la fréquence
+/- 15 ppm sur la plage de température de fonctionnement (- 40°c to 85°c)
+/- 3 ppm vieillissement par an
Etalonnage: +/- 29 ppm pour compenser
Niveau de sortieCMOS
Puissance du signal2, 4, 6 ou 8 mA
DéphasageAu-dessus de 8 MHz, au moins 90 degrés. A toute fréquence: opposition de phase.
MémorisationConfiguration courante.
2 autres emplacements.
ConnectivitéUSB
I2C
SWD
SERIAL
Alimentation5V USB
4.5V à 15 V sur le connecteur d' alimentation
Consommation: 70 mA
Dimensions et poids96 x 65 x 29 mm
84 grammes avec les connecteurs BNC
Clock Generator with 2 clocks in phase opposition@ 54.600 MHz

Générateur d’Horloge avec 2 horloges en opposition de phase à 54.600 MHz