Académique Documents
Professionnel Documents
Culture Documents
------------------
------------------
----------------------
-----------------------
----------------------
PARCOURS :Ingénieur STIC
1
PARCOURS : Ingénieur STIC
2
Chapitre I : Numération
I) Système de numération
1.1) Définition
On appelle base le nombre de symboles élémentaires servant à l’écriture des nombres
dans cette base.
Par exemple :
- la base 10, possède 10 symboles élémentaires. Se sont : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
- base 2, possède 2 symboles élémentaires. Se sont : 0,1
FORME POLYNOMIALE
On peut décomposer tout nombre en fonction des puissances entières de la base
A = a3 b3 + a2 b2 + a1 b1 + a0 b (détaillée)
A = a3 a2 a1 a0 = (A)b (simplifiée)
ai € N , b € N (où b = base du système de numération et ai = éléments de la base).
Forme détaillée A = où i ∈
On appelle :
Rang d’un chiffre : la puissance i de b} a3 est de rang 3
Chiffre de poids fort : chiffre de gauche (a3)
Chiffre de poids faible : chiffre de droite (a0)
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 10
9 11
Base 10 Base 8
0 0
1 1
2 2
3 3
4 4
4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F
16 10
Base 10 Base 16
q1 = q2 b + r2
……………….
qn – 2 = qn-1 b + rn-1
qn – 1 = 0xb + rn
qn – 2 = rn b+ rn -1
qn -3 = (rn b+ rn -1) b + rn – 2
q1 = rn bn – 1 + rn – 1 bn-3 + …….. + r2
q0 = rn bn – 1 + rn – 1 bn – 2 + …….. + r2 b + r1
¿>¿ N = q 0 b + r 0 = r n b n + r n – 1 b n – 1 + …+ r 2 b 2 + …r 1 b + r 0
5
n
N = ∑ ri b i
i=0
i=0
bi / bi (N)10 < bi +i
(N1)10 = (N)10 – bi
non
i i-1
6
Comme nous l’avons vu précédemment, tous les calculs à l’intérieur d’un ordinateur
s’exécutent à partir de nombres exprimés en binaire. Mais afin de manipuler des nombre de
façon plus commode, nous travaillerons soit en octal, soit en hexadécimal.
Cela dépend de la manière dont fonctionne le calculateur.
Si les bits binaires sont groupés par 3, on utilisera le système octal (un groupe de plusieurs
bits est appelé BYTE).
Avec un byte de 3 bits, nous pouvons exprimer une valeur octale de 0 a 7.
Si les bits sont groupés par 4 (un byte de 4 bits est aussi appelé QUARTET), on utilisera alors
le système hexadécimal.
Avec un byte de 4 bits (quartet), nous pouvons exprimer une valeur hexadécimale de 0 à F.
Exemple : 100011001
Le 1er bit est le bit de poids le plus fort ou MSB (Most Significant Bit) et le dernier bit est le
bit de poids le plus faible ou LSB (Least Significant Bit).
Les tailles usuelles des mots sont : 4 bits (quartet), 8 bits (octet), 16 bits (mot), 32 bits (long
mot).
2. Règle d’addition
0 + 0 = 0 retenue 0
0 + 1 = 1 retenue 0
1 + 0 = 1 retenue 0
1 + 1 = 0 retenue 1
Si l’addition de 2 mots de n bits donne (n+1) bits alors le (n+1) ième bit est appelé bit
d’overflow.
Exemple :
1111
+ 1111
= 11110
bit d’overflow
8
3. Opération de soustraction
0 – 0 = 0 retenue 0
0 – 1 = 1 retenue 1
1 – 0 = 1 retenue 0
1 – 1 = 0 retenue 0
En électronique numérique lorsqu’on effectue une opération de soustraction, le système est
peu pratique à câbler d’où la transformation de la soustraction en addition.
4. Utilisation d’autres méthodes
* Méthode du Complément Restreint (CR)
* Méthode du Complément Logique (CL)
* Méthode du Complément à 1 (CP1) ; 0 → 1 et 1 → 0.
Ou
* Méthode du Complément Vrai (CV) = CR+1
* Méthode du Complément Arithmétique (CA) = CL+1
* Méthode du Complément à 2 (CP2) = CP1+1
9
Exemple : 5 – 7 = -2
5. Multiplication
0x0= 0 1x0=0
0x1=0 1 x1 = 1
Exemple :
110
x 10,1
110
+ 110 . .
1111,0
6. Division
10
PRINCIPE
- Les conditions d’arrêt du calcul sont les mêmes qu’en décimal : obtention d’un nombre
exact ou précision désirée atteinte.
En effet, chacun des membres a été multiplié par une même puissance de 2 ( ici 22).
+5=5+ +|+5|
-5 =5- +|−5|
Exemple :
Base 2 +5 = 0101
-5 1101
+ 0 = 0000
-0 1000
a) Virgile flottante
{
b=base
X = m.be e=exposant
m=mantisse
11
Si m = m3 m2 m1 m0
Alors
X = m3 m2 m1 m0.be
III. Code
1. Généralités
Un code est une écriture symbolique, arbitrairement définie et destinée à représenter une
information plus ou moins complexe. Une information peut se code de plusieurs façons en
fonction de son utilisation.
3. Codes Pondérés
Dans les codes pondérés, chaque chiffre ou digit a un poids fonction de sa position.
Bits 1 0 1 0
Pondération 23 22 21 20
12
Code 1248
La façon la plus simple de représenter les 10 premiers chiffres décimaux par 4 variables
binaires est de prendre les dix premières combinaisons des variables du système binaire
naturel.
N 8421
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
N = nombre
Les pondérations sont 8 4 2 1
Application du code 1248 au DCB (Décimal Codé Binaire)
En DCB, chaque chiffre décimal est codé en 1248 et les valeurs ainsi obtenues sont
juxtaposées.
13
Code 1242* (Code Aïken)
Il trouve son application en informatique. Il suffit de stocker en mémoire les nombres de 0 à 4
et à la lecture on restore tout.
N 4221
0 0000
1 0001
2 0010
3 0011
4 0110
14
5 1001
6 1100
7 1101
8 1110
9 1111
15
Le code binaire réfléchi ou code GRAY est un code continu cyclique.
1 bit
0
2 bits 1
A
3 bits
Lorsque la somme dépasse 9(celle d’un quartet : unité, dizaine,…), on ajoute 6 (0101) à la
somme pour obtenir le résultat. En effet, 10 en 1248 s’écrit 0001 0000 (et non 1010), ce qui
correspond en binaire naturel (si on colle tout) à 24=16.
Comme sur les 16 combinaisons on a seulement utilisé 10, alors il faut ajouté 6 (c’est-à-
dire :16-10) au résultat obtenu.
Remarque
Le code 1248 étant le plus naturel des codes DCB, il est souvent appelé simplement DCB
Si dans un groupe de 4 bits (la représentation d’un chiffre) on a un dépassement de 9, on
ajoute 6 au groupe.
Code excédant 3
La somme de deux excédents 3 est un excédent 6. Il faut donc soustraire 3 au résultat pour
que celui-ci soit un excédent 3 (on retranche 3 à chaque groupe).
17
Exemple1:
Excédent 3
+ 43 + 0111 0111
36 0110 1001
= 79 = 1101 1111
- 0011 0011
= 1010 1100
Résumé
On additionne les nombres selon les règles de l’addition binaire. Si un groupe produit une
retenu, on lui ajoute 3, sinon on lui retire 3.
Parité
On peut rajout er aux 4 bits, un bit positionné de telle façon que le nombre total de bits a 1
soit en nombre impair.
18
0 1 0000
1 0 0001
2 0 0010
3 1 0011
4 0 0100
5 1 0101
6 1 0110
7 0 0111
8 0 1000
9 1 1001
On peut alors détecter, si un simple bit change, que le nombre de bits a 1 sur les cinq bits es
en quantité paire
Par contre si deux bits changent on ne peut pas détecter d’erreurs.
Le code de Hamming permet de détecter et de corriger des erreurs d’un mot binaire de 4 bits.
19
Pour l’utilisation d’un code de Mam ming de distance 3 ,on rajoute aux 4 bits
d’information ,3bits qui sont fonction des 4 bits .
Ce code qui ne corrige qu’une erreur transmet 7bits pour 4bits d’information.
Position de bits 1 2 3 4 5 6 7
Noms de bits C1 c2 b4 c4 b3 b2 b1
0 1 0 1
Détection de l’erreur
Pour déterminer si le mot binaire est incorrect et quel est le bit qui est faux on regarde si
chaque bit c1,c2 et c4 vérifie la parité demandé
-si c’est le cas on place dans le pointeur p1,p2 ou p4 correspondant ,la valeur 0
-si ce n’est pas le cas on place dans le pointeur p1,p2,ou p4 correspondant ,la valeur 1.
Mot pointeur P4 p2 p1
Bit de parité C4 c2 c1
20
Le nombre binaire présent dans le mot p4 p2 p1 est la position du bit faux dans le mot
transmis .si 0 est trouvé cela veut qu’il n’y a aucune erreur.
Exemple : soit le mot transmis précédemment
0 100 101
Supposons qu’une erreur arrive sur le bit de position 6
On a alors le mot faux suivant 0 100 111
Position 1 2 3 4 5 6 7
Mot reçu 0 1 0 0 1 1 1
Nom du mot C1 c2 b4 c4 b3 b2 b1
¿>¿ p4 p2 p1 = 110 = 6(10) et c’est dans le bit de position six qui est faux. Donc ce bit de
position doit être changé pour avoir le bon mot. ¿>¿ Correction 0100101(ce qui était bien le
bit transmis).
Ce code de Hamming de distance 3 ne corrige qu’une erreur .Si deux bits sont erronés dans le
mot binaire on pourra les détecter mais pas les corriger (aucun des deux).
7. Autres Codes
21
Le code EBCDIC est utilisé par quelques constructeurs (dont IBM) .c’est le deuxième code utilisé
pour représenter les caractères alphanumériques.
I. Algèbre de Boole
1. Définition
L’ensemble (E, +, -) est une Algèbre de Boole. Ces lois vérifient les propriétés suivantes.
COMMUTATIVITE
∀ x , y ∊ E x + y= y + x
∀ x , y ∊ E x ⋅ y= y ⋅ x
ASSOCIATIVITE
∀ x , y , z ∊ E x + ( y + z )= ( x + y ) + z
DISTRIBUTIVITE
∀ x , y , z ∊ E x ⋅ ( y + z )=x ⋅ y + x ⋅ z (1ère distributivité)
∀ x , y , z ∊ E x + y ⋅ z=( x+ y ) ⋅( x+ z ) (2ème distributivité)
IDEMPOTENCE
∀ x ∊ E ‚ on a x+ x= x et x ⋅ x=x
22
ELEMENTS ABSORBANTS
∀ x ∊ E ‚∃ 1∊ E ‚ x+1=1
∃0 ∊ E ‚ x ⋅0=0
ABSORPTION
∀ x ‚ y ∊ E ‚ x + x ⋅ y =x implique que : x . ( 1+ y ) =x
∀ x ‚ y ∊ E ‚ x ⋅ ( x + y )=x implique que : x . x + x . y=x + x . y =x
( x + y ) ⋅ ( x + z )=x . x + x . z + x . y + y . z
( x + y ) ⋅ ( x + z )=x . ( 1+ y + z ) + y . z =x+ y . z
Logigramme
Table de Vérité 23
X Y X ∧Y
0 0 0
0 1 0 X ∧Y ≡ X . Y
1 0 0
X.Y = 0 si et seulement si une au moins des variables d’entrée
1 1 1
vaut 0. Logigramme
Table de Vérité
X Y X ∨Y
0 0 0
0 1 1
1 0 1
1 1 1
Logigramme
Equivalence
Table de Vérité
X Y X ⊕Y
0 0 0
0 1 1
1 0 1
1 1 0
Logigramme
24
Logigramme à base de portes logiques dive
'
D ( X , Y )=X ⊕Y = X .Y +Y . X ( c est la somme modulo 2ie addition ¿ retenue)
Fonction Coïncidence
Table de Vérité
X Y X ΘY
0 0 1
0 1 0
1 0 0
1 1 1
Logigramme
C ( X , Y )= XΘ Y =X .Y + X .Y
D ( X , Y ) et C ( X , Y ) sont complémentaires
25
Fonction NAND (NOT AND)
Table de Vérité
X Y X .Y
0 0 1
0 1 1
1 0 1
1 1 0
Logigramme
X ∧Y ≡ X . Y sous la forme ON X /Y
'
X ∧Y =1 Si une au moins des variables d entrées vaut 0.
Table de Vérité
X Y X +Y
0 0 1
0 1 0
1 0 0
1 1 0
Logigramme
Fonctions Inhibiteurs
{
X ↑ Y =X ⋅ Y →Y inhibe X → 0 : X Y =X donc Y autorise X
1: X Y =0 donc Y inhibe X
Y ↑ X=Y ⋅ X → X inhibe Y
Table de Vérité 26
X Y X .Y
0 0 0
0 1 0
1 0 1
1 1 0
Logigramme
Théorème de Shannon
Toute fonction booléenne peut être décomposée en fonction des trois opérateurs de base :
NOT ; AND et OR.
Si x i=1 alors xi =0
f ( x 1 , x 2 , … , x i , … , x n ) =0∗f ( x 1 , x 2 , … , 0 , … , x n )+ 1∗f ( x 1 , x2 , … ,1 , … , x n )=f (x 1 , x 2 , … , 1 , … , x n )
27
3. Décomposition d’une fonction booléenne en fonction des mintermes
de ses variables
n
2 −1
f ( x 1 , x 2 , … , x i , … , x n ) = ∑ Ci∗mi (les mi sont les mintermes )
i=0
Table de Vérité
A B C V
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
28
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
2. Forme Canonique
7
V =∑ Ci m i
i=0
V = A BC+ A B C+ AB C+ ABC
C’est une réunion (OU, Maxterme) d’intersection (ET, Minterme).
Cette forme se nomme aussi :
*** Forme Disjonctive
*** Forme SP (Somme de Produit)
*** Forme ΣΠ ( Sig ma, Pi)
Deux fonctions F1 et F2 qui ont la même forme SP canonique sont identiques.
22 21 20
A B C V
valeur
décimale Pondération suivant les puissances de 2
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0 V =R ( 3 , 5 , 6 ,7 )=Σ(3 , 5 , 6 ,7)
3 0 1 1 1
4 1 0 0 0 29
Combinaison 3
5 1 0 1 1
6 1 1 0 1
Combinaison 5
7 1 1 1 1
Combinaison 7
Cette représentation numérique est canonique par définition (TV). Il est indispensable de s’en
tenir toujours à un ordre de pondération croissant de variables ou de préciser l’ordre choisi.
F= AB C D+ A B C D+ A BC D+ A B C D+ ABCD
↓ ↓↓ ↓↓
↓ ↓↓ ↓↓
13 9 4 1 15
F=R(1 , 4 ,9 , 13 , 1)
On écrit sous chaque forme les combinaisons binaires correspondants puis ont attribue les
poids 8 4 2 1 respectivement à A B C et D.
INCONVENIENTS : Aucun moyen d’affirmer que le résultat obtenu est le plus simple
possible.
00 0
01 1
11 3
10 2
4. Cas d’une Table Incomplète
Ce sont des fonctions qui pour
certains mintermes de la forme SP canonique non pas de forme logique définie :
Soit parce que ces mintermes n’ont pas d’importance dans le problème posé (valeur
indifférente de la fonction).
Parce que ces mintermes correspondent à des combinaisons qui ne se produisent
jamais dans le problème posé (valeurs disponibles de la fonction).
Exemple : Soit un nombre N de 0 à 9 étant donné dans le code DCB. Donner la fonction
logique qui vérifie que N est divisible par (2)10 (0 n’est pas divisible par 2).
31
Chapitre 3 : Logique Séquentielle-les Bascules
GENERALITES
En logique combinatoire les sorties sont uniquement fonction des entrées. En logique
séquentielle la sortie est non seulement fonction des entrées mais aussi de son propre état de
sortie. On peut dire qu’une fonction séquentielle prend en considération la valeur passée de sa
sortie ou qu’elle se souvient de cette valeur logique future : il y a un phénomène de mémoire
qui est caractéristique des fonctions séquentielles.
32
Table de séquence
Elle présente les valeurs logiques à donner aux variables d’entrées pour conserver ou changer
la valeur de sortie.
Q0→ Q1 S R
0 0 0 ϕ
0 1 1 0
1 0 0 1
1 1 ϕ 0
1.2) La Fonction R S
Elle présente les mêmes séquences que la fonction RS mais pour des valeurs inversées des
variables.
33
Table de séquence
Qo S R Q1 Table de Séquence Réduite
0 0 0 ϕ
0 0 1 1
0 1 0 0
S R Q1
0 1 1 0 0 0 ϕ
1 0 0 ϕ 0 1 1
1 0 1 1 1 0 0
1 1 0 0 1 1 Qo
1 1 1 1
Equation de la Fonction R S
Q1 = S + R Q0
Table de Transition
Q0→ Q1 SR
0 0 1 ϕ
0 1 0 1
1 0 1 0
1 1 ϕ 1
1.3) La Fonction JK
Cette fonction est aussi une mémoire unitaire mais des séquences supplémentaires en
autorisent un emploi beaucoup plus général que la fonction RS.
Elle a deux variables d’entrées :
J : rôle assimilable à S de la fonction RS
K: rôle assimilable à R de la fonction RS
Et une sortie Q
Elle est définie pour les mêmes séquences que la fonction RS mais cette fois la combinaison
J=K=1 est utilisable, elle fait changer systématiquement la variable de sortie Q1=Qo.
Table de séquence
Qo J K Q1 Table de séquence réduite
0 0 0 0
0 0 1 0
0 1 0 1 Equation de la fonction JK J K Q1
0 1 1 1
0 0 Qo
1 0 0 1
0 1 0 34
1 0 1 0
1 1 0 1 1 0 1
1 1 1 0 1 1 Q0
Q1 = JQ0+ K Q0
Table de transition
Q0→Q1 J K
0 0 0 ϕ
0 1 1 ϕ
1 0 ϕ 1
1 1 ϕ 0
Bascule JK
K
R
S Q
J
35
1.5) Bascules Synchrones
Pour les bascules synchrones les sorties Q et Q ne prennent la valeur correspondant à la
combinaison de leurs variables d’entrée qu’après l’arrivée d’une impulsion de synchronisation
sur une entrée de commande contrairement aux bascules asynchrones dont les transitions de
sorties se produisent immédiatement aux changements des variables d’entrées.
Exemple : Comparaison entre les réponses aux mêmes variations des entrées d’une bascule
RS synchrone et d’une bascule RS asynchrone.
L’entrée de synchronisation est :
T : Triggering ou
H : Horloge ou
CP : Pulse Clock
R t
Q (synchrone)
t
Q (asynchrone)
Exemple : Comparaison entre les réponses aux mêmes variations des entrées de deux F/Fs JKt
synchrones à front raide montant pour l’un et front raide descendant pour l’autre.
36
Les Fonctions Séquentielles Dérivées
Ce sont des applications ou des cas particuliers des fonctions élémentaires RS ou JK.
1.6) La Fonction D
C’est typiquement la mémoire unitaire dont la seule fonction est l’enregistrement et la
conservation d’un bit. Elle a :
une entrée D (data, donnée)
37
Une entrée de commande d’enregistrement Cp.
Une sortie Q.
Elle est synchronisée avec le signal de commande Cp qui peut être un front montant ou
descendant d’impulsion ou un niveau logique. A l’arrivée de ce signal de commande la sortie
Q prend la valeur 1 ou 0 présente sur l’entrée D. C’est l’enregistrement. En l’absence de ce
signal la sortie conserve son état quelle que soit la valeur de D : c’est la fonction mémoire.
La fonction D sera utilisée en particulier pour la construction des registres et elle peut être
réalisée :
Par des opérateurs ou bascules D
Ce sont des F/FS synchrones le plus à front raide montant.
38
Par des bascules RS synchrones avec R= S
E
Qo S=D R= D Q1 = D
n outre de la même façon 0 0 1 0
et pour les mêmes raisons 0 1 0 1
1 0 1 0
la fonction D peut être
1 1 0 1
réalisée avec des F/Fs JK
synchrones pour lesquelles K=J
D Latch (verrou)
39
La commande d’enregistrement se fait par un niveau logique 1 appliquée sur l’entrée de
validation : Q =D.
Si l’entrée de validation est à un niveau logique 0, la bascule est verrouillée donc Q1 = Q0.
Avec ce type de bascule on a Q1 = D pendant tout le temps où l’entrée de validation est égale
à 1.
T1
=2 T0 et
f1= f0/2.
La
fonction T est appelée ‘diviseur par 2’ parce qu’on obtient une impulsion sur sa sortie pour
deux impulsions envoyées sur l’entrée.
Elle sera très utilisée pour la construction des compteurs.
La fonction T peut être réalisée par toutes les autres bascules synchrones.
Par des bascules RS auxquelles on impose la condition : S = Q et R = Q.
40
Q0 S R Q1
0 1 0 1
1 0 1 0
Q0 J K Q1
0 1 1 1
1 1 1 0
Remarque : Ce montage ne peut être utilisé avec des bascules D de type LATCH, le système
oscillerait tant que l’entrée de validation serait au niveau logique 1.
41
1.8) La Fonction Temporisation ou Retard (DELAY)
C’est une fonction séquentielle un peu particulière qui est réalisée avec des opérateurs
monostables. Une transition (1 à 0 ou 0 à 1) appliquée sur l’entrée entraine l’apparition en
sortie d’une impulsion dont la durée τ est fonction d’une constante de temps RC extérieure.
Remarque
Il existe des monostables resynchronisables (retriggerables). Ils se déclenchent pour toutes les
transitions d’entrée de même sens, même si l’intervalle qui les sépare est inférieur à τ.
42
1.9) Les Entrées Supplémentaires sur les Bascules
1.9.1) Les Variables d’entrées multiples
On rencontre fréquemment en circuit intégré en particulier des bascules qui offrent selon leur
type, plusieurs entrées JK et plusieurs entrées RS.
J = J1J2J3 S = S1S2
K = K1K2K3 R = R1R2
Exemple2 : Il existe aussi des bascules JK à entrées multiples liées par la fonction inhibition.
J=J 1 J 2 J 3 ; K= K 1 K 2 K 3
43
On veut réaliser une fonction D avec cette bascule.
J = D ; K = D
Ces bascules de quelques types qu’elles soient réalisent une fonction RS asynchrone
prioritaire sur les fonctions synchrones pour lesquelles elles ont été prévues.
Si S = 1 et R =0, la bascule est verrouillée dans l’état 1 quelles que soient les
variations sur ses entrées.
Si S = 0 et R = 1, la bascule est verrouillée dans l’état 0 quelles que soient les
variables sur ses entrées.
44
Si S = R = 0, la bascule est libre et les variables d’entrées RS ou JK ou D reprennent
leur fonction en synchronisme avec le signal de commande.
La combinaison S=R=1 est interdite.
Exemple : Diagramme temporel des états de la sortie Q d’une bascule JK réalisant une
fonction T et sur les entrées de forçage de laquelle on applique des niveaux logiques.
Remarque : On trouve également des bascules qui réalisent une fonction R S asynchrone de
leurs entrées de forçage. Les conventions précédentes sont alors inversées mais prioritaires sur
la fonction synchrone.
Si S = 1 et R = 0 ; forçage à 0 (MAZ)
Si S = 0 et R = 1 ; forçage à 1 (MAU)
Si S = 1 et R = 1 ; la bascule est libre
45
Si S = R = 0 ; la combinaison interdite.
46
On dispose des portes élémentaires et des bascules JK de sorte à obtenir un montage qui fait
apparaitre sur un train d’impulsions, les impulsions paires puis les impulsions impaires.
47
Chapitre 4 : Logique Séquentielle-les Compteurs
Introduction
Dans ce chapitre, on étudie les différentes méthodes de conception des compteurs digitaux à
partir des bascules de base. Il s’agit de compter un certain nombre d’état représentant chacun
un code binaire. Le passage d’un état à un autre est commandé par un signal d’horloge et
chaque état est représenté une seule fois pendant une séquence.
Un compteur peut-être représenté par son modulo, ceci correspond à un nombre d’état
pouvant être représenté dans une séquence.
48
1.1.1) Compteurs asynchrones
Le signal d’horloge (signal de commande ou impulsions) est appliqué à la bascule de plus
faible poids si le code est pondéré ou de façon plus générale à la bascule dont la sortie change
le plus souvent d’état pendant le cycle de comptage. Les autres bascules sont connectées à la
première en reliant la sortie ‘Q’ de la bascule précédente à l’entrée horloge de la bascule
suivante (dans le cas des bascules où l’horloge réagit sur front descendant).
Le temps qui sépare l’arrivée du signal de commande sur la bascule précédente et le moment
où il est reçu par la bascule suivante est égal au temps de propagation (tp).
On constate que le retard accumulé est égal à ‘n.tp’ avec ‘n’ étant le nombre de bascules. Ce
qui constitue un inconvénient majeur des compteurs asynchrones.
Compte 21 20
0 0 0
↓
1 0 1
↓
2 1 0
↓
3 1 1
Cp
B
A
49
Aux fréquences élevées tenir compte de tp
50
1.1.2) Compteurs synchrones
Ils sont conçus de façon que chaque bascule qui le constitue soit commandée par le même
signal d’horloge.
51
2.1.1) Réalisation d’un compteur modulo N= 2n(N ENTIER)
Exemple : Prenons : N=8= 23(n=3)
20 21
52
F/Fs commandées sur front montant en reliant Qn = Hn+1
20 21
Compteur :On utilise des F/Fs JK réagissant sur front descendant en reliant Qn = Hn+1
(Fonction T : J = K)
Décompteur : On utilise des F/Fs JK réagissant sur front descendant en reliant Q n = Hn+1
On peut réaliser un compteur /décompteur en commutant Hn+1 à Qn ou Q n
53
Prenons M tel que
Si M = 0, Hn+1 = Qn
Si M=1 Hn+1=Q n
Hn+1 = M Qn + MQ n = M⨁ Qn
Compte QC QB QA RAZ
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 0
4 1 0 0 0
5 1 0 1 1
6 1 1 0 ϕ
7 1 1 1 ϕ 54
RAZ = QC.QA
55
Le travail à effectuer après avoir déterminé le nombre de F/Fs nécessaires est de réaliser le
circuit de commande. Il doit fournir autant de sorties de commande que de bascules. Si une
sortie de commande C est égal à 1, cela signifie qu’il y a changement d’état de la bascule sur
le front descendant de l’horloge sinon l’état précédant est conservé. C’est-à-dire s’il n’y a pas
changement d’état de la bascule alors C = 0.
Compte QC QB QA CC CB CA
C A=QC +Q B=QC QB
2 0 1 0 1 0 1
7 1 1 1 0 1 0 C Z=Qcasynchrone en DCB . réagissant sur front desce
5 1 0 1 0 1 1
6 1 1 0 1 0 0
Diagramme d’état
56
Remarquons que le compteur démarre à la mise sous tension à un état quelconque. C’est pour cela
que nous allons étudier l’évolution du compteur à partir d’un état quelconque, à la limite des
combinaisons possibles en sortie.
Remarque
Si les équations obtenues pour les commandes de A, B et C ne permettent pas d’entrer dans la
séquence après l’étude du diagramme d’état, il faudra faire des regroupements plus sévères
dans les diagrammes de Karnaugh concerné.
57
Séquence …….0, 2, 4, 5, 0…….
Nmax = (5)10 = (101)2⇒ 3 F /Fs
Compte QC QB QA GC GB GA
GB =QC .Q B
0 0 0 0 0 1 0
2 0 1 0 1 0 0 GC =Q B +G A
4 1 0 0 1 0 1
G Z=Qcasynchrone en DCB . réagissant sur front descend
5 1 0 1 0 0 0
Diagramme d’état
J K Qn Qn+1
0 ϕ 0 0
1 ϕ 0 1
ϕ 1 1 0
58
ϕ 0 1 1
Démarche à suivre pour réaliser un compteur synchrone avec cette méthode
Déterminer le nombre de F/Fs nécessaires
Dresser une table de comptage
Déterminer les entrées J et K de chaque bascule en fonction des sorties et simplifier
par la méthode de Karnaugh si nécessaire
Concevoir le schéma du circuit proprement dit.
Etat
Etat Suivant
Précédant
JA = 1
QC QB QA QC QB QA JC KC JB KB JA KA
0 0 0 0 0 1 0 ϕ 0 ϕ 1 ϕ JB = Q A
0 0 1 0 1 1 0 ϕ 1 ϕ ϕ 0
JC = Q B
0 1 1 1 0 1 1 ϕ ϕ ϕ ϕ 0
1 0 1 1 1 1 ϕ 0 1 ϕ ϕ 0 KA = QBQC
1 1 1 0 0 0 ϕ 1 ϕ 1 ϕ 1 KB = 1
KC = QB
Exercice :
59
a) En utilisant des bascules JK réagissant sur front descendant et des opérateurs NOR.
Donnez le logigramme d’une décade asynchrone dans le code DCB.
b) Mêmes questions pour une décade asynchrone dans le code 5421
c) Comparez les deux logigrammes
d) Comment peut-on passer aisément d’un code à un autre.
Exemple : Soit à réaliser une structure asynchrone d’une association de trois bascules ayant
les séquences suivantes :
A B C
Origine 0 0 1
Etat 1 0 1 0
Etat 2 0 1 1
Etat 3 1 0 0
Mise en équation
La valeur des entrées d’une bascule synchrone est indifférente (ϕ) tant qu’on ne lui envoie pas
une impulsion de commande. Il faut donc repérer pour chaque bascule les changements d’état
(étape précédente vers étape suivante) du compteur par lesquels elle reçoit une impulsion et
donner les valeurs logiques correspondantes à ces entrées J et K uniquement.
60
Exercice :
Soit à réaliser le compteur asynchrone ayant le code de comptage suivant :
A B C D
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
Exercice :
En utilisant des bascules JK réagissant sur front descendant et des portes NAND, donnez le
logigramme d’une décade asynchrone en DCB.
61
Chapitre 5 : Logique Séquentielle-les Registres
Définition
Un registre est une association de mémoires unitaires avec lesquelles, il est possible
d’effectuer les opérations fondamentales suivantes :
Enregistrer à un instant déterminé une information constituée par une
suite quelconque de ‘0’ et de ‘1’ que l’on appelle mot binaire. (Écriture)
Conserver ce mot en mémoire aussi longtemps que nécessaire. (Mémorisation)
Restituer le mot enregistré à la demande, une ou plusieurs fois de suite dans. Dans ce
cas il faut extraire l’information sans la détruire. (Lecture)
D’autres types de circuits permettent d’effectuer ces mêmes opérations sur plusieurs mots qui
sont classés et identifiés à l’aide d’une adresse : ce sont les mémoires.
La structure d’un registre va dépendre de la nature de l’information, c’est-à-dire de la façon
dont il recevra les digits ou les mots binaires.
On distingue 4 types de registres :
Registre à écriture et lecture en parallèle ;
Registre à écriture en parallèle et lecture en série ;
Registre à écriture en série et lecture en parallèle ;
Registre à écriture et lecture en série (registre à décalage).
62
1.1) Registre à écriture et lecture en parallèle
63
1.3) Registre à écriture et lecture en série
D N =S Q N−1 +SQ N +1
64
1.5) Compteur de Johnson : modulo 6
Il s’agit d’un compteur à décalage bouclé sur lui-même mais l’entrée série est reliée à la sortie
Q de la dernière bascule. Dans ce compteur, on utilise 2n états sur 2 n possibles. L’état de
départ est celui où toutes les bascules sont à zéro.
QC QB QA
0 0 0 0
1 0 0 1
3 0 1 1
7 1 1 1
6 1 1 0
4 1 0 0
0 0 0 0
65
Etude du cycle erroné pour 2 => 5 => 0
0 1 0 1 0 1 1 0 1 D B =QC Q A +Q B Q A ;
1 0 1 0 0 0 0 0 0 D A =QC ;
0 0 0 0 0 1 0 0 1 D C =Q B
0 0 1 0 1 1 0 1 1
0 1 1 1 1 1 1 1 1
1 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0
Remarque :
Un compteur en anneau peut être utilisé pour réaliser un diviseur de fréquence par n. Pour
s’assurer qu’une seule bascule est à l’état 1, on utilise les entrées asynchrones. On envoie une
impulsion sur l’entrée ‘Clear’ de la (N-1) bascule et l’entrée ‘Preset’ de la bascule restante.
On peut également réaliser un montage qui se positionne dans un état correct au bout de
quelques périodes.
67
Etat initial 1 0 1 1
1ère Impulsion 0 1 0 1
2è Impulsion 0 0 1 0
3è Impulsion 0 0 0 1
4è Impulsion 1 0 0 0
68