Circuits séquentiels complexes

publicité
Circuits séquentiels complexes
Réalisé à partir des bascules élémentaires, des fonctions logiques séquentielles plus élaborées que
ces dernières sont intégrées dans des circuits. Nous nous intéresserons ici particulièrement aux
registres et aux compteurs. A titre indicatif une référence de circuit est donnée pour chaque fonction ;
on rappelle cependant que ces références correspondent à des circuits aujourd’hui obsolètes pour
une nouvelle conception, la facilité de mise en œuvre des circuits configurables les rendant
maintenant préférables aux circuits à architecture figée.
1. Registres
Le registre assure la mémorisation d'
un mot binaire (et éventuellement sa transformation). Il existe
plusieurs type de registre.
1.1. Registres parallèles (storage registers)
Il est composé de bascule D montée en parallèle avec l'
entrée d'
horloge commune.
horloge
D0
D
Q
Q0
Q
Q1
C
D1
D
C
.
.
.
.
Dn
.
.
.
.
D
Q
.
.
.
.
Qn
C
Les entrées D des bascules sont généralement reliées à un bus. Au front actif de l'
horloge, le mot
présent sur le bus est alors mémorisé jusqu'
au prochain coup d'
horloge. On parle de registre à
entrées et sorties parallèles, comme l’intègre le circuit 74HC166.
On réalise sensiblement la même fonction en utilisant des bascules D à verrouillage, la mémorisation
se faisant alors lorsque l'
entrée de chargement repasse à 0, le circuit étant "transparent" (c'
est à dire
entrées D et sorties Q égales) lorsque cette dernière est au niveau logique 1. On utilise alors le terme
"verrou" pour différentier du registre. Le circuit : 74HC373 est par exemple un verrou 8 bits (octal Dtype transparent latches)
1.2. Registres à décalage (shift registers)
En reliant dans le schéma précédent la sortie des bascules à l'
entrée de la suivante, on obtient à
chaque coup d'
horloge un décalage vers la droite des bits contenus dans le mot. Le registre obtenu
est alors à entrée et sortie série.
Denis Rabasté ; IUFM Aix Marseille
1/1
circuits séquentiels complexes
entrée
série
D
Q
Q0
D
Q
Q1
D
C
C
Q
C
Q n sortie
série
horloge
Plusieurs applications sont possibles :
- réalisation d'
une ligne à retard numérique, un bit mettant N fois la période de l'
horloge pour
traverser le registre de N bascules.
- division par deux d'
un nombre binaire. Avec les registres à décalage commercialisés, on a
parfois accès directement aux entrées et sorties des bascules; il est alors possible de se
servir du circuit comme d'
un registre parallèle, de charger un mot, d'
effectuer un décalage à
droite, puis de lire le mot sur les sorties. En forçant l'
entrée de la première bascule à 0, la
valeur binaire contenue dans le registre est alors divisée par deux à chaque coup d'
horloge.
- conversion pour les communications séries. L'
échange de mots binaires entre deux
systèmes numériques peut se faire en parallèle (un fil par bit plus la masse) ou en série (un fil
et la masse). Il est alors nécessaire pour l'
émetteur d'
envoyer tous les bits d'
un mot les uns
après les autres. On charge pour cela le mot à émettre dans un registre, puis par décalage les
bits passent par la sortie série. De son coté, le récepteur les reçoit par l'
entrée série d'
un
registre identique et recompose le mot également par décalage; il suffit alors de lire les sorties
des bascules du registre récepteur.
transm ission
des données
ém etteur
récepteur
............
............
chargem ent
des données
réception
des données
Il est également possible de réaliser un décalage à gauche en reliant les entrées de chaque bascule à
la sortie de la suivante.
entrée
série
sortie
série
D
Q
C
D
Q
C
Q1
D
Q
Qn
C
horloge
Denis Rabasté ; IUFM Aix Marseille
2/2
circuits séquentiels complexes
L'
application principale est la multiplication par deux à chaque coup d'
horloge de la valeur binaire
contenue dans le registre.
1.3. Registres universels
Certains circuits intégrés réalisent toutes les fonctions décrites ci-dessus; on parle alors de registre
universel : suivant les signaux appliqués sur des entrées de commande, un système combinatoire
interne relie les bascules de manière à obtenir la fonction désirée. Exemple de référence : le circuit
74HC299, registre universel de 8 bits (8-bit universal shift/storage registers).
2. Compteurs
Ces circuits sont très importants en électronique numérique. Leur rôle ne se limite pas à compter des
impulsions électriques correspondant par exemple au passage d'
une pièce sur le tapis d'
une chaîne
de montage ou au nombre de tour d'
une roue dont on veut connaître la vitesse, ils permettent
également d'
établir un ordre dans une succession d'
événements. C'
est par exemple, grâce à
l'
utilisation d'
un compteur (entre autres) qu'
un microprocesseur peut effectuer toutes les tâches d'
un
programme, les unes après les autres dans le bon ordre.
La topologie de base des compteurs est toujours à peu près la même :
- une entrée d'
horloge recevant les impulsions à compter
- N sorties sur lesquelles se trouve le résultat du comptage en binaire, en BCD ou dans un
code quelconque (en décimal par exemple avec une seule des 10 sorties au NL 1)
Le nombre d'
états possibles sur les sorties d'
un compteur binaire est exprimé par son modulo : un
compteur de modulo M compte de 0 à M - 1.
Comme pour les bascules, il existe deux types de compteur : asynchrone et synchrone. Le premier
comme nous le verrons est très simple à réaliser, mais certaines limitations ont conduit à la mise au
point du second.
2.1. Compteurs asynchrones
L'
élément de base est la bascule D ou JK montée en diviseur de fréquence par deux.
entrée
D
Q
C
Q
sortie
entrée
1
J
Q
sortie
C
1
K
C
0
t
0
t
Q
On remarque en effet que dans cette configuration, le signal sur la sortie du compteur est de
fréquence deux fois plus faible que celui sur l'
entrée d'
horloge. En associant ces bascules en
cascade, on obtient sur les sorties un mot binaire dont la valeur est fonction du nombre d'
impulsions
apparues à l'
entrée (l’indice de la sortie correspondant à la puissance de deux associée à la sortie).
Denis Rabasté ; IUFM Aix Marseille
3/3
circuits séquentiels complexes
Q0
D
horloge
Q1
Q
C
D
Q
C
Q
Q
D
Q
C
Q
2
Q
horloge
0
1
2
3
4
5
6
t
7
Q0
0
t
0
t
0
t
Q1
Q
2
Si le compteur comprend N bascules, son modulo est 2N, (le comptage s'
effectuant de 0 à 2N - 1).
Pour obtenir un modulo M inférieur, il suffit de détecter à l'
aide de portes l'
état M - 1 et de mettre les
bascules à 0 lors de l'
impulsion suivante. C'
est de cette manière que l'
on réalise un compteur BCD en
remettant à zéro un groupe de quatre bascules toutes les dix impulsions.
Si on utilise des bascules déclenchant sur front montant, on obtient alors un décompteur.
Q0
D
horloge
Q1
Q
C
D
Q
C
Q
Q
D
Q
C
Q
2
Q
horloge
0
7
6
5
4
3
2
1
0
t
Q0
0
t
0
t
0
t
Q1
Q
2
La configuration asynchrone présente une grande simplicité, mais son utilisation est limitée par
l'
apparition d'
états instables au moment des transitions. Prenons l'
exemple du compteur lors de
Denis Rabasté ; IUFM Aix Marseille
4/4
circuits séquentiels complexes
l'
arrivée de la quatrième impulsion : le nombre trois étant présent en sortie (état stable), l'
impulsion
provoque le passage à 0 de la première bascule (on retrouve alors le nombre 2 sur la sortie du
compteur), ce qui provoque le passage à 0 de la seconde bascule (on lit alors 0 en sortie du
compteur), ce qui provoque la mise à 1 de la troisième bascule, le nombre 4 (état stable) pouvant
alors être lu en sortie. Les nombres 2 et 0 n'
apparaissent que pendant un temps très court
correspondant au temps de propagation des bascules, mais cela peut être très gênant pour certaines
applications. Aussi l'
utilisation de ces compteurs est souvent limitée à la division de fréquence : on
remarque en effet que sur la sortie de la bascule N on obtient un signal de fréquence 2N fois plus
faible que le signal d'
horloge. Cette propriété est utilisée par exemple lorsque l'
on souhaite avoir un
signal carré de fréquence basse stable et précise: on réalise alors un oscillateur à quartz dont la
fréquence est élevée (pour des raisons mécaniques il est impossible de réaliser des quartz basse
fréquence) puis on utilise un compteur asynchrone pour diminuer la fréquence. Le circuit 74HC4060
comprend par exemple une section oscillateur suivi de 14 étages montés en diviseur de fréquence par
2.
2.2. Compteurs synchrones
Le seul moyen d'
éviter le problème des compteurs asynchrone est de faire en sorte que les bascules
changent d'
état en même temps. Pour cela les entrées d'
horloge de celles-ci doivent être reliées
ensemble (comme pour les registres). Le basculement de chaque élément est alors autorisé ou non
par des portes logiques en fonction de l'
état du compteur. On obtient alors un schéma beaucoup plus
compliqué que les précédents.
2.3. Fonctions annexes
A l'
intérieur des compteurs autour des bascules est organisé un certain nombre de circuits logiques
combinatoire ou séquentiels permettant la réalisation de fonctions annexes :
- choix du mode de comptage; entre du binaire et du BCD par exemple par une entrée
BIN/BCD (comptage binaire si NL1 et BCD si NL0).
- choix du comptage ou décomptage par entrée UP/DOWN par exemple.
- possibilité par l'
intermédiaire d'
entrées et de sorties de mettre plusieurs compteurs en
cascade de manière à augmenter le modulo de l'
ensemble.
- certains compteurs possèdent un registre de sortie permettant de mémoriser le résultat à un
moment donné tandis que le comptage continue.
- enfin certains compteurs sont programmables, c'
est à dire qu'
il est possible de commencer
le comptage ou le décomptage à partir de n'
importe quel nombre chargé préalablement. Le
chargement peut se faire de manière synchrone (c'
est à dire au front actif de l'
horloge, lorsque
l'
entrée ordonnant le chargement est au niveau actif) ou asynchrone (c'
est à dire lorsque
l'
entrée ordonnant le chargement est au niveau actif). Citons par exemple le circuit
74HC40103.
Denis Rabasté ; IUFM Aix Marseille
5/5
Téléchargement