Diviseur fréquence 4

Ce diviseur de fréquence possède un facteur de division ajustable entre 1 et 65535, par le biais de microswitches et de compteurs binaires de type CD4040. Il a servi de base à mon générateur d'impulsion 4.

Le schéma

Le schéma du diviseur se présente ainsi. 

diviseur_frequence_004

Principe général

L'idée de base est de procéder à un comptage d'impulsions en partant de zéro et en allant jusqu'à une valeur comprise entre 1 et 65535 et choisie par l'utilisateur. Une fois la valeur choisie atteinte, le compteur est remis à zéro et repart pour un tours. Les impulsions de remises à zéro corresponde alors au signal de sortie, dont la fréquence est égale à la fréquence du signal d'entrée divisée par la valeur spécifiée.

Le comptage

Le comptage doit pouvoir aller jusqu'à 65535, ce qui impose une largeur binaire de 16 bits. Comme je n'ai pas trouvé de compteur binaire possédant de base 16 bits de sorties, je me suis rabattu sur deux compteurs de type CD4040 mis en cascade, la dernière sortie du premier compteur (Q11) aboutissant sur l'entrée horloge du second. Ici, pas d'utilisation possible de CD4020 ou CD4060, auxquels il manque quelques sorties intermédiaires. Ces deux compteurs permettraient d'aller jusqu'à 24 bits mais il ne faut tout de même pas trop exagérer...

Détection fin de comptage avec porte AND musclée

Le but consiste à détecter quand le nombre diviseur que l'on a spécifié est atteint. Par exemple, si on programme le nombre 5, il nous faut une information qui revienne toutes les 5 impulsions d'horloge (signal d'entrée à diviser). Cette information doit en même temps remettre à zéro les compteurs. La solution la plus logique consiste à employer une porte AND dont le nombre d'entrées est au moins égale au nombre de bits qui sont actifs (à l'état logique haut) pour le nombre choisi. Pour le nombre 1, un seul bit est nécessaire, alors que pour le nombre 7, trois bits sont nécessaires. Comme le nombre de bits activés dépend du nombre diviseur choisi et qu'il peut varier entre 1 bit (division par 1) et 16 bits (division par 65535), il nous faut une porte AND dont le nombre d'entrées est variable, ce qui n'existe pas. En revanche, on peut prendre une porte AND à 16 entrées et n'en utiliser que certaines, celles qui ne sont pas utilisées étant alors forcées à l'état logique haut. A priori rien de bien compliqué, si ce n'est que l'on travaille sur une largeur de "bus" de 16 bits et qu'il n'existe pas (à ma connaissance tout du moins) de porte AND possédant autant d'entrées. Il nous faut donc créer cette porte AND avec plusieurs portes logiques "plus petites" ou avec des diodes (paragraphe suivant). J'ai choisi au départ d'utiliser deux portes NAND à 8 entrées, suivies de portes à deux entrées destinées à former un tout comparable à une unique grosse porte AND à 16 entrées. Notez bien que j'ai employé les deux termes AND et NAND, il n'y a pas d'erreur dans le texte... 

Détection fin de comptage avec diodes

Pour la version à diodes, bien plus simple, voici le schéma :

diviseur_frequence_004b

Merci à Xavier qui a pris le temps de m'écrire pour me faire cette suggestion. A croire que j'ai pris goût à compliquer les choses... et à demander aux autres de réfléchir plus que de besoin ;-)

Remarque : si vous souhaitez réduire le comptage (et donc le facteur de division) à la valeur maximale de 255, un bus de 8 bits suffit et vous pouvez alors vous contenter d'un seul compteur CD4040, d'une seule porte AND à 8 entrées et d'un seul ensemble de 8 microswitches. Ou de 8 diodes.

 

 

 

Accuil