Electronique > Bases > CD4059 - Mise en oeuvre

Dernière mise à jour : 11/12/2011

Présentation

Le circuit intégré CD4059 est un diviseur de fréquence programmable, que j'ai utilisé pour mon générateur HF 001. Vous trouverez sur cette page quelques informations décrivant comment l'utiliser, avec plusieurs exemples pratique de programmation avec des taux de division divers. Bien entendu, je n'ai rien inventé, et je me contente ici de "condenser" les informations disponibles à gauche et à droite. En les traduisant quand je le juge nécessaire ;-)

Vue générale

Le CD4059 est un "gros" circuit intégré, qui comporte 24 pattes. Pourquoi autant de pattes ? Parce que la programmation du facteur de division opérée par le circuit se fait par le biais d'un certains nombre d'entrées, 16 + 3 pour être précis, chaque entrée devant être câblée soit au +Alim, soit à la masse. La mise en oeuvre du circuit implique de connaitre le rôle de chaque entrée, pour savoir comment les relier. Le schéma qui suit montre comment expérimenter avec le CD4059 : un ensemble de microswitches (interrupteurs miniatures) est utilisé pour changer rapidement l'état logique de toutes les entrées qui peuvent avoir une influence sur le taux de division (ensembles de switches SW1 et SW2) ou sur le mode de fonctionnement (ensemble de switches SW3). Une fois le circuit intégré maîtrisé, tout ou partie de ces microswitches peut être remplacé par un cablage en dur (non modifiable facilement), tout dépendant du but final de votre application (facteur de division modifiable ou non par l'utilisateur final).

cd4059_001a

Convention de représentation des switches
Dans les lignes qui suivent, la position des microswitches est représentée par leur partie noire. Quand la partie noire de l'interrupteur est du côté ON (à gauche), un état logique haut est envoyé sur l'entrée correspondante du CD4059. Cet état logique haut est représenté par un petit carré rouge. Quand la partie noire de l'interrupteur est du côté OFF (à droite), un état logique bas est appliqué à l'entrée correspondante du CD4059, du fait de la présence des résistances de rappel cablées à la masse (RP1, RP2 et R1 à R3). Cet état logique bas est représenté par un petit carré bleu.

microswitches_convention_on_off_001

Sélection de mode

Le compteur CD4059 est capable d'effectuer une division dont le facteur est compris entre 3 et 15999, en utilisant cinq sections de comptage internes indépendantes.
- La première section de comptage peut être configurée en mode de division par 10, par 8, par 5, par 4 ou par 2, et est accessible de l'extérieur du circuit par l'intermédiaire des entrées J1 à J4. Parmi les entrées J2 à J4, certaines ne sont pas utilisées dans certains modes de fonctionnement, et quand c'est le cas, celles qui ne sont pas utilisées par la première section de comptage le sont par la cinquième section de comptage (voir Nota 1).
- La seconde section de comptage peut diviser entre 1 et 10, et est accessible de l'extérieur du circuit par l'intermédiaire des entrées J5 à J8.
- La troisième section de comptage peut diviser entre 1 et 10, et est accessible de l'extérieur du circuit par l'intermédiaire des entrées J9 à J12.
- La quatrième section de comptage peut diviser entre 1 et 10, et est accessible de l'extérieur du circuit par l'intermédiaire des entrées J13 à J16.
- La cinquième section de comptage peut être configurée en mode de division par 1, par 2, par 4 ou par 8, et est accessible de l'extérieur du circuit par l'intermédiaire des entrées J2 à J4 (utilisation de ces entrées "en parallèle" de la première section de comptage). Parmi ces entrées J2 à J4, certaines ne sont pas utilisées dans certains modes de fonctionnement, et quand c'est le cas, celles qui ne sont pas utilisées par la cinquième section de comptage le sont par la première section de comptage (voir Nota 1).
Nota 1 : aucune des entrées J1 à J4 n'est utilisée en même temps par les première et cinquième section de comptage. Quand une entrée est utilisée par une section, elle n'est pas utilisée par l'autre. L'entrée J1 est toujours utilisée par la première section de comptage et jamais par la cinquième section.
L'étendue (ou plage) du facteur de division dépend de l'état logique des entrées KA, KB et KC, qui sur le schéma précédent dépend de la position des switches SW3. Le tableau qui suit décrit le mode de fonctionnement du compteur en fonction de l'état logique de ces entrées. Le tableau est vrai pour entrée E (borne 2 du CD4059) fixée à l'état logique haut.

SW3
KC
KB
KA
Mode de fonctionnement
cd4059_001b_ka0kb0kc0
0
0
0
-
cd4059_001b_ka1kb0kc0 0
0
1
-
cd4059_001b_ka0kb1kc0 0
1
0
Première section de comptage : mode division = 10, décompte max. = 9.
Cinquième section de comptage : mode division = 1, décompte max. = 0.
Entrées J1, J2, J3 et J4 utilisées par la première section de comptage, aucune entrée utilisée par la cinquième section.
Plage du compteur : 9999 en normal et 16659 en étendu
cd4059_001b_ka1kb1kc0 0
1
1
Première section de comptage : mode division = 10, décompte max. = 9.
Cinquième section de comptage : mode division = 1, décompte max. = 0.
Entrées J1, J2, J3 et J4 utilisées par la première section de comptage, aucune entrée utilisée par la cinquième section.
Plage du compteur : 9999 en normal et 16659 en étendu
cd4059_001b_ka0kb0kc1 1
0
0
Première section de comptage : mode division = 8, décompte max. = 7.
Cinquième section de comptage : mode division = 2, décompte max. = 1.
Entrées J1, J2 et J3 utilisées par la première section de comptage, J4 utilisée par la cinquième section.
Plage du compteur : 15999 en normal et 21327 en étendu
cd4059_001b_ka1kb0kc1 1
0
1
Première section de comptage : mode division = 5, décompte max. = 4.
Cinquième section de comptage : mode division = 2, décompte max. = 1.
Entrées J1, J2 et J3 utilisées par la première section de comptage, J4 utilisée par la cinquième section.
Plage du compteur : 9999 en normal et 13329 en étendu
cd4059_001b_ka0kb1kc1 1
1
0
Première section de comptage : mode division = 4, décompte max. = 3.
Cinquième section de comptage : mode division = 4, décompte max. = 3.
Entrées J1 et J2 utilisées par la première section de comptage, J3 et J4 utilisées par la cinquième section.
Plage du compteur : 15999 en normal et 18663 en étendu
cd4059_001b_ka1kb1kc1 1
1
1
Première section de comptage : mode division = 2, décompte max. = 1.
Cinquième section de comptage : mode division = 8, décompte max. = 7.
Entrée J1 utilisée par la première section de comptage, J2, J3 et J4 utilisées par la cinquième section.
Plage du compteur : 15999 en normal et 17331 en étendu

Sélection du facteur de division

Le prépositionnement du compteur programmable sur un nombre n (pour une division par n) s'effectue de la façon suivante :
n = (MODE) * (1000 * prépos. section 5 + 100 * prépos. section 4 + 10 * prépos. section 3 + prépos. section 2 + prépos. section 1)
où MODE = mode de division la première section de comptage (10, 8, 5, 4 ou 2)

Calcul initial : on divise n par le mode de division spécifié pour la première section de comptage. Cela donne la valeur de prépositionnement des quatre dernières sections de comptage. Le reste de la division correspond au prépositionnement de la première section de comptage.

Exemple 1 - Diviseur par 8479 en mode 5
On veut que le compteur assure une division de la fréquence d'entrée par 8479 (n = 8479), et la première section de comptage est en mode de division par 5 (KA = 1, KB = 0 et KC = 1). On divise donc 8479 par 5, ce qui donne un entier de 1695, avec un reste égal à 4.
Pour rappel :
Première section de comptage : mode division = 5, décompte max. = 4.
Cinquième section de comptage : mode division = 2, décompte max. = 1.
Entrées J1, J2 et J3 utilisées par la première section de comptage, J4 utilisée par la cinquième section.
Donc :
- La cinquième section de comptage correspond aux milliers, ici valeur = 1, l'entrée J4 doit être positionnée à 1 (état logique haut).
- La quatrième section de comptage correspond aux centaines, ici valeur 6, les entrées J14 et J15 doivent être à 1, les entrées J13 et J16 doivent être à 0.
- La troisième section de comptage correspond aux dizaines, ici valeur 9, les entrées J9 et J12 doivent être à 1, les entrées J10 et J11 doivent être à 0.
- La deuxième section de comptage correspond aux unités, ici valeur 5, les entrées J5 et J7 doivent être à 1, les entrées J6 et J8 doivent être à 0.
- La première section de comptage correspond au reste, ici valeur 4, l'entrée J3 doit être à 1, les entrées J1 et J2 doivent être à 0.

Pour diviser par 8479 en mode 5, le positionnement des entrées doit donc correspondre au schéma suivant :

cd4059_001c

Vous devez certainement vous poser la question "Mais comment diable savoir si les entrées J1 à J16 doivent être mise à 1 ou à 0 ?". Il suffit en fait de considérer chaque groupe de 4 entrées (J1 à J4 pour la première section de comptage, J5 à J8 pour la deuxième section de comptage, etc) comme étant "attaché" à un des chiffres du nombre (n) de la division. Le reste est de la conversion décimale vers BCD. Exemple avec les entrées J5 à J8, le principe étant identique pour les autres groupes de quatre entrées :

/Valeur binaire
Valeur décimale
J8 (23 = 8)
J12 (23 = 8)
J16 (23 = 8)
J7 (22 = 4)
J11 (22 = 4)
J15 (22 = 4)
J6 (21 = 2)
J10 (21 = 2)
J14 (21 = 2)
J5 (20 = 1)
J9 (20 = 1)
J13 (20 = 1)
0
0
0
0
0
1 (1)
0
0
0
1
2 (2)
0
0
1
0
3 (2 + 1)
0
0
1
1
4 (4)
0
1
0
0
5 (4 + 1)
0
1
0
1
6 (4 + 2)
0
1
1
0
7 (4 + 2 + 1)
0
1
1
1
8 (8)
1
0
0
0
9 (8 + 1)
1
0
0
1

Exemple 2 - Diviseur par 1000 en mode 2
On veut que le compteur assure une division de la fréquence d'entrée par 1000 (n = 1000), et la première section de comptage est en mode de division par 2 (KA = 1, KB = 1 et KC = 1). On divise donc 1000 par 2, ce qui donne un entier de 500, avec un reste égal à 0.
Pour rappel :
Première section de comptage : mode division = 2, décompte max. = 1.
Cinquième section de comptage : mode division = 8, décompte max. = 7.
Entrée J1 utilisée par la première section de comptage, J2, J3 et J4 utilisées par la cinquième section.
Donc :
- La cinquième section de comptage correspond aux milliers, ici valeur = 0, les entrée J2, J3 et J4 doivent être positionnée à 0 (état logique bas).
- La quatrième section de comptage correspond aux centaines, ici valeur 5, les entrées J13 et J15 doivent être à 1, les entrées J14 et J16 doivent être à 0.
- La troisième section de comptage correspond aux dizaines, ici valeur 0, les entrées J9, J10, J11 et J12 doivent être à 0.
- La deuxième section de comptage correspond aux unités, ici valeur 0, les entrées J5, J6, J7 et J8 doivent être à 0.
- La première section de comptage correspond au reste, ici valeur 0, l'entrée J1 doit être à 0.

Pour diviser par 1000 en mode 2, le positionnement des entrées doit donc correspondre au schéma suivant :

cd4059_001d

Exemple 3 - Diviseur par 876 en mode 2
On veut que le compteur assure une division de la fréquence d'entrée par 876 (n = 876), et la première section de comptage est en mode de division par 2 (KA = 1, KB = 1 et KC = 1). On divise donc 876 par 2, ce qui donne un entier de 438, avec un reste égal à 0.
Pour rappel :
Première section de comptage : mode division = 2, décompte max. = 1.
Cinquième section de comptage : mode division = 8, décompte max. = 7.
Entrée J1 utilisée par la première section de comptage, J2, J3 et J4 utilisées par la cinquième section.
Donc :
- La cinquième section de comptage correspond aux milliers, ici valeur = 0, les entrée J2, J3 et J4 doivent être positionnée à 0 (état logique bas).
- La quatrième section de comptage correspond aux centaines, ici valeur 4, l'entrée J15 doit être à 1, les entrées J13, J14 et J16 doivent être à 0.
- La troisième section de comptage correspond aux dizaines, ici valeur 3, les entrées J9 et J10 doivent être à 1, les entrées J11 et J12 doivent être à 0.
- La deuxième section de comptage correspond aux unités, ici valeur 8, l'entrée J8 doit être à 1, les entrées J5, J6 et J7 doivent être à 0.
- La première section de comptage correspond au reste, ici valeur 0, l'entrée J1 doit être à 0.

Pour diviser par 876 en mode 2, le positionnement des entrées doit donc correspondre au schéma suivant :

cd4059_001e

Historique

11/12/2011
- Correction erreur poids fort / poids faible dans tableau donné dans l'exemple 1, pour les entrées J5 à J8. J'y précisais que l'entrée J8 était le poids faible alors qu'il s'agissait du poids fort.
- Ajout exemple de division par 876. Spécialement à l'attention de Marc B., qui souhaitait confirmation avant de s'attaquer aux différents étages diviseurs de fréquences nécessaires pour produire les 12 notes musicales de base à partir d'un oscillateur maître de 4 MHz.