Beruflich Dokumente
Kultur Dokumente
doc 1
Poly 2
Logique Séquentielle
Par G. PALLOT
SOMMAIRE
1. INTRODUCTION A LA LOGIQUE SEQUENTIELLE 5
1.1. Généralités 5
1.2. Circuits séquentiels élémentaires 7
1.2.1. La bascule RS, ou Latch, ou Verrou. 7
1.2.2. Bascule RS synchronisée sur horloge à niveau : RSH 9
1.2.3. la bascule D à horloge à Niveau 9
1.2.4. Historiques bascules maître-esclave 10
1.2.5. Bascules D à front 11
1.2.6. Bascules D à front et entrée de validation E 12
1.2.7. Historiques et ‘Moyenâgeuses’ Bascules JK 13
1.2.8. Compteur 1 bit, bascule D montée en « Toggle » 13
1.2.9. Compteur élémentaire 1 bits à validation 14
1.3. Registre à décalage Synchrone, bascules D à front en cascade 16
8. DECOMPTEURS SYNCHRONES 39
8.1. Binaire : principe de base à partir de compteurs 1 bit à validation 39
8.2. DCB 4 bits à partir d’un décompteur binaire 4 bits 39
8.3. Décompteurs à partir de compteurs binaires 40
8.3.1. Décompteur binaire 40
8.3.2. Décompteur DCB 40
Dans un circuit combinatoire, une sortie est uniquement fonction des entrées. Par contre,
dans un circuit séquentiel, une sortie est une fonction des entrées mais aussi des sorties
précédentes du circuit. Il y a rétroaction des sorties sur les entrées.
Ceci permet de réaliser entre autre la fonction de base de tout système numérique : la
fonction mémoire.
1.1. Généralités
Système
Ensemble de circuits logiques assurant un cahier des charges donné.
Exemple très simple : un compteur 4 bits (de 0 à 15) avec entrée de comptage et de remise
à zéro.
Selon les valeurs de toutes ces variables logiques, le système ou une partie du système se
trouve dans différents états.
Certains états peuvent être instables et durer le temps nécessaire à la commutation de
tous les circuits, ordre de grandeur pour des circuits logiques classiques : quelques ns (nano-
secondes ) à quelques dizaines de ns.
Exemple de la remise à zéro de notre compteur 4 bits,et si celle-ci agit immédiatement :
étudions les 4 bits de sortie et la commande de remise à zéro :
Etat stable 0111 0
Etat instable 0111 1 demande de remise à zéro
Etat stable suivant 0000 0
Exemple de trois variables quelconques devant passer par exemple de 011 à 100. On peut
imaginer, si la commutation n’est pas quasi simultanée, des états intermédiaires instables (en
petits caractères), ne durant que quelques nanosecondes :
011 010 000 100 ou bien 011 111 101 100 ou …..
Horloge
On nomme horloge un signal qui déclenche ou cadence quelque chose.
Cadence régulière : lente ou rapide (de moins de 1 Hz à plusieurs centaines de MHz, cela
dépend des systèmes).
Cadence irrégulière, l’action sur un simple bouton poussoir peut parfois être considéré
comme un signal d’horloge.
Systèmes Asynchrones
- Les sorties des circuits logiques peuvent changer à tout moment dès qu’une ou
plusieurs entrées se modifient, avec des temps de propagation variables.
- Elles ne changent donc pas toutes en même temps, les temps de propagation
étant différents.
- Plusieurs horloges peuvent exister, à la limite une par circuit.
Sorties :
Système Variables
Entrées (Directement
utiles)
Variables internes
Plusieurs horloges possibles
Systèmes Entièrement synchrone
- Les entrées préparent le système complet à changer d’état.
Sorties :
Système Variables
Entrées (Directement
utiles)
Types d’entrées
- A action Synchrone
Elle prépare le circuit pour éventuellement changer d’état sur l’évènement horloge suivant.
- A action Asynchrone
Elle agit immédiatement (après juste un temps de propagation). Leur emploi est donc
limité lorsque l’on conçoit des systèmes totalement synchrones.
Horloge
- Action sur Front. C’est la transition montante (ou descendante) qui constitue
l’évènement et provoque éventuellement les changements d’états.
La plupart des circuits logiques séquentiels possèdent une entrée horloge sur front.
D’ou le montage, Qn+1 et Qn sont en fait physiquement la même variable logique Q prise
à deux instant différents, donc la même ligne.
S
Q Q = S + Q.R = S . (Q.R)
On s’aperçoit que cette fonction de
74LS00N
base est plus simple à réaliser avec en
entrée des variables en logique négative :
S et R plutôt que S et R.
R
Q sauf dans On voit aussi apparaître une variable
74LS00N le cas non secondaire (sortie de la porte du bas).
utilisé ! Sauf pour le cas normalement non utilisé
de mise à 0 et à 1 simultanément, cette
sortie est l’inverse de l’autre (facile à
vérifier)
On notera pourtant cette seconde sortie Q , en sachant que ce n’est pas mathématiquement
exact ! En effet pour le cas non utilisé, les deux sorties sont égales et à 1 !
Ce cas peut d’ailleurs être dangereux, car après avoir actionnées en même temps les deux
entrées, le circuit peut prendre aléatoirement l’un ou l’autre état au moment ou elles
redeviennent inactives, en fonction aussi du décalage temporel éventuel, même très faible,
entre les deux entrées.
R
Autre forme possible, avec entrées en logique Q
74LS02
positive
(mais les portes NOR sont moins polyvalentes que
les portes NAND)
Q
S 74LS02
Ces circuits sont asynchrones à action sur niveau, pas de notion d’horloge.
N’existe pas en circuit intégré. Existe en composant pour la logique programmable.
Exemples d’applications : :
1
R 2 3
1
R 2 3
10 kohm
10 kohm
5V VCC
5V VCC
Autre exemple à faire en exercice : une minuterie, mise à UN sur un bouton poussoir,
mise à ZERO sur un niveau indiquant la fin du comptage du temps (sans ajouter ici de
compteurs). On pourrait faire plusieurs câblages possibles selon les signaux (actifs à 1 ou 0).
R S H Qn+1 Fonction : S s
X X 0 Qn mémoire Q
0 0 1 Qn mémoire
H
0 1 1 1 mise à 1
1 0 1 0 mise à 0 Q
1 1 1 X interdit R r
H H Q
On pose S = D et R = D .
Elle permet la recopie (mémorisation) de D vers Q sur une impulsion de H
On a toujours R.S = 0.
Il réalise la fonction Q n+1 = H.Q n + H.D (la table de vérité compacte serait facile à
écrire, avec en entrée la seule vraie commande H, en sortie Qn+1, et comme valeurs internes :
0, 1, Qn et D).
E1
E1 E2 E3 tP
D Q D Q
H H E2
E3 tP
H Réel !
Désiré
D Q tP
Q désiré
H Q
H Q réel
Ces bistables à niveau sont encore utilisés, le mode transparent peut parfois etre
utile. Mais il est nécessaire de définir un nouveau circuit pour travailler
correctement en logique synchrone : la bascule à horloge à front.
Le niveau haut de H rend transparent le maître, le niveau bas l’esclave. Donc plus de mode
transparent. On peut cascader ces circuits et faire des rétroactions. Mais les entrées doivent
être stables durant tout le niveau haut pour éviter des aléas de prise en compte. Délicates à
exploiter. Abandonnées.
D Q D Q
H Q H Q
D’un point de vue purement théorique (il ne s’agit pas du montage utilisé réellement),
on peut voir une bascule D commandée par un front montant de la manière suivante :
D s
H Q
H’
H Schéma
tPCk
De
principe
(Non réel)
H
Q
H
H’ r
tP Ck
Set
Exemple : D
Circuit 74LS74 avec 4 bascules D, 4 entrées Q
Ck. Clr et Set t Clk commune. Ck
Q
D est une entrée a action synchrone de Ck. Clr
Clr et Set sont des entrées à action
asynchrone.
Très important !
On s’aperçoit, et ce point est fondamental : dans une logique synchrone à front, on ne met
jamais l’horloge H dans les équations !
ET d Montage ci-contre :
Q
D Avec signal de mise à
Ck zéro synchrone ajouté.
Ck Q
Clr
Table de vérité :
Cas important
D Q tP
Q
Ck Q
On note le petit retard entre les fronts montants de Ck et la sortie Q (Raison physique
évidente, ordre de grandeur quelques nanosecondes). On peut ne pas le représenter, mais le
faire apparaître évite souvent des erreurs de tracé de chronogrammes.
Applications bêtes :
Division par deux de fréquence ! Visible sur le dessin
Allumer et éteindre successivement par appui sur un bouton poussoir :
Vers diode électroluminescente ou
Bouton poussoir avec lampe (avec interface de puissance !)
anti-rebond à bascule RS D Q
Ck Q
Sinon, peu pratique, il manque une entrée de validation.
A chaque front actif de Ck, la sortie Q doit changer d’état ou rester inchangée.
Il faut donc un circuit à effet Toggle, munis d’une entrée de validation E (Enable)
Set
On garde les entrées Clr et Set comme
entrées à action asynchrones.
E + d D Q
à front
Ck Q
Clr
Ce montage équivaut donc à celui qui Montage Obsolète :
était utilisé du temps des JK : Set
E
J JK Q
Ck à front
K Q
Clr
On peut facilement ajouter des portes pour obtenir une entrée de mise à zéro synchrone
ou (et) de chargement synchrone. On peut le faire en exercice avec une table de vérité ou
directement un diagramme de Karnaught compact à 2 entrées (E et Raz) ou 3 entrées (E,
Raz et Load)
Q+ Q+
Karnaught Compact Karnaught complet
Avec l’un ou l’autre des diagrammes, on trouve d = Q E + Q.E.Raz (au lieu de
d = E Q + E.Q ). On voit bien l’intérêt du diagramme compact, plus simple à écrire !
ES d0 Q0 d1 Q2 d2 Q2 ES
tP
Ck Ck Ck
Q0
H Q1
Q2
ES d0 Q0 d1 Q2 d2 Q2
Ck Ck Ck
H
Application : avec 8 bascules, chargement d’un octet en parallèle, décalage et sortie en série
sur un fil de chaque bit (principe de base des liaisons série entre ordinateur et imprimante
série).
Etude par un diagramme de Karnaugh Compact : Load Qi+
Une seule commande Load donc 2 cases. C’est donc juste une
simple table de vérité à une entrée. 0 Qi-1
Si Load = O Décalage ; Qi+ = Qi-1
Si Load= 1 Chargement de Di, donc Qi+ = Di 1 Di
di = Qi +1 = Load .Qi −1 + Load .Di
D’où le câblage évident non fourni ici.
Entrée de remise à zéro synchrone (agissant au niveau des entrées di). Simple porte ET
pour forcer à zéro les di.
Entrées à action asynchrone :
Soit de remise à zéro asynchrone (agissant au niveau des Clr des bascules), ainsi
qu’une mise à zéro automatique à la mise sous tension par réseau RC (voir la technique
plus loin paragraphe 3.4.1 et 3.4.1).
Soit de chargement asynchrone d’une valeur fixe ou non (agissant alors sur les
entrés asynchrones Clr et Set des bascules).
Autres possibilités : Entrée de validation du décalage E, une entrée M pour sélectionner
un décalage droite ou un décalage gauche, etc, etc…
Pr Pr Pr Pr
D Q D Q D Q D Q
Ck Ck Ck Ck
Cl Q Cl Q Cl Q Cl Q
Ck
E Q0 Q1 Q2 Q3
(validation éventuelle)
Montage HORRIBLE en logique
Synchrone ! ! !
Mais ici passable …
Q3 Q2 Q1 Q0 état On peut en réaliser, mais on en
0 0 0 0 0 trouve dans le commerce tout prêt, à
0 0 0 1 1 12, 14 bits et plus.
0 0 1 0 2
0 0 1 1 3
Ils sont pratiques pour faire juste
0 1 0 0 4 une division de fréquence, mais ils
0 1 0 1 5 ont les défauts de l’asynchrone. Eviter
0 1 1 0 6 donc le plus possible de les utiliser
0 1 1 1 7 autrement !
1 0 0 0 8
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11
1 1 0 0 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15
0 0 0 0 retour à Zéro etc ...
Avantage :
Simplicité !
On ajoute une entrée E de validation générale aisément :
- En utilisant une bascule Q0 avec entrée de validation
- Ou encore plus simple (Cf schéma) et pas trop affreux puisque l’on est en
asynchrone, en attaquant le montage par un ET entre E et Ck.
Inconvénient :
Les Temps de retard entre Ck et Q s'ajoutent, un dessin en HF montre alors des états
parasites de commutation, de durée très court en absolu, mais qui peuvent être parfois très
gênants :
Tp Ck toQ
Ck
Tp Ck toQ
Q0
Q1
Q2
1 2 3 2 0 4 5 6
N° 0 0
d'états
états parasites
transitoires
Si on monte en fréquence, les "états de commutation " peuvent prendre de plus en plus
de l'importance !
- Si on n'effectue qu'une division de fréquence, ils ne sont pas du tout gênants, et on
obtient la structure de diviseur de fréquence la plus rapide:
la Fmax de l'ensemble = Fmax de la bascule Q0, de poids faible.
- Si on veut exploiter les états (par une fonction logique décodant un état), les états de
commutation peuvent être néfastes !, même en basse fréquence, ils sont courts mais
existent, en HF ils peuvent même devenir prépondérant pour un compteur sur un plus grand
nombre de bits. Il faudra surtout utiliser ces états quand ils sont stabilisés. (on peut par
exemple compter sur un front et échantillonner en plus par une bascule D active sur l'autre
front, dans le cas ou la somme des ‘Temps ck à Q’ ne dépasse pas TCk/2).
Q3
7 6 4 0 8
ETATS VOULUS
états parasites
Logique Logique
Entrées Registre Sorties
combinatoire combinatoire
Xi d’état Zk
déterminant de sortie
(bascules)
l’état suivant
(entrées des
bascules)
horloge
Contre-réaction d’états
• la machine de Mealy. Les sorties dépendent de l’état présent n mais aussi de la valeur des
entrées. La sortie peut donc changer de manière asynchrone en fonction de la valeur des
entrées. Il existe une variante synchrone de la machine de Mealy avec un registre placé sur
les sorties et activé par l’horloge. Toutefois, la machine de Moore est plus adaptée pour
réaliser une machine d’état totalement synchrone.
Entrées Sorties
Logique
Xi Zk
combinatoire
déterminant
l’état suivant
Registre
et les sorties
d’état
(bascules)
horloge
Contre-réaction d’états
horloge
On débute l’étude par le codage des états. Des séquences usuelles sont présentées dans le
tableau ci-dessous (sur 3 bits par exemple). Pour répondre à un besoin spécifique, tout autre
combinaison des sorties est possible et peut constituer un cycle de m états avec m ≤ 2n.
Cette méthode des machines d’états ne sert en fait que pour des touts petits compteurs, ou
bien pour des séquences quelconques. Pour des compteurs en binaire naturel, complet ou
incomplet (tel que le compteur Décimal Codé Binaire), il sera bien plus judicieux de partir du
compteur élémentaire un bit et de généraliser.
Q1+ Q0+
3) Démarrage et état 0 ?
Une simplification au maximum peut poser des problèmes de démarrage : en effet il faut
vérifier ce qui se passe si le circuit se trouvet par hasard (démarrage ou parasite) dans
l’état non utilisé ici Q1Q0 = 00.
Ici : on voit sur le diagramme que l’on a choisi pour simplifier Q1+Q0+ = 10. Donc
l’état 2. On ne reste donc pas bloqué dans l’état 0.
Le compteur est dit « self starting ».
Si besoin, on peut ajouter une initialisation à par exemple 01 (état 1) à la mise sous
tension (par petit réseau RC). Cette partie est vue autre part. Mais ce n’est pas forcément
utile dans ce cas.
4) Montage
1
3
2
4 10
1 ~1PR Q1 1 ~2PR Q0
2 5 12 9
1D 1Q 2D 2Q
CK
3 6 11 8
~1Q ~2Q
1 13
1 ~1CLR 1 ~2CLR
s
D0 Q0 D1 Q1 D2 Q2
H H H Q2
r r
H
R initialisation C
Vcc
masse
Il faut évidemment charger à la mise sous tension le motif (ici 100). Ceci peut se faire
simplement par le réseau RC ci-dessus : la ligne Initialisation est active à 0 un certain temps
dès la mise sous tension, puis inactive à 1 ensuite. Il suffit pour cela que RC >> Temps de
montée de Vcc. Un petit dessin montrant les chronogrammes serait facile à faire (voir les
chronogrammes vers la fin de ce poly, chapitre : Initialisation d’un système à la mise sous
tension).
On peut faire tourner d’autres motifs : 110 011 101 110 011 101 il suffit de câbler
différemment la ligne Initialisation sur les bascules.
2) Application simples : Q0
Horloges décalées à temps jointifs,
chenillards en animation de vitrines. Q1
Q2
On vous laisse le soin de dessiner ce nouveau montage avec quelques portes (montage
avec ET et OU, ou bien que des NAND), évidemment le RC ne sert plus à rien !
Q2 Q1 Q0 Q0+ = D0
0 0 0 1 Cycle principal
0 0 1 1 0 1 3 7 6 4
0 1 1 1
1 1 1 0 5 2 non utilisées
1 1 0 0
1 0 0 0
D0 Q0 D1 Q1 D2 Q2
H H H Q2
H
H
Cycle principal
0 1 3 7 6 4
Q0
Q2
En examinant les deux états inutilisés, pour lesquels on a choisi finalement 0 pour l’état
5 et 1 pour l’état 2, on vérifie facilement l’existence d’un cycle secondaire parasite
(5,2,5,2,5,2 …). Si au démarrage ou bien accidentellement par un fort parasite le circuit se
trouve dans l’état 2 ou 5, il ne reviendra pas dans le cycle principal.
D0 Q0 D1 Q1 D2 Q2
H H H Q2
Clr Clr Clr
H
R C
Vcc
masse
H
Avantage : même si un très fort parasite le fait passer accidentellement à 2 ou 5, il
revient toujours en deux périodes maxi de Ck dans la boucle principale.
Cycle principal
0 1 3 7 6 4
2 5
Intérêt de ce compteur: On obtient des horloges de mêmes périodes, mais décalées en
phase. Et il ne peut pas y avoir d’impulsions parasites sur un signal qui serait formé
par une combinaison de ces sorties car il n’y en a qu’une qui change à chaque coup
d’horloge.
Dans certaines transmissions numériques, les informations devant être transmises en série
(un bit à la fois) sont transformées en un code S à 3 niveau (afin de supprimer la composante
continue : valeur moyenne nulle).
Din = 0 S = 0v Din
Etant donnée que la succession des états est fonction de variables externes (ici une seule :
Din), la méthode des diagrammes d’états (ressemblant un peu au Grafcet), est très pratique.
Diagramme d’états
La table de vérité de Q1+,
Q2+ en fonction de Din, Q1, Q2 Din 1 0 Din
aurait été bien moins commode S = +5v
à écrire, ici on voit bien mieux
toutes les transitions possibles et Din 0 0 Din 1 1 Din
l’évolution de cette machine S = 0v Din S = 0v
synchrone.
Les deux états (00 et 11)
donnant S = 0v permettent de 0 1
différencier un 0 après un S = -5v Din
niveau +5, d’un 0 après un Din
niveau -5 pour respecter
l’alternance.
Diagrammes de Karnaugh de Q1+ et Q2+ (Q1 et Q2 dans cet ordre dans les
« bulles du diagramme d’état).
Q2 0 1 1 0 Q2 0 1 1 0
Q1 0 0 1 1 Q1 0 0 1 1
Din Din
0 1 1 0 1 1
Q1+ Q2+
1 1 1 1 1 1
Montage :
VCC 5V
U1A U1B
4 10
~1PR ~2PR
2 5 12 9
1D 1Q 2D 2Q Q2
3 6 11 8
Vers soustracteur
Q1 a ampli opérationnel
~1Q ~2Q
1 13
~1CLR ~2CLR
CK
74LS74D 74LS74D
U2A
Din
1
3
2
74LS86D
1 Q0 E1 Q1 E2 Q2
E0
H H H
Poids faible Q0 Q1 Q2
On peut ajouter une entrée E de validation générale de ce compteur 3 bits, entrée
nécessaire si on veut ensuite mettre en cascade de tels compteurs, et d’une manière générale
travailler en logique synchrone.
Attention E doit empêcher de compter tous les poids, sinon disfonctionnement facile à
comprendre : à chaque fois que l’on inhibe le compteur avec Q0 = 1 ou bien avec Q1Q0 = 1
la bascule suivante (Q1 dans le premier cas, Q2 dans le second) compte alors les unités !
Validation générale Q1 Q2
Q0 E1 E2
E E0
H H H
Poids faible Q0 Q1 Q2
H
Retenue
état 15
Poids faible Q0 Q1 Q2 Q3
Grâce à la validation générale et la retenue en synchrone état 15 (et non 16, on anticipe
toujours en conception synchrone, on valide un circuit pour qu’il réagisse au coup d’horloge
suivant), on pourra mettre en cascade synchrone (même horloge) ces compteurs 4 bits pour
obtenir 8, 12, 16 bits…. Nous verrons ceci plus loin.
Ck
Q0
Q1
Q2
1 2 3 4 5 6
N°
d'états
Inconvénients par rapport aux simples compteurs asynchrones :
- Plus de composants.
- Pour une simple division de fréquence par 2n, ils sont moins performant en fréquence
max de fonctionnement, et consomment plus. Ceci est un peu intuitif :
Dans un compteur asynchrone, il suffit seulement que la première bascule travaille à Fmax,
les autres fréquences étant F/2, F/4 ….
Toutes ces études Fmax, consommations …, seront vues dans une autre partie du cours.
4) Compteur 10 bits :
Compteur binaire : 1024 états de 0 à 1023.
Compteur DCB : -- ---- ---- donc deux chiffres complets pour les unités et
dizaines. Deux bits seulement pour les centaines. Donc 400 états de 0 à 399.
0 1 2 15
QB
QC
QD
RCO
Ck
Ces signaux sont tous carrés (même durée au niveau haut et au niveau bas).
Attention, ceci n’est valable QUE POUR DES COMPTEURS BINAIRES A CYCLE
COMPLET (2n états).
QA
0 1 2 9
QB
QC
QD
RCO
Ck
On obtient le modulo du compteur (ici fréquence F/10) évidemment sur le poids fort :
QD, et ceci est une règle générale :
On obtient toujours le MODULO d’un compteur à cycle incomplet sur son POIDS
FORT ACTIF. (actif, car il pourrait y avoir dans le cas général des bits de poids forts restant
à zéro !).
Pour obtenir une VRAIE FREQUENCE, il faut obligatoirement une alternance bien
régulière de fronts montants et descendants.
Horloge Ck
Ck Ck
EP
EP
MSB RCO LSB validation générale
ET ET
Q7 Q0
Le compteur reste ici totalement synchrone. La sortie RCO (Ripple Carry Output) valide
(sur son dernier état) le compteur des poids forts pour le coup d'horloge suivant.
L’entrée ET_EP du compteur LSB peut servir de validation générale, en effet, comme
RCO contient l’une des validations (ET) le fonctionnement est correct et le compteur MSB se
bloquera même si le LSB est arrêté sur son dernier état.
Remarque : Il y a en réalité une petite distinction entre ET et EP, et un câblage judicieux
peut accroître la vitesse avec une propagation plus rapide des retenues. Non étudié ici.
Exemples :
Avec 2 compteurs 4 bits Binaire, on obtient un compteur de 0 à 255, modulo 256.
Avec 2 compteurs 4 bits DCB, on obtient directement un compteur de 0 à 99, modulo
100.
10 ENP
~1PR
1 ~LOAD
9 ENT
7 D
6 C
5 B
4 A
3
2 ~CLR
1 2
3 5
2 1D 1Q
CLK
3 6
~1Q
RCO
QB
QA
QC
QD
1
~1CLR
Ck
12
13
14
15
11
Q4 Q3 Q2 Q1 Q0
Le CLR de la bascule est évidemment asynchrone. On ne peut donc le relier directement
au CLR du compteur 4 bits que si celui-ci l’est aussi !
Pour le LOAD , c’est plus complexe. Non étudié ici.
Il faut bien toujours détecter l’état M-1 pour préparer le circuit à repasser à zéro au coup
de Ck suivant. Bannir toute remise à zéro asynchrone qui pénalise en vitesse et est sujet à trop
d’aléas et de parasites.
Une détection incomplète de l’état M-1 est possible et même souhaitable (plus simple),
elle consiste à ne détecter que les bits à 1. En effet, comme on part de 0, la première fois ou
ces bits sont à 1 correspond aux aitres à zéro (facile à vérifier sur des exemples).
10 ENP
On détecte incomplètement l’état 9 (par
1 ~LOAD
9 ENT
7 D
6 C
5 B
4 A
3
2 ~CLR
seulement QD et QA). Au coup d'horloge
CLK
COMPTEUR
suivant, le compteur repasse à zéro. BINAIRE
RCO
QB
QA
4 BITS
QC
QD
Montage de principe seulement, car il
12
13
14
15
11
faut prévoir l’entrée générale de validation et
la retenue pour obtenir un compteur
2
1
U2A
élémentaire 1 chiffre DCB. 74LS00D
3
Circuit élémentaire pour une mise en cascade :
Montage complet 1 chiffre DCB
La retenue est évidemment le signal Etat9 E
Clr Synchrone
(pas le RCO qui ne sert plus à rien ici !). CK
7 D
6 C
5 B
4 A
3
2 ~CLR
COMPTEUR
le compteur à l’état 9, et donc qui interdise BINAIRE
RCO
QB
QA 4 BITS
QC
l’action du Clear.
QD
11
2
1
U2A
D’où la nécessité de câbler aussi E sur la 74LS12D
porte NAND !!
1
compteurs utilisés.
8. DECOMPTEURS SYNCHRONES
8.1. Binaire : principe de base à partir de compteurs 1 bit
à validation
Sur 3 bits, la suite serait 111 110 101 100 011 010 001 000 111 …
Validation générale Q1 Q2
Q0 E1 E2
E E0
Q0 H Q1 H
H
Poids faible Q0 Q1 Q2
La retenue pour un bit supplémentaire ou un décompteur supplémentaire serait :
RCO = état0.Validation = Q 2.Q1Q 0. E
D’où mise en cascade synchrone identique aux compteurs !
1 0 0 1
La retenu (état 0) actionnera donc une entrée de
chargement parallèle synchrone pour charger 9 Load
(1001).
Ici dessin de principe rapide sans la validation. Décompteur Binaire 4 bits
QD QC QB QA
Pour une mise en cascade, il faudrait évidemment
l’entrée générale de validation (voir compteur DCB), et
un chargement inactif lorsque le compteur n’est pas
validé (à ajouter dans le câblage si nécessaire).
RCO
10 ENP
1 ~LOAD
9 ENT
7 D
6 C
5 B
4 A
3
2 ~CLR
0000 0 1111 15
CLK
0001 1 1110 14 COMPTEUR
BINAIRE
0010 2 1101 13
RCO
QB
QA
4 BITS
QC
QD
0011 3 1100 12
12
13
14
15
11
. . Comptage
. .
1
3
5
9
1101 13 0010 2
1110 14 0001 1
2
4
6
8
1111 15 0000 0 Décomptage
10 ENP
1 ~LOAD
9 ENT
7 D
6 C
5 B
4 A
3
0110 6 1001 9 2 ~CLR
CLK
COMPTEUR
2
QB
QA
4 BITS
QC
QD
1
1001 9 0110 6
12
13
14
15
11 Comptage
1010 10 0101 5
1011 11 0100 4 Binaire
1
3
5
9
6 à 15
1100 12 0011 3
2
4
6
8
Pour une mise en cascade synchrone, il faudrait comme d’habitude utiliser ou créer un
signal de retenue pour valider les poids fort : ici c’est RCO déjà fait !
Règles à respecter le plus possible pour éviter tout problème et concevoir des circuits
proprement.
1. Il ne faut jamais attaquer une entrée d’horloge avec une combinaison de sorties de
bascules. Des temps de propagation différents entraînent toujours un régime transitoire et
des niveaux parasites peuvent exister. Nous verrons ce type d’aléas dits de
« commutation » un peu plus tard. Il faut toujours une horloge a front suffisamment
raide, unique et propre.
Impulsions parasites
Bascules « Toggle »
1 D0 Q0
Prohibé !
Ck
E E0 Q0 E1 Q1
Ck Ck
2. Sauf cas très particuliers (arrêt d’urgence, démarrage asynchrone de quelque chose) il ne
faut pas utiliser les entrées asynchrones d’une bascule (entrée Clear et Preset par exemple).
On remarquera qu’il faut par moment une étude théorique pour des fonctions bien
précises, mais aussi du feeling et du sens physique pour appréhender tout l’ensemble d’un
montage ! Ceci est vrai de toute façon dans de nombreux domaines …
Le diviseur par 32768 est le plus simple (car binaire, puissance de 2).
Pour une montre chronomètre (au 1/100 de secondes), on partirait par exemple plutôt d’un
quartz à 3,2768 MHz la première division par 32768 donne 100Hz, donc le centième de
seconde, un diviseur par 100 donne les secondes.
On voit ici l’usage de multiplexeurs pour la mise à l’heure (circuits d’aiguillages).
On ajouterait des compteurs et des comparateurs pour fabriquer l’alarme réveil ...
Si on veut l’altimètre, le baromètre, le podomètre, le rythme cardiaque .... on ajoute
divers capteurs et circuits et pratiquement un petit microprocesseur pour gérer les fonctions
(avec programme incorporé). Une logique à microprocesseur associé à un petit programme
remplace de nos jours toute une logique câblée complexe, et permet des modifications à
l’infini ou presque. Ces nouvelles techniques permettent aujourd’hui miniaturisation, faible
coût et souplesse d’emploi incomparable.
Cadence de mesure
D Pr Q D Pr Q
1Hz
Ck Ck
Cl
Q Cl
Q
ECH
Référence
Horloge, :Signal carré
fréquence F = 1kHz
de période θ =1ms
(gamme 4 )
Il serait facile de dessiner les chronogrammes et de trouver :
Cadence
ECH
S 1
Seuil du circuit actionné
0 0
0
tension négative, inactive
11.2.1.2. Montage N° 2
On obtient en S une impulsion
active à zéro, détectant le front E Circuit logique actionné
montant de E. W S
W 1
Seuil du circuit actionné
0 0
0
S 1 tension négative, inactive
W'
seuil du circuit actionné
0 0 1 0
0 tension négative, inactive
S 1 1
0
11.2.1.5. Montage N°5
On obtient une impulsion
active à 0 sur le front
descendant de E (comme le E Circuit logique actionné
montage N°4, mais sans S
portes supplémentaires).
E
Niveau 0
mais Attention au seuil !
ATTENTION en TTL : La discontinuité descendante de S est égale à la discontinuité
descendante de E; le seuil étant assez bas, si le niveau haut de E est un peu faible, l'impulsion
en S risque de ne pas franchir ce seuil d'une manière significative, l'impulsion sera de durée
faible ou inexistante. Donc utiliser ce montage plutôt pour actionner un circuit CMOS
(seuil = Vcc/2 et niveau haut plus élevé).
11.2.1.6. Montage 6
Il détecte les deux fronts
du signal E. Circuit logique actionné
E S
W
Seuil porte W
11.2.1.7. Remarque
Les montages N°2 et N°4 peuvent générer des impulsions de durée plus importantes ( >
1µs à plusieurs secondes), en remplaçant l'inverseur suivant le dérivateur par un inverseur
Trigger de Schmitt qui permet de remettre n forme le signal. Sans celui-ci, les temps de
transitions devenant trop importants provoquent des oscillations parasites sur la sortie S.
Le montage N°6 peut fournir aussi des impulsions de plus longue durée en plaçant un
trigger après le OU EXCUSIF.
E S
W W'
Seuil porte W
W'
S
Le front montant de E génère une impulsion en logique négative sur S. Si on utilise
comme inverseur après l'intégrateur RC un Trigger, on peut générer facilement des
impulsions de durée quelconque , mais obligatoirement < à la durée de l'impulsion E.
Selon les besoins des circuits, on peut créer un simple signal retardé V1 à front non remis
en forme, un signal retardé V2 remis en forme, ou une impulsion V3.
v2
Vcc
V1 et V2 pourraient
v1
actionner une entrée type
Initialisation (active à 0). seuil trigger
Seuil Trigger W
S
Ce montage ne génère pas en fait d'impulsion nouvelle, mais il permet de retarder un peu
les fronts avant et arrière du signal E.
Remarques:
W peut s'utiliser tel quel sur des entrées sensibles sur niveau.
Par contre même pour des retards faibles voisins de 100ns environ, la porte Trigger
(inverseuse) est nécessaire pour remettre le front en forme (le signal W risque sinon de ne pas
présenter des fronts suffisamment raides pour actionner une entrée sensible sur fronts).
• Montage à trigger
RC
Validation= 1
Vc niveau haut
départ quelconque
S seuil 2
seuil 1
niveau bas
T
Vc S
T1 T2
La fréquence de récurrence peut se calculer exactement, sur la figure on devine son ordre
1 1
de grandeur : f = ≈ ( dépend des seuils et des niveaux haut et bas).
T1 + T2 1, 5RC
• Montage à portes
Validation= 1 v RC
S W
niveau haut
R
seuil
niveau bas
C
W
v et S
1
Pour le dessin de la figure, on voit que l'ordre de grandeur de f est de .
2RC
Pour ce circuit ainsi que le précédent on peut arrêter l'oscillation en mettant à zéro le signal
de validation, mais attention , au redémarrage, la première période de S sera plus longue, ce
qui n'est pas forcément un inconvénient.
11.5.2. A Quartz.
Les circuits précédents permettent une stabilité de la fréquence de quelques %. L'utilisation
d'un quartz permet des précisions de 10-6 et plus., dans une grande gamme de température.
_______________________________