Cours complet d’introduction au système binaire
Chapitre I: Systèmes de numération et codes
I Introduction
Aux premiers temps de l’informatique, toute la difficulté pour un être humain voulant « dialoguer » avec une machine informatique résidait dans le fait que le seul langage « parlé »par la machine était le langage binaire. Actuellement, le seul langage « parlé » par une machine informatique est toujours le langage binaire mais d’autres langages évolués sont apparus qui facilitent le dialogue homme-machine.
Dans le cadre particulier de ce cours, nous allons principalement nous intéresser aux passerelles existant entre 3 systèmes de numération: le système décimal (base10), le système binaire (base2) et le système hexadécimal (base 16).
II Les différents systèmes de numération
II.1 Système décimal
Ce système de numération, usuel dans la vie quotidienne, est construit à partir de 10 éléments de base constitués par les 10 chiffres universellement connus: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 : on dit ainsi que le système décimal est en base 10.
Tout nombre entier représenté par une suite de symboles :
( )N 10 =anan−1 .a1a0
Est donné sous forme d’une combinaison linéaire de puissance de 10 :
( )N 10 =an×10n+an−1×10.n−1 + .+a1×101 +a0 ×100
a est le chiffrede poids le plus faible
0
Avec
a
n estlechiffrede poidsle plus fort
Par exemple :
=10000 + 5000 + 700 + 60 + 9
(15769)10 = 9 x 100 + 6 x 101 + 7 x 102 + 5 x 103 + 1 x 104
Ce qui est vrai pour les entiers est vrai aussi pour les réels, selon le même principe.
Par exemple :
= 100 + 20 + 3 + 0,2 + 0,05
123.35 = 1 x 102 + 2 x 101 + 3 x 100 + 2 x 10-1 + 5 x 10-2
II.2 Système binaire
Le système binaire est construit à partir de 2 éléments : 0 et 1 (base 2). C’est la base ‘’ naturelle’’ dans le domaine de l'automatisme, de l'électronique et de l'informatique, en effet, travaillant à partir des données logiques 0 ou 1, il est normal d’utiliser la base 2 pour la représentation.
Ce système binaire est construit à partir de 2 éléments : 0 et 1 (base 2). N’importe quel chiffre binaire est décomposable en puissance de 2.
Par exemple :
10011 = 1 x 20 + 1 x 21 + 0 x 22 + 0 x 23 + 1 x 24
Ce qui est vrai pour les entiers est vrai aussi pour les réels, selon le même principe.
Par exemple :
100.11 = 1 x 22 + 1 x 2-1 + 1 x 2-2
II.3 Système Octale
Ce système utilise 8 symbole : 0,1,2,3,4,5,6,7. Il n’est plus guère employé aujourd’hui, puisqu’il servait au codage des nombres dans les ordinateurs de première génération.
II.4 Système hexadécimal
Le développement des systèmes micro programmés (mini et micro-ordinateurs) a favorisé l’utilisation de système hexadécimal.
Ce système hexadécimal est construit à partir des 10 éléments de base du système décimal (0…9) + les 6 premières lettres de l’alphabet (A, B, C, D, E, F), chaque lettre étant équivalente à une grandeur décimale (A = 10, B = 11, C = 12, D = 13, E = 14 et F = 15).
N’importe quel chiffre hexadécimal est donc décomposable en puissance de 16.
Par exemple :
1AB9 = 1 x 163 + A x 162 + B x 161 + 9 x 160
III Conversions des bases
Il y a 3 types de conversion d’une quantité représentée dans une base bi en une autre base bj
III.1 Conversion du le système décimal ↔ système binaire
Le passage du système décimal vers le système binaire repose sur un ensemble de divisions successives par 2. Ce sont les restes de ces divisions qui, combinés, permettent de reconstituer l’équivalent en base 2 du nombre décimal :
Exemple n°1: 34(10) = ?(2)
34(10) = 100010(2)
Conversion des nombres comportant une partie fractionnaire, exemple :
(462,4375)10 = ( ?)2
Pour résoudre cette conversion, on procède comme suit :
- Convertir la partie entière (462) comme s’est indiqué ci-dessus,
- Convertir la partie fractionnaire en faisant des multiplications successives par la base en conservant à chaque fois le chiffre devenant entier.
(462)10 = (111001110)2
20 |
‘0’,4375 |
|
* 2 |
||
2-1 |
‘0’,8750 |
|
* 2 |
||
2-2 |
1 |
‘1’,75 |
0,75 |
||
* 2 |
||
2-3 |
1 |
‘1’,5 |
0,5 |
||
* 2 |
||
2-4 |
1 |
‘1’,0 |
Donc: 0,4375(10) = 0,0111(2)
Donc (462.4375)10 = (111001110.0111)2
Parfois en multipliant la partie décimale par la base, on n’arrive pas à convertir toute la partie entière. Ceci est du essentiellement au fait que le nombre à convertir n’a pas un équivalent exact dans la base B et sa partie décimale est cyclique.
Exemple : 0.15 x 2 = 0.3
0.3 x 2 = 0.6
0.2 x 2 = 0.4
0.4 x 2 = 0.8
(0.15)10 = (0.0010011001…)2 on dit que ( 0.15) 10 est cyclique dans la base 2 de période 1001.
Pour passer du système binaire au système décimal, il suffit de sommer les différentes puissances de 2 en liaison avec chacun des chiffres 1 du nombre binaire.
Exemple n°1 : 100101 (2)
Bits |
1 |
1 |
1 |
|||
Puissance |
25 |
24 |
23 |
22 |
21 |
20 |
Pondération |
32 |
4 |
1 |
Somme des pondérations: 32+4+1 = 37
Donc : 100101(2) = 37(10)
Exemple n°2 : 1011,011(2)
Bits |
1 |
1 |
1 |
1 |
1 |
||
Puissance |
23 |
22 |
21 |
20 |
2-1 |
2-2 |
2-3 |
Pondération |
8 |
2 |
1 |
0,25 |
0,125 |
Somme des pondérations: 8+2+1+0,25+0,125 = 11,375
Donc : 1011,011(2) = 11,375(10)
III.2 Conversions du système décimal ↔ système hexadécimal
Le passage du système hexadécimal vers le système décimal s’effectue selon le même principe que celui vu précédemment mais avec les puissances de 16.
1AB9 = 1 x 163 + A x 162 + B x 161 + 9 x 160
= 4096 + 10 x 256 + 11 x 16 + 9 x 1
= 6841
Le passage du système décimal vers le système hexadécimal s’effectue, soit par des divisions successives par 16, soit par passage par la base 2.
Exemple: 469(10) = ?(16)
Quotient |
Reste (/16) |
469 |
|
29 |
5 |
1 |
13 (D) |
1 |
Donc: 469(10) = 1D5(16)
Exemples : (4008)10 = (FA8)16 , (170)10 = (AA)16
Conversion des nombres comportant une partie fractionnaire, exemple :
(462,625)10 = ( ?)16
(462)10 = (111001110)2 = ( 1CE)16
0.625 x 16 = 10.00
(462,625)10 = ( 1CE,A)16
III.3 Conversions du système binaire ↔ système hexadécimal
Le passage du système binaire vers le système hexadécimal s’effectue selon le principe suivant: il suffit de faire des paquets de 4 bits, en partant du bit de poids faible et de donner l’équivalent hexadécimal de chaque paquet.
Donc 101101110101)2 = B75)16
Si le nombre binaire n’a pas un nombre de bits multiple de 4, il suffit de rajouter des « 0 » à gauche du nombre binaire afin d’obtenir un paquet de 4 bits: on procède ensuite de la même façon que ci-dessus.
Donc 11101101110101)2 = 3B75)16
Le passage de l’Hexadécimal vers Binaire est le processus directement inverse : (B 9 1 3)16 = (1011 1001 0001 0011)2
IV Les Opérations dans les bases
On procède de la même manière pour les opérations arithmétiques (addition, soustraction, multiplication et division) que celles de la base 10.
IV.1 Addition
Il faut faire la somme des chiffres dans la base 10 puis convertir dans la base B de travail en retenant les chiffres qui apparaissent à la gauche et en conservant le chiffre de l’extrémité droite.
• Exemple 1:
+ 1 1 1 0 1
= ( 1 1 1 0 1 1 0 )
2
6
IV.2 Soustraction
Exemple 1:
B 8 6 1
− C E F
= ( A B 7 2 )
1
IV.3 Multiplication
Exemple 1:
1 1 0 1 1
× 1 1 1 0
1 1 0 1 1
1 1 0 1 1
1 1 0
= ( 1 0 1 1
Exemple 2:
7
×
1 5
4 E C
E 5 4
= ( 1 3 5 6
1 1
1 1 0 1 )
2
2 A 1 2 B 3
7 E 3
E B
2
8 9 3 ) 1 6
V Représentation par les codes
V.1 Le code BCD
C’est un Code Binaire Décimal pour lequel chaque chiffre décimal est représenté sur 4 bits. Ce codage est destiné à l'affichage de valeurs décimales :
Base 10 |
Base BCD |
0000 |
|
1 |
0001 |
2 |
0010 |
3 |
0011 |
4 |
0100 |
5 |
0101 |
6 |
0110 |
7 |
0111 |
8 |
1000 |
9 |
1001 |
Exemple :
(125)10 = (0001 0010 0101)BCD
Ce codage ne permet aucun calcul, il est uniquement destiné à la saisie et à l'affichage de données.
V.2 Le code ASCII (American Standard Code for Informatique Interchange)
Le binaire permet de coder les nombres que les systèmes informatiques peuvent manipuler. Cependant, l'ordinateur doit aussi utiliser des caractères alphanumériques pour mémoriser et transmettre des textes. Pour coder ces caractères, on associe à chacun d'entre eux un code binaire, c'est le codage ASCII (American Standard Code for Information Interchange). Chaque caractère est représenté sur 8 bits en utilisant le binaire naturel.
Exemple :
Le caractère A par exemple à pour code 65 soit 01000001 en binaire. Le caractère f : 102 le point d'interrogation ? : 63
Le chiffre 2 : 50
A Ö (65)10 Ö (01000001)ASCII [ Ö (91)10 Ö (01011011)ASCII a Ö (97) 10 Ö (01100001)ASCII
V.3 Le code binaire réfléchi (code GRAY)
Le code binaire réfléchi est utilisé pour simplifier des équations dans les tableaux de karnaugh. Le principe consiste à changer l'état d'un seul bit entre deux nombres consécutifs.
Comparaison entre le binaire et le binaire réfléchi
Décimal |
Binaire naturel |
Binaire réfléchi |
||||||
1 |
1 |
1 |
||||||
2 |
1 |
1 |
1 |
|||||
3 |
1 |
1 |
1 |
|||||
4 |
1 |
1 |
1 |
|||||
5 |
1 |
1 |
1 |
1 |
1 |
|||
6 |
1 |
1 |
1 |
1 |
||||
7 |
1 |
1 |
1 |
1 |
||||
8 |
1 |
1 |
1 |
|||||
9 |
1 |
1 |
1 |
1 |
1 |
|||
10 |
1 |
1 |
1 |
1 |
1 |
1 |
||
11 |
1 |
1 |
1 |
1 |
1 |
1 |
||
12 |
1 |
1 |
1 |
1 |
||||
13 |
1 |
1 |
1 |
1 |
1 |
1 |
||
14 |
1 |
1 |
1 |
1 |
1 |
|||
15 |
1 |
1 |
1 |
1 |
1 |
V.4 Conversion Binaire naturel, Binaire réfléchi :
Il s’agit de faire une comparaison entre les bits bn+1 et bn du binaire naturel, le résultat est bn du binaire réfléchi qui vaut 0 si bn+1= bn ou 1 si non. Le premier bit à gauche reste le même.
Exemples :
(6)10 = (1 1 0 )Bn
= (1 0 1 )Br
(10)10 = (1 0 1 0 )Bn
= (1 1 1 1 )Br
V.5 Conversion Binaire réfléchi, Binaire naturel :
On fait recours toujours à une comparaison entre les bits bn+1 du binaire naturel, et les bits bn du binaire réfléchi. Le résultat est bn du binaire naturel qui vaut 0 si (bn+1)n = (bn)r ou 1 si non. Le premier bit à gauche reste toujours le même.
(10)10 = (1 1 1 1 )Br
=(1 0 1 0 )Bn
(12)10 = (1 0 1 0 )Br
=(1 1 0 0 )Bn
Remarque : Deux nombres successifs du binaire réfléchi ne changent qu’un seul bit.
Logique Booléenne Cours Automatique
Chapitre II
Logique Booléenne
Objectifs
A la fin de la séance l’étudiant doit être capable de :
Introduire à l’algèbre de Boole
Reconnaître les fonctions logiques
Pré requis
L’étudiant est supposé connaître :
Les outils mathématiques
Les systèmes de numération et les codes
Durée
Trois séances de 1h30mn
Eléments de contenu
Les opérateurs logiques de base
Les opérateurs logiques élémentaires Les propriétés des opérateurs
Niveau : 3 20 AU : 2006/2007 Cours Automatique Chapitre II
Chapitre II:
Logique Booléenne
I Introduction
C’est la logique utilisée par les ordinateurs, les automates, les systèmes automatisés pour manipuler les données, les informations et les signaux reçus ou émis.
La logique binaire ou booléenne se repose sur une variable binaire (ou signal numérique) pouvant avoir uniquement deux valeurs qui sont 0 ou 1. Cette variable est employée pour traiter des phénomènes réduits à 2 états possibles: « ouvert ou fermé », « haut ou bas », « marche ou arrêt », « vrai ou faux », « tout ou rien ».
Au même titre que l’algèbre classique, on dispose d’opérateurs logique de base (ils sont au nombre de 3) pour établir des relations entre des événements binaires:
• l’addition logique symbolisée par le « + » (prononcé OU)
• le produit logique symbolisée par le «. » (prononcé ET)
• le complément ou l’inversion logique (prononcé NON)
II Définitions
II.1 Variable binaire
On appelle variable binaire (ou logique), une variable prenant ses valeurs dans l’ensemble {0,1}.
II.2 Equation logique
On appelle équation logique une combinaison de plusieurs variables logiques donnant l’état d’une variable dite de sortie associée.
II.3 Table de vérité
La table de vérité représente l’état de la variable de sortie pour chacune des combinaisons des n variables d’entrée (2n lignes, n+1 colonne).
III Les opérateurs logiques
III.1 Addition logique (OU / OR)
L’addition logique de 2 variables s’exprime de la façon suivante : A+B. La table de vérité d’un système intégrant 2 données d’entrée et 1 donnée de sortie est la suivante:
(Norme IEC : International Electrotechnical commission)
Symbole suivant la norme IEEE (Institue of Electrical ant Electronics
Engineers)
A
B
Circuit électrique :
III.2 Produit logique (ET / AND)
Le produit logique de 2 variables s’exprime de la façon suivante: A .B. La table de vérité d’un système intégrant 2 données d’entrée et 1 donnée de sortie est la suivante:
Norme IEC
Symbole suivant IEEE
A
B
Circuit électrique :
III.3 Inversion logique (NON / NOT)
L’inversion logique d’une variable s’exprime de la façon suivante : . La table de vérité d’un système intégrant 1 donnée d’entrée et 1 donnée de sortie est la suivante:
Norme IEC
Symbole suivant IEEE
A
Circuit électrique :
III.4 Opérateur NON-OU (NOR)
C’est tout simplement la fonction inverse de l’addition logique. Elle se note : A+B
Norme IEC
Symbole suivant IEEE
S = a+b = a .b = a↓b
A
B
III.5 Opérateur NON-ET (NAND)
C’est tout simplement la fonction inverse du produit logique. Elle se note : A.B
A
B
III.6 Opérateur OU Exclusif (XOR)
Cet opérateur se note S = A ⊕ B = A.B + A.B
Règle de l’opérateur XOR
Cet opérateur logique binaire ne prend la valeur 1 que si une seule des entrées est à 1, son
symbole est comme suit : Symbole IEC :
=1 |
S |
||
A
B
S = A ⊕ B
Symbole IEEE
A
S
B
Sur le plan pratique, les opérateurs logiques existent dans des technologies très diverses (portes électroniques, pneumatiques, etc…). Ils sont utilisés pour réaliser les équations logiques sous formes de circuits (exemple en électronique numériques : des circuits intégrés TTL, CMOS…).
IVLes propriétés des opérateurs
) Commutativité:
a ET b=b ET a ⇒ a . b = b . a a OU b=b OU a ⇒ a + b = b + a ) Associativité:
a ET ( b ET c ) = ( a ET b ) ET c ⇒ a . ( b . c ) = ( a . b ) . c a OU ( b OU c ) = ( a OU b ) OU c ⇒ a + ( b + c ) = ( a + b ) + c ) Distributivité:
a ET (b OU c) = a ET b OU a ET c ⇒ a . ( b + c) = a . b + a . c
a OU (b ET c) = (a OU b) ET (a OU c) ⇒ a + ( b . c ) = ( a + b ) . ( a + c ) ) Propriétés de la somme:
a OU VRAI = VRAI ⇒ a + 1 = 1 FAUX OU a = a OU FAUX = a ⇒ 0 + a = a + 0 = a
a OU a = a ⇒ a + a = a a OU ā = VRAI ⇒ a + ā = 1
) Propriétés du produit:
a ET VRAI = VRAI ET a = a ⇒ a . 1 = 1 . a = a a ET FAUX = FAUX ⇒ a . 0 = 0 a ET a = a ⇒ a . a = a a ET ā = FAUX ⇒ a . ā = 0
) Negation:
a =a
) Propriétés combinées:
a ET (a OU b) = a ⇒ a . ( a + b ) = a + a . b = a . ( 1 + b ) = a a OU (a ET b)=a ⇒ a + ( a . b ) = a . ( 1 + b ) = a
) De Morgan:
(aETb) = aOUb;(a.b) = a+ b
(aOUb) = aETb ⇒ (a+b) = a.b
Application
1- Démontrer si les opérateurs NOR et NAND sont associatifs :
?
(a | b) | c = a | (b | c)
(a ↓ b) ↓ c = a ↓ (b ↓ c)
2- Réaliser F =a | b | c avec des portes NAND à deux entrées.
¾ Réponses
1-
9 (a | b) | c= (a b) | c
= (a b) + c
= a b + c
9 a | (b | c)= a | (b c)
= a + (b c) = a + b c
) ab + c ≠ a + b c alors la fonction NAND n’est pasassociative
9 (a↓ b) ↓ c = (a + b) ↓ c
= (a + b) c
= (a + b) c
= a c + b c
9 a (↓ b ↓ c) = a↓ ( b + c)
= a (b + c)
= a (b + c) = a b + a c
) ac + bc ≠ ab + ac alors la fonction NOR n’est pasassociative
2- a | b | c = a b c
= a + b + c
= a b + c
= a b + c
= (a | b) + c
= (a | b) c
= (a | b) | c
= [(a | b) | (a | b)] | (c | c) = [(a | b) | 1] | (c | 1)
¾ Remarques:
Les portes NAND et NOR sont très usitées dans la réalisation des circuits logiques. Grâce aux lois de De Morgan il est possible de réaliser des systèmes logiques avec uniquement des portes NAND ou NOR. Pour cela les portes NAND et NOR sont appelées des portes UNIVERSELLES.
Règle1 : Pour trouver l’expression en NAND d’une fonction logique on fait son développement en somme de produit et l’on remplace les signes opératoires OU et ET par le signe opératoire NAND
Règle2 : Pour trouver l’expression en NOR d’une fonction logique on fait son développement en produit de somme et l’on remplace les signes opératoires OU et ET par le signe opératoire NOR
Simplification des fonctions logiques Cours : Automatique
Chapitre III:
Simplification des fonctions logiques
Objectifs
A la fin de la séance l’étudiant doit être capable de :
Comprendre la simplification algébrique
Comprendre la simplification graphique
Synthétiser des applications combinatoires
Pré requis
L’étudiant est supposé connaître :
Les systèmes de numération et les codes
Logique Booléenne
Durée
Trois séances de 1h30mn
Eléments de contenu
Ecriture des fonctions logiques
Simplification algébrique Simplification graphique
Niveau : 3 31 AU : 2006/2007
Chapitre III:
Simplification des fonctions logiques
I Écriture des fonctions logiques
I.1 Somme canonique de produits
Considérons trois variables booléennes x, y et z. A partir de ces trois variables nous pouvons construire huit produits logiques (ou min terme) Pi=0,7 faisant intervenir x ou son complément, y ou son complément et z ou son complément. Pour chacune des huit combinaisons Ci=0,7 (000, 001, 010, etc…) des variables x, y et z, nous pouvons calculer les valeurs de ces produits. Celles-ci sont rassemblées dans la table suivante. Chacun de ces produits ne prend la valeur 1 que pour une et une seule combinaison : Pi vaut 1 uniquement pour la combinaison Ci.
P0 |
P1 |
P2 |
P3 |
P4 |
P5 |
P6 |
P7 |
||||
Ci |
x |
y |
z |
||||||||
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
|
2 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
|
3 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
|
4 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
5 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
6 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
7 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Pour toute fonction logique de trois variables x, y et z, nous pouvons écrire sa table de vérité, c'est-à-dire expliciter sa valeur pour chacune des huit combinaisons Ci.
Considérons, par exemple, la fonction F dont la table de vérité est donnée dans la table suivante :
Ci |
x |
y |
z |
F |
P1 + P3 + P4 |
0 |
|||||
1 |
1 |
1 |
1 |
||
2 |
1 |
0 |
|||
3 |
1 |
1 |
1 |
1 |
|
4 |
1 |
1 |
1 |
||
5 |
1 |
1 |
0 |
||
6 |
1 |
1 |
0 |
||
7 |
1 |
1 |
1 |
0 |
Cette fonction F prend la valeur 1 pour la combinaison C1 comme le produit P1, la combinaison C3 comme P3 et la combinaison C4 comme P4. La fonction F prenant la valeur 0 pour toutes les autres combinaisons comme les produits P1, P3, P4, nous pouvons donc écrire que F est égale à la fonction :
F = P1 + P3 + P4
Nous pouvons vérifier cette identité dans la table 11. Nous pouvons donc exprimer F en fonction des variables x, y et z sous la forme :
Cette façon, très générale, d'écrire une fonction booléenne est appelée somme canonique deproduits : C’est La première forme canonique
I.2 Produit canonique de sommes
Soient encore trois variables binaires x, y et z. Nous pouvons définir huit sommes logiques (ou max terme) Si=0.7 faisant intervenir x ou son complément, y ou son complément et z ou son complément. La table suivante donne les tables de vérité de ces sommes. Nous constatons que chacune de ces fonctions ne prend la valeur 0 que pour une et une seule combinaison.
S0 |
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
S7 |
||||
Ci |
x |
y |
z |
||||||||
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
|
2 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
|
3 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
|
4 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
5 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
6 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
7 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
Reprenons l'exemple précédent de la fonction F. Celle-ci vaut 0 pour les combinaisons C0, C2, C5, C6 et C7 en même temps que S0, S2, S5, S6 et S7. La fonction F peut donc être vue comme le produit logique de ces cinq sommes, ce qui est vérifié dans la table suivante. Nous pouvons donc exprimer la fonction F sous la forme suivante :
Cette écriture est appelée produit canonique de sommes.
Ci |
x |
y |
z |
F |
S0 • S2 • S5 • S6 • S7 |
0 |
0 |
||||
1 |
1 |
1 |
1 |
||
2 |
1 |
0 |
|||
3 |
1 |
1 |
1 |
1 |
|
4 |
1 |
1 |
1 |
||
5 |
1 |
1 |
0 |
||
6 |
1 |
1 |
0 |
||
7 |
1 |
1 |
1 |
0 |
C’est La seconde forme canonique.
Application :
Soit l’équation logique suivante donnée sous forme canonique 1 :
1- Montrer que cette équation pouvait se simplifier à :
Soit une deuxième équation logique donnée sous forme canonique 2 :
2- Montrer que cette équation aussi pouvait se simplifier à :
Réponse :
1- F = A.B.C + A.B.C + A.BC + A.B.C = (A+ A).B.C +(C +C).A.B = B.C + A.B
2-
On utilisera ici F = a+a.b = (a+a).(a+b) = a+b
Donc une même équation logique peut être représenté sous ces deux formes canoniques.
I.3 Forme canonique avec NAND et NOR
La troisième forme canonique est celle qui présente les équations logiques sous une forme n’utilisant que des fonctions logiques NON-ET (NAND). Cette forme n’est utile que lorsque l’on utilise des circuits électroniques. Cette forme canonique s’obtient directement de la première forme canonique. Il suffit de faire une double négation de l’équation sous forme canonique 1.
Par exemple pour l’équation logique :
Cette dernière équation est sous forme canonique 3. La quatrième forme canonique est celle qui présente les équations logiques sous une forme n’utilisant que des fonctions logiques NON-OU (NOR). Cette forme non plus n’est utile que lorsque l’on utilise des circuits électroniques.
Cette forme canonique s’obtient directement de la seconde forme canonique. Il suffit de faire une double négation de l’équation sous forme canonique 2. Par exemple pour l’équation logique
Le processus est :
Cette dernière équation est sous forme canonique 4.
I.4 Forme canonique décimal
L’écriture des expressions logique a cet inconvénient d’être assez longue. Chaque min terme parmi les 2nde nvariables correspond à un nombre représentant son ordre, c’est pourquoi on préfère parfois utiliser une écriture indiquant la liste classée des numéros des min termes de la première forme canonique.
• Exemple :
Soit :
F =abcd+abcd+abcd+abcd
peut aussi s’écrire F(a,b,c,d)=∑ (0,6,10,15)
IITechnique de Simplification
Les tables de vérité permettent de trouver les équations logiques d’un système logique. Une simplification de ces équations est nécessaire pour diminuer le nombre et la nature des opérateurs et par la suite les équipements indispensables aux applications sans modifier le fonctionnement.
Deux techniques sont souvent utilisées pour simplifier les équations logiques, la méthode algébrique et la méthode du tableau de Karnaugh dés que le nombre des entrées est élevé.
II.1 Méthode Algébrique
La simplification est obtenue par calcul algébrique en utilisant :
-Les équations booléennes
-Les propriétés des fonctions logiques
-Les théorèmes de De Morgon
-La mise en facteurb
-La multiplication par 1 (car X + X =1)
-L’addition d’un terme nul « 0 » (car X • X =0) Exemples :
F = a + a..b = (a + a).(a + b)= a + b
F = a..b.c + a.b.c + a.b.c + a.bc = b.c.(a + a)+ a.b.c + a.b.c
= c.(b + a.b)+ a.b.c = c.(a + b)+ a.b.c
= a.c + b.(c + a.c)= a.c + b.(a + c)
F = (a + b).c +(a + c).a.b + b.c + a
= a.(c + (a + c).b +1) + b.c + b.c
= a + b.(c + c) = a + b
II.2 Méthode graphique
II.2.1 Tableau de Karnaugh
C’est un tableau de 2n cases, n étant le nombre de variables.
Sur les lignes et colonnes, on place l’état des variables d’entrée codées en binaire.
Dans chacune des cases, on place l’état de la sortie pour les combinaisons d’entrée correspondante.
Les figures suivantes donnent la structure des tableaux de Karnaugh pour 2, 3, 4 et 5 variables. Pour 5 variables, deux représentations sont possibles. Le tableau de Karnaugh peut être traités comme deux tableaux 4x4 superposés ou un seul tableau de 4x8. Observez comment sont numérotées les lignes et les colonnes : d'une case à sa voisine une seule variable change d'état.
Chaque case d'un tableau correspond au seul minterm prenant la valeur 1 pour la combinaison identifiée par la ligne et la colonne. Par exemple les trois cases coloriées dans les tableaux de la figure suivante correspondent respectivement aux produits suivants :
Il faut comprendre chaque ligne et chaque colonne comme une structure cyclique continue : chaque case a toujours quatre voisins qu'il faut éventuellement chercher à l'autre extrémité de la ligne ou de la colonne. Les tableaux suivants illustrent ce concept, les croix y matérialisent les voisins des cases coloriées :
(xyzt) (xyzt) (xyzt)
Dans le cas de la représentation en deux tableaux superposés chaque case a cinq voisins : les quatre dans le même plan et une dans l'autre plan.
II.2.2 Simplification d’équations à partir du tableau de Karnaugh
Le passage de la table de vérité au tableau de Karnaugh consiste à remplir chaque case avec la valeur de la fonction pour le produit correspondant. Il est possible de n'indiquer que les 1.
La méthode de simplification par tableau de Karnaugh consiste à mettre en évidence, par un procédé graphique, tous les termes d’une fonction logique qui ne diffèrent que par l’état d’une seule variable (termes dits adjacents).
Pour cela on réalise des groupements de cases adjacentes. Ces groupements de cases doivent être de taille maximale (nombre de cases max.) et égale à un multiple de 2n. On cesse d’effectuer les groupements lorsque tous les « 1 » appartiennent au moins à l’un d’eux.
On cherche à avoir le minimum de groupements, chaque groupement rassemblant le maximum de termes. Une même case peut intervenir dans plusieurs groupements car C + C = C. C'est le cas de la case jaune sur la figure suivante.
Pour les cases isolées on ne peut éliminer aucune variable. On conserve donc le produit caractérisant la case. L'expression logique finale est la réunion des groupements après élimination des variables qui changent d'état.
a- Regroupement des cases adjacentes:
) 2 cases:
Exemple: tableau à 3variables
Prenons l'exemple d'une fonction F définie par la table de vérité suivante :
x |
y |
t |
F |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
La figure suivante donne le tableau de Karnaugh correspondant :
Nous y observons trois groupements de deux termes, nous pouvons écrire pour la fonction :
F = xy+ yt + xt
Règle: « La réunion de 2 cases adjacentes contenant ‘1’ élimine la variable qui change d’état quand on passe d’une case à l’autre ».
) 4 cases:
Considérons la fonction F de quatre variables x, y, z et t définie par la table de vérité suivante
:
x |
y |
z |
t |
F |
1 |
||||
1 |
||||
1 |
1 |
|||
1 |
1 |
|||
1 |
||||
1 |
1 |
1 |
||
1 |
1 |
|||
1 |
1 |
1 |
||
1 |
1 |
|||
1 |
1 |
1 |
||
1 |
1 |
1 |
||
1 |
1 |
1 |
1 |
|
1 |
1 |
|||
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
||
1 |
1 |
1 |
1 |
La figure suivante donne le tableau de Karnaugh équivalent. Sur cette figure nous avons également matérialisé les trois groupements possibles : deux groupements de quatre termes, dont un contenant les quatre coins, et un groupement de deux termes.
Cette méthode nous permet d'écrire : F = xy + yt + yzt
Règle: « 2 variables disparaissent quand on regroupe 4 cases adjacentes, on peut alors remplacer la somme des 4 cases par un seul terme produit qui ne comporte que les variables inchangées sur l’ensemble des 4 cases ».
) 8 cases:
- Exemple:
F = C .D+C.D = D
Règle: « 3 variables disparaissent quand on regroupe 8 cases adjacentes, on peut alors remplacer la somme des 8 cases par un seul terme produit qui ne comporte que les variables inchangées sur l’ensemble des 8 cases ».
* Remarques:
- On ne peut regrouper que 2n cases: 2, 4, 8, 16,
- On se limitera à des tableaux de 4 variables, pour résoudre par exemple un problème à 5 variables, on le décompose en 2 problèmes à 4 variables.
- Le symbole ∅ peut prendre indifféremment la valeur 0 ou 1; on remplace donc par 1 uniquement ceux qui permettent de simplifier une expression par regroupement.
)Exemple:
ABC |
F(A,B,C) |
0 0 0 |
∅ |
0 0 1 |
|
0 1 0 |
1 |
0 1 1 |
∅ |
1 0 0 |
|
1 0 1 |
|
1 1 0 |
∅ |
1 1 1 |
1 |
Î Î F(A,B,C) = B
b- regroupement des Zéros
Il est également possible et c’est parfois plus facile, de regrouper les 0 de F et de considérer
que nous étudions F. Trouver l’équation de F nous amènerait simplement à considérer le complément de l’équation trouvée pour F.
CD
AB |
C D 00 |
C D 01 |
CD 11 |
C D 10 |
A B 00 |
1 |
1 |
1 |
|
A B 01 |
1 |
1 |
1 |
|
AB 11 |
1 |
1 |
1 |
|
A B 10 |
1 |
1 |
F = C ⋅D + A⋅B⋅D
F = (C + D)⋅(A+ B + D)
Résumé: la synthèse d’un système combinatoire
* Passage T.V. ==> T.K. ==> E.A.:
- Etape n°1: construire le tableau en repérant les lignes et les colonnes par les valeurs des combinaisons de variables.
- Etape n°2: transcrire les valeurs de la fonction dans les cases correspondantes.
- Etape n°3: chercher à effectuer des regroupements du plus grand nombre de ‘1’ qui ont au moins un ‘1’ qui n’a pas déjà été regroupé: 16 puis 8 puis 4 puis 2.
- Etape n°4: effectuer la somme logique de tous les termes produits des divers regroupements.
Cours Automatique Chapitre II
Chapitre IV
Circuits Logiques Combinatoires
Objectifs
A la fin de la séance l’étudiant doit être capable de :
Reconnaître les circuits logiques combinatoires
Utiliser les circuits combinatoires pour la réalisation des fonctions logiques.
Pré requis
L’étudiant est supposé connaître :
Les systèmes de numération et les codes
Logique Booléenne
Simplification des fonctions logiques
Durée
Trois séances de 1h30mn
Eléments de contenu
Codeurs et Décodeurs
Multiplexeurs et Démultiplexeurs Comparateurs et Additionneurs
Niveau : 3 44 AU : 2006-2007
Chapitre IV
Circuits Logiques Combinatoires
IIntroduction
A un système combinatoire, correspond un circuit logique possédant un nombre n des entrées e1, e2, …. en et un nombre p de sorties s1, s2, …. sp . A une combinaison d’entrées quelconque correspond une et une seule combinaison de sorties.
Nous allons étudier des systèmes logiques constitués avec des circuits de base qu’utilisent les différentes portes logiques.
II Les Codeurs
Un codeur est un circuit logique combinatoire qui reçoit un niveau valide de ces entrées convertit en une sortie codée (par exemple un DCB ou un nombre binaire).
Ainsi, pour un codeur, lorsqu'une entrée (sur les N) est activée, les sorties affichent le numéro de l’entrée active dans le code binaire choisi (sur n bits), tel que:
2n-1 < N ≤ 2n
Exemple: codeur décimal vers binaire (10 entrées vers 4 sorties) Ex: si E5=1 et Ei=0 pour
toutes les autres entrées, alors les sorties affichent (A3,A2,A1,A0)=(0,1,0,1).
• Exemple : Codeur DCB
01 a0
a1
9a2
67 a3
8
Entrées |
So |
rties |
|||
a3 |
a2 |
a1 |
a0 |
||
1 |
1 |
||||
2 |
1 |
||||
3 |
1 |
1 |
|||
4 |
1 |
||||
5 |
1 |
1 |
|||
6 |
1 |
1 |
|||
7 |
1 |
1 |
1 |
||
8 |
1 |
||||
9 |
1 |
1 |
a0 = 1 + 3 + 5 + 7 + 9 a1 = 2 + 3 + 6 + 7 a2 = 4 + 5 + 6 + 7
a3 = 8 + 9
III Les Décodeurs
Un décodeur est un circuit combinatoire qui détecte la présence d’une combinaison spécifique de bits (code) à ses entrées et l’indique par un niveau spécifique de sortie.
Un décodeur possède n entrées et 2n sorties. L’entrée n est dite entrée ‘’ Adresses’’.
Adresse n
Une seule sortie est active à la fois : 0 ou 1 suivant le circuit. Ce circuit permet de sélectionner une sortie parmi 2n. Exemple :
Décodeur 2 entrées 4 sorties : 1 sortie active à 1 parmi 4.
|
)Remarques:
On peut réaliser des décodeurs de taille quelconque par combinaisons des précédents en utilisant les entrées de validation.
Exemple: un circuit de décodage des combinaisons de 5 variables: 1 parmi 32, en
utilisant 4 décodeurs 1 parmi 8 ou bien 2 décodeurs 1 parmi 16.
Exemples d’utilisation des décodeurs: Système de mémoire d’un ordinateur: les décodeurs permettent de choisir un bloc mémoire parmi plusieurs blocs en réponse à une adresse.
IV Les Transcodeurs
Un transcodeur est un circuit logique combinatoire qui détermine à partir des données logiques leurs équivalents dans un autre code.
Il est généralement formé d’un décodeur en cascade avec un codeur.
Exemple : Transcodeur binaire naturel - binaire réfléchi
V Les Multiplexeurs ( MUX )
Pour transmettre des informations d’une station à une autre, il nous faut plusieurs lignes en parallèle. Ceci est difficile et très onéreux à réaliser lorsque les stations sont géographiquement éloignées l’une de l’autre. La solution est alors, transmettre en série sur une seule ligne, en utilisant à la station émettrice un Multiplexeur (convertisseur parallèle/série) et à la station réceptrice un Demiltiplexeur (convertisseur série/parallèle).
V.1 Définition:
Un multiplexeur est un circuit logique combinatoire qui permet d’acheminer les informations numériques de plusieurs sources sur une ligne, afin de les transmettre vers une destination commune.
C’est un circuit logique qui permet de sélectionner une information logique parmi N informations:
Les informations sont connectées à N entrées appelées « entrées de données ».
Le choix de l’entrée se fait à partir d’un nombre P de variables appelées « variables de sélection ».
Chaque combinaison des variables de sélection adresse l’une des entrées d’où:
N=2P.
Entrées de E0données E1
.
EN-1
A0 . . Ap : Entrées de sélection
V.2 Multiplexeur à 2 entrées: « N=2 et P=1 »
Il permet d’aiguiller vers la sortie S, une voie d’information parmi 2 (E0,E1) suivant l’état d’une variable de sélection notée A0.
* Table de fonctionnement: *Symbole logique: *Table de vérité:
A0 |
E1 |
E0 |
S |
X |
|||
X |
1 |
1 |
|
1 |
X |
||
1 |
1 |
X |
1 |
A0 |
Sortie S |
Sélecteur de E0 |
|
1 |
Sélecteur de E1 |
E1
S(A0,E0,E1) = A 0.S(0,E0,E1)+A0.S(1,E0,E1) = A 0.E0+A0.E1
V.3 Multiplexeur à 4 entrées: « N=4 et P=2 »
Il permet d’aiguiller vers la sortie S, une voie d’information parmi 4 (E0,E1,E2,E3) suivant l’état de 2 variables de sélection A0A1.
* Table de fonctionnement: *Symbole logique: *Table de vérité:
|
S = A 1.A 0.E0+A 1.A0.E1+A1.A 0.E2+A1.A0.E3
Q1 : Réaliser les schémas logiques des multiplexeurs à 2 entrées et à 4 entrées ?
Multiplexeurs à 8 voies d’entrées: (P = 3) * Exemple: « le circuit 74LS151 à 8 entrées »
- Equation:
Y= A 2. A 1. A 0.E0+ A 2. A 1.A0.E1+ A 2.A1. A 0.E2+ A 2.A1.A0.E3+A2. A 1. A 0.E4+A2.
A 1.A0.E5+A2.A1.A 0.E6+A2.A1.A0.E7
Exemples de multiplexeurs à 16 entrées: (P = 4)
- En technologie TTL: 74LS150
- En technologie CMOS: MC14067
V.4 Applications des multiplexeurs :
Réaliser des aiguillages d’informations,
Lire l’état d’une entrée en fonction de l’adresse n de l’entrée ( 1 parmi 2n ),
Permettre la ‘’sérialisation’’ d’une information, c’est à dire la transformation parallèle-série.
Exemple : principe de transformation parallèle-série
E0 E1 E2 E3
Impulsion
Le compteur à chaque impulsion d’horloge, délivre sur les entrée d’adresse A et B du Multiplexeur les informations (00,01,10,11,00…) ce qui implique sur la sortie,
successivement les informations E0, E1,E2, E3, E0….
V.5 Réalisation des fonctions logiques à l’aide des multiplexeurs
Soit la fonction F (a, b, c, d) = ∑ (0, 2, 5, 7, 11, 13, 14, 15)
En utilisant un Multiplexeur 16 vers 1 câbler cette fonction.
Décimal |
E3=d |
E2=c |
E1=b |
E0=a |
Y |
S |
D0 |
1 |
|||||
1 |
1 |
D1 |
||||
2 |
1 |
D2 |
1 |
|||
3 |
1 |
1 |
D3 |
|||
4 |
1 |
D4 |
||||
5 |
1 |
1 |
D5 |
1 |
||
6 |
1 |
1 |
D6 |
|||
7 |
1 |
1 |
1 |
D7 |
1 |
|
8 |
1 |
D8 |
||||
9 |
1 |
1 |
D9 |
|||
10 |
1 |
1 |
D10 |
|||
11 |
1 |
1 |
1 |
D11 |
1 |
|
12 |
1 |
1 |
D12 |
|||
13 |
1 |
1 |
1 |
D13 |
1 |
|
14 |
1 |
1 |
1 |
D14 |
1 |
|
15 |
1 |
1 |
1 |
1 |
D15 |
1 |
D0=1 D1=0
D2=1
D3=0D4=0 D5=1
DD67=0=1Y=S
D8=0
D9=0
D10=0
D11=1
D12=0
D13=1
D14=1
D15=1
VI Les Démultiplexeurs : (DMUX)
VI.1 Définition:
Un démultiplexeur prend les données reçues sur une ligne et les distribue à un nombre donné des lignes de sortie.
Un circuit démultiplexeur permet d’aiguiller la donnée présentée sur son entrée vers une seule destination parmi N connectées sur les N sorties du circuit. Le choix se fait à partir de P variables de sélection d’où: N=2P.
Ö C’est l’opération inverse du multiplexage.
VI.2 Réalisation:
Le démultiplexage d’informations de « 1 bit » est réalisé pratiquement par les circuits décodeurs => appellation « décodeur/démultiplexeur »:
- L’entrée de la donnée du démultiplexeur est l’entrée de validation du circuit.
- Les entrées de sélection du démultiplexeur sont les entrées de données du circuit.
S0
S1
S2
S3
Q1 :Réaliser le schéma logique du démultiplexeur à 4 sorties ?
VII Les Comparateurs
C’est un circuit permettant de comparer 2 mots de n bits chacun en indiquant sur ses sorties S1, S2 et S3 si le premier mot est égal, plus grand ou plus petit que le second.
S0 = 1 si A = BS1= 1 si A > B S2 = 1 si A <B
a0
Comparateur |
S0 |
||
. . . |
|||
S1 |
|||
S2 |
|||
. . . |
|||
A { 1 (A = B) a
an
(A >B)
b0
{ 1
b (A < B)
B bn
• Exemple : Comparateur 2 bits
S0 (A = B) A {
S (A >B) B {
S (A < B)
b1 |
b0 |
a1 |
a0 |
S0 |
S1 |
S2 |
|
1 |
|||||||
1 |
1 |
||||||
1 |
1 |
||||||
1 |
1 |
1 |
|||||
1 |
1 |
||||||
1 |
1 |
1 |
|||||
1 |
1 |
1 |
|||||
1 |
1 |
1 |
1 |
||||
1 |
1 |
||||||
1 |
1 |
1 |
|||||
1 |
1 |
1 |
|||||
1 |
1 |
1 |
1 |
||||
1 |
1 |
1 |
|||||
1 |
1 |
1 |
1 |
||||
1 |
1 |
1 |
1 |
||||
1 |
1 |
1 |
1 |
1 |
9 Equations
S0 = a0 . a1 . b0 . b1 + a0 . a1 . b0 . b1 + a0 . a1 . b0 . b1 + a0 . a1 . b0 . b1
= a1. b1 . (a0 . b0 + a0. b0 ) + a1 . b1 . (a0 . b0 + a1 . b0 )
= (a0 ⊕ b0 ) (a1 ⊕ b1 )
S1= a0 . a1 . b0 . b1 + a0 . a1 . b0 . b1 + a0 . a1 . b0 . b1 + a0 . a1 . b0 . b1
+ a0 . a1 . b0 . b1 + a0 . a1 . b0 . b1
= a1 . b1 . + a0. b0 . b1 +a0. a1. b0
S2 = S0 + S1
9 Logigramme
VIII Les Additionneurs
Un additionneur est un circuit combinatoire qui additionne dans sa sortie S deux éléments binaires A et B, tout en plaçant le retenue de l’opérateur à la sortie R. Ils sont d’une grande importance non seulement dans l’ordinateur mais aussi dans des nombreux systèmes traitant des données numériques.
Additionneur |
|||
. . . |
|||
. . . |
|||
. . . |
|||
a0
A { 2S20aS
an
I.1.1.1.1b0
{
I.1.1 b1Sn
bn
Rn+1
En base 2 l'addition de deux bits s'écrit :
⎧0 + 0 ⎪ ⎪0 +1 ⎨ ⎪1+ 0 ⎪⎩1+1 |
= = = = |
00 01 01 10 |
Comme en décimal, nous devons donc tenir compte d'une éventuelle retenue (carry). La figure suivante montre la décomposition de l'addition de deux nombres binaires de quatre bits.
A = a3a2a1a0
+ = |
r3 r3 |
r2a3 b3S3 |
r1a2 b2S2 |
r0 a1 b1 S1 |
a0 b0S0 |
retenus nombre A nombreB SommeS = A+ B |
B = b3b2b1b0
a etb
L'addition des deux bits de bas poids (LSB : Least Significant Bit) 0 0 , donne un résultat partiel S0 et une retenue r0. On forme ensuite la somme des deux bits a1etb1 et de la retenue r0. Nous obtenons un résultat partiel S1 et une retenue r1. Et ainsi de suite, nous obtenons un résultat sur quatre bits S et une retenue r3.
Considérons la cellule symbolisée sur la figure suivante, comptant deux entréesa etb les deux bits à sommer et deux sorties S le résultat de la somme et r la retenue.
VIII.1 Demi-Additionneur (2 bits)
Considérons la cellule symbolisée sur la figure suivante, comptant deux entréesa etb les deux bits à sommer et deux sorties S le résultat de la somme et r la retenue.
9 Table de vérité :
A |
B |
S |
r |
1 |
1 |
||
1 |
1 |
||
1 |
1 |
1 |
9 Equations des sorties :
9 Logigramme :
9
VIII.2 Réalisation d’un Additionneur complet (2 bits)
Il faut en fait tenir compte de la retenue des bits de poids inférieurs, un circuit additionneur du rangn doit donc comporter trois entrées et deux sorties, comme représenté sur la
figure suivante :
9 Table de vérité :
an |
bn |
rn−1 |
Sn |
rn |
1 |
1 |
|||
1 |
1 |
|||
1 |
1 |
1 |
||
1 |
1 |
|||
1 |
1 |
1 |
||
1 |
1 |
1 |
||
1 |
1 |
1 |
1 |
1 |
9 Equations des sorties :
S = a⊕b⊕rn−1rn = ab+(a⊕b)rn−1
9 Logigramme :
Ce serait possible en combinant deux demi-additionneur comme présentés ci-dessous. En pratique pour minimiser le nombre de composants, ou de portes dans un circuit intégré, un tel additionneur est réalisé directement.
Système logique séquentiel Cours : Automatique
Chapitre V
Système Logique séquentiel
Objectifs
A la fin de la séance l’étudiant doit être capable de :
Comprendre le fonctionnement des bascules
Simuler les fonctions logiques séquentielles
Pré requis
L’étudiant est supposé connaître :
Les systèmes de numération et les codes
Logique Booléenne
Durée
Deux heures et 30 minutes
Eléments de contenu
Les différentes bascules
Les équations logiques séquentielles
Niveau : 3 60 AU : 2006/2007
Chapitre V:
Système Logique séquentiel
I Introduction
Avec la logique combinatoire : la fonction de sortie à t ne dépend que des entrées à t, exemple : Un appui sur un bouton allume la lumière, un deuxième appui l’éteint.
Avec la logique séquentiel les sorties actuelles dépendent non seulement des états des entrées (capteurs, boutons poussoirs…) appelées entrées primaires mais encore des réactions provenant des états des précédentes appelées entrées secondaires : système possède une fonction mémoire.
Exemple : Appel d’un ascenseur ; on appuie sur le bouton, l’appel est enregistré et le voyant s’allume. Si on relâche le bouton, le voyant reste allumé, il y a donc mémorisation.
II Les bascules
Une bascule est un système séquentiel constitué par un ou deux entrée et une sortie notée Q et
son complément Q. Leur rôle est de mémoriser une information élémentaire.
On distingue des bascules à fonctionnement synchrone et à fonctionnement asynchrones :
Synchrones : La sortie d’un système à fonctionnement synchrone réagit à la
modification des variables d’entrée uniquement quand un signal Horloge devient actif.
(Il y a obligatoirement une horloge qui est considérée comme variable d’entrée).
Asynchrones : La sortie d’un système à fonctionnement asynchrone répond immédiatement à toute modification des variables d’entrées primaires. (Pas d’horloge ou bien il y a une horloge mais la sortie peut changer indépendamment de l’horloge).
On étudiera quatre grand types de bascules : RS, D, T et JK.
II.1 Bascule RS
La bascule RS est une bascule asynchrone (sans entrée d’horloge). C’est la bascule élémentaire, qui constitue la base de tous les autres types de bascules. La bascule RS peut être réalisée avec des portes OU-NON (NOR) ou avec des portes ET-NON (NAND).
S : Set mise à 1 de Q
R : Reset mise à 0 de Q (effacement)
- Si on applique R S = 1 0 ; la sortie Q = 0 et Q = 1,
R est l’entrée de mise à 0 de la bascule (RESET)
- Si on revient à R = 0 et toujours S = 0, la sortie reste Q = 0 et Q = 1;
- Si on applique S = 1 et R = 0, la sortie Q = 1 et Q = 0;
S est l’entrée de mise à 1 de la bascule (SET)
- Si on revient à S = 0 et R = 0, la sortie Q = 1 c’est la valeur enregistrée dans la mémoire,
- Pour RS = 11 est interdite, le fonctionnement de la bascule est non spécifié ;
On ne peut pas prévoir le résultat, la porte la plus rapide impose son état (on doit donc tenir compte des temps de propagation); donc, c’est une configuration interdite (forme indéterminée).
Equation
Qn+1 =Qn.R + S |
Logigramme
La bascule RS avec des portes NAND
La bascule RS avec des portes NOR :
Chronogramme :
Exemple : Une alarme de voiture : le voleur ouvre la porte, l’alarme se met à sonner. Même si le voleur referme la porte, l’alarme doit continuer à sonner, il y a donc mémorisation. Seul le propriétaire de la voiture pourra arrêter l’alarme en appuyant sur un bouton spécial. La bascule utilisée ici est une bascule RS.
II.2 Bascule RSH
Fonctionnement: Les changements d’état de la sortie sont synchronisés sur le signal horloge
H actif au niveau Haut (1): signal de type impulsion.
- Si H=0: les signaux R et S sont sans effet.
- Si H=1: réaction de la sortie suivant la combinaison (R,S).
==> H est par conséquent le signal de validation d’une bascule RS synchrone.
* La bascule RSH à commande sur front montant:
Entrées |
Sorties |
Opération sur Q |
||
H |
R |
S |
Qt+1 |
(Fonction) |
X |
X |
Qt |
mode mémoire |
|
1 |
X |
X |
Qt |
mode mémoire |
↑ |
1 |
mise à 0 sur front montant |
||
↑ |
1 |
1 |
mise à 1 sur front montant |
|
↑ |
1 |
1 |
1 |
opération interdite |
II.3 Bascule D
La bascule D est une bascule synchrone (avec une entrée d’horloge) à une seule entrée de donnée : l’entrée D (D=Data=Donnée). Elle recopie avec un retard d’une période d’horloge l’unique signal appliqué à son entrée D.
Elle supprime la combinaison interdite de la bascule RS, en ne gardant que les 3 fonctions utiles :
- la mise à 0
- la mise à 1
- la mémorisation
Table de vérité
D |
Qn |
Qn+1 |
/Qn+1 |
Description |
1 |
Maintient à 0 |
|||
1 |
1 |
Déclenchement |
||
1 |
1 |
Enclenchement |
||
1 |
1 |
1 |
Maintient à 1 |
La bascule D élimine la mémorisation et le cas indéterminé dans la bascule RS. Equation
|
|
En mettant S = D et R = D dans l’équation de la bascule RS on aura :
Qn+1 = R . Qn + S = D . Qn + D = D ( 1 + Qn) = D
Logigramme
Chronogramme :
II.4 Bascule JK
Contrairement à la bascule RS, condition J=K=1, ne donne pas lieu à une condition indéterminée, mais par contre la bascule passe à l’état opposée.
En fonction de la valeur appliquée sur les entrées J et K (4 combinaisons possibles), on choisit le mode de fonctionnement de la bascule parmi les 4 :
- Mémorisation
- Mise à 0
- Mise à 1
- Basculement Table de vérité
J |
K |
Qn |
Qn+1 |
/Qn+1 |
Description |
1 |
Etat précédent |
||||
1 |
1 |
Etat précédent |
|||
1 |
1 |
Maintient à 0 |
|||
1 |
1 |
1 |
Déclenchement |
||
1 |
1 |
Enclenchement |
|||
1 |
1 |
1 |
Maintient à 1 |
||
1 |
1 |
1 |
Enclenchement |
||
1 |
1 |
1 |
1 |
Déclenchement |
Equation
Qn+1 = K .Qn + J .Qn |
Logigramme
Chronogramme :
La sortie n’est activé qu’au front montant de l’horloge : J est l’entrée de mise à 1 et K celle pour la mise à 0.
II.5 Bascule T
On obtient la bascule T, en reliant les entrées J et K d’une bascule JK. A chaque impulsion d’entrée, la sortie est inversée. (utile pour les compteurs)
Table de vérité
T |
Qn |
Qn+1 |
/Qn+1 |
Description |
1 |
Maintient à 0 |
|||
1 |
1 |
Maintient à 1 |
||
1 |
1 |
Enclenchement |
||
1 |
1 |
1 |
Déclenchement |
Equation
En remplaçant J et K par T dans l’équation de la bascule JK on obtient :
Qn+1 =T.Qn +T.Qn |
Chronogramme :
Système logique séquentiel Cours : Automatique
Chapitre VI
Circuits Logiques Séquentiels :
Registres et Compteurs
Objectifs
A la fin de la séance l’étudiant doit être capable de :
Connaître les Compteurs et les registres Comprendre leurs fonctionnements
Analyser les compteurs et les registres
Pré requis
L’étudiant est supposé connaître :
Logique Booléenne
Système logique séquentiel
Durée
Trois heures et 30 minutes
Eléments de contenu
Les différents registres à décalage
Les compteurs synchrones
Les compteurs asynchrones
Niveau : 3 69 AU : 2006/2007
Chapitre VI:
Circuits Logiques Séquentiels :
Registres et Compteurs
I Introduction
Il s'agit maintenant d'examiner des dispositifs traitant plusieurs informations à la fois et comportant pour ce faire :
• un groupe des bascules alimentées par une horloge,
• un réseau combinatoire d'entrée qui élabore les commandes d'excitation des bascules,
• un réseau de sortie donnant l'état des bascules.
II Les registres
L’application la plus courante des bascules est la mémorisation des données binaires. Les données sont stockées dans des circuits numériques à base des bascules : ce sont les registres. Le chargement d’un registre est l’enregistrement des données dans le circuit.
L’opération fondamentale des registres est le transfert des données entre les circuits : écriture ou lecture.
II.1 Registres à décalage
Si on désire mémoriser une information comportant un trop grand nombre de bits, ou qu’elle doit être transportée à grande distance, on effectue ‘’ un chargement série’’.
L'information peut être chargée de deux manières dans ce type de registre :
• Entrée parallèle(PI): ou chargement parallèle
• Entrée série (SI): ou chargement série
De même l'information peut être lue de deux manières
• Sortie parallèle (PO) : lecture parallèle
• Sortie série (SO) : ou lecture série
II.1.1 Registres à décalage SISO
Ce type de registre à décalage possède une seule entrée donnée binaire et une seule sortie.
Donc, il est caractérisé par un transfert série des données vers la droite ou vers la gauche. Le schéma fonctionnel:
Exemple : un registre à décalage de 4 bits s’utilise pour le stockage d'une information binaire de 4 bits. Le circuit est composé de 4 bascules D synchrones. Les entrées des bascules sont commandées par le même signal d’horloge. Les bascules fonctionnent au front montant d’horloge.
Remarque :
Un registre à décalage à droite et à gauche permet d’effectuer des multiplications et des divisions entiers par des puissances de 2. En effet, une multiplication par 2 est équivalente à un décalage vers la gauche et une division par 2 à un décalage vers la droite .
II.1.2 Registre à décalage PIPO
C’est un registre qui possède des entrées parallèles de données et des sorties parallèles. Le schéma fonctionnel:
E0 E1 E2 E0
H
Exemple : le circuit suivant est un registre à entrées/sorties parallèles de 4 bits, constitué de 4 bascules D synchrones pouvant charger chacune un bit de données.
II.1.3 Registre à décalage PISO
Ce registre a plusieurs entrées des données et une seule sortie. Le chargement des données se fait donc en parallèle et le transfert à la sortie en série.
Le schéma fonctionnel:
H
Exemple : Le circuit intégré 74165 est registre de 8 bits, il possède 8 entrées données (A,B,C,D,E,F,G,H ) est une seule sortie (QH ). La constitution interne utilise 8 bascules R-S et certaines portes logiques pour commander le circuit.
II.1.4 Registre à décalage SIPO
L’Entrée est écrite sur un seul bit. La sortie est lue plusieurs bits. Le schéma fonctionnel:
E
CLR
H
Le schéma avec bascule D: 0S1 S2S3
Exemple : le circuit intégré 74 164 est un registre de 8 bits. Il comporte deux entrées série A et B qui sont combinées dans une porte ET. La valeur de leur produit logique correspond à l’entrée principale.
Pour décaler la donnée série de la bascule QA à QH, il faut 8 impulsions d’horloge.
Si A et B sont au niveau 1→la donnée série est A = B = 1. La transmission de cette valeur aux
entrée en fonction de chaque impulsion d’horloge : (A et B sont maintenues à 1).
Imp D’Hlge |
QA |
QB |
QC |
QD |
QE |
QF |
QG |
QH |
1 |
1 |
|||||||
2 |
1 |
1 |
||||||
3 |
1 |
1 |
1 |
|||||
.. |
||||||||
8 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
III Les Compteurs
Un compteur est un ensemble de n bascules interconnectées par des portes logiques. Ainsi, ce sont des circuits séquentiels qui permettent de faire le comptage des impulsions en fonctions des états précédents. L’élément de base qui est la bascule, permet aussi de mémoriser les états précédents.
Capacité d’un compteur = N: C’est le nombre maximum d’impulsions qu’il peut enregistrer avant de revenir à son état initial. Un compteur à « n » bascules appelé COMPTEUR MODULO N = 2n, peut prendre N états: de 0 à N-1; la Nième impulsion remet le compteur à 0. On doit utiliser des portes logiques pour remettre à 0 le comptage et pouvoir compter de nouveau.
III.1 Compteurs asynchrones modulo N = 2n :
Le changement d’état des sorties n’est pas synchronisé par un seul signal d’horloge. En effet, la sortie de chaque bascule correspond à l’entrée d’horloge de la bascule suivante. Le nombre des bascules utilisées est égal au degré n de puissance de 2.
Exemple : compteur asynchrone modulo 4 : Le compteur comporte 2 bascules J-K à front descendent. La condition J=K=1 fait inverser l’état de sortie des bascules à chaque front descendant d’horloge.
Le signal d’horloge d’une bascule de rang i est le signal de sortie de la bascule de rang i-1.
Le tableau suivant comporte l’état des sorties Q0 et Q1 selon le nombre d’impulsions d’horloge :
Nombre d’impulsions |
Q1 |
Q0 |
1 |
1 |
|
2 |
1 |
|
3 |
1 |
1 |
4 |
||
… |
… |
… |
III.2 Compteurs asynchrones modulo N ≠ 2n
Ce type doit comporter un circuit de remise à 0 lorsqu’il atteint N impulsions. Le nombre des bascules nécessaires est (n), telle que 2n-1 < N < 2n.
On lui ajoute un asservissement de l’entrée Clear pour remettre le compteur à Zéro tous les N coups.
Exemple : compteur asynchrone modulo 10
Le circuit doit compter de 0000 jusqu’à 1001 en binaire. Puisque 10 se trouve entre 23 et 24, on doit utiliser donc 4 bascules. Le circuit de remise à 0 utilise les bornes Reset de chaque bascule.
La suite des nombres est :
D C B A 0 0 0 0
1 0 0 1 Etat des sorties qui remet à
0 le compteur
1 0 1 0
Cette dernière combinaison correspond donc à : D = 1, C = 0, B = 1 et A = 0. On tire la condition de remise à Zéro : D = B = 1.
Donc R=D.B
Le circuit logique est donné par la figure suivante :
III.3 Compteurs synchrones
Appelés encore compteurs parallèles. Dans ce type, toutes les bascules composant le compteur reçoivent en même temps le signal d’horloge. Ceci exige l’existence d’un mécanisme qui sélectionne, à chaque impulsion d’horloge, laquelle des bascules qui doit changer d’état ou basculer. Pour cela, on utilise les entrées J et K des bascules pour réaliser ce mécanisme.
Exemple : Compteur synchrone modulo 16
On utilise 4 bascules J-K pour sortir le comptage sur 4 bits. Les nombres comptés sont de 0000 jusqu’à 1111. Dans ce cas, on doit tenir compte de l’état de chaque bascule pour chaque impulsion d’horloge. Le tableau suivant nous montre les combinaisons des sorties des bascules :
On constate que la bascule A doit basculer à chaque coup d’horloge. Il suffit donc de mettre J = K = 1 dans cette bascule.
Quand à la bascule B, elle ne change d’état qu’après deux coups d’horloge par rapport à la bascule A. On utilise alors la sortie complémentée de A comme entrée de J et K de la bascule B.
On rappelle que lorsque J=K=0, la bascule maintient l’état précédent. On procédera de la même façon pour les bascules C et D.
CLK étant le signal d’horloge.
Le chronogramme correspondant
LE SYSTÈME BINAIRE
I) Introduction
L’homme a toujours eu besoin de compter et il a inventé la numération décimale sur le modèle des dix doigts de nos mains. On pourrait toutefois noter que l’on a en fait 20 doigts (pied et main). On a aussi inventé la numération qui lui correspond, appelée numération vicésimale. Elle n’a pas eu le succès de la numération décimale mais on en a hérité quatrevingt (au lieu d’octante ou huitante), quatre vingt dix (nonante).
L’écriture décimale nécessite l’existence de 10 chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Toute écriture dans un système supérieur à 10 nécessite la création de nouveaux idéogrammes. On les remplace souvent par des lettres.
Base 2 |
Base 3 |
Base 4 |
Base 5 |
Base 6 |
Base 7 |
Base 8 |
Base 9 |
Base 10 |
Base 11 |
Base 12 |
Base 13 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
10 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
11 |
10 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
100 |
11 |
10 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
101 |
12 |
11 |
10 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
110 |
20 |
12 |
11 |
10 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
111 |
21 |
13 |
12 |
11 |
10 |
7 |
7 |
7 |
7 |
7 |
7 |
1000 |
22 |
20 |
13 |
12 |
11 |
10 |
8 |
8 |
8 |
8 |
8 |
1001 |
100 |
21 |
14 |
13 |
12 |
11 |
10 |
9 |
9 |
9 |
9 |
1010 |
101 |
22 |
20 |
14 |
13 |
12 |
11 |
10 |
A |
A |
A |
1011 |
102 |
23 |
21 |
15 |
14 |
13 |
12 |
11 |
10 |
B |
B |
1100 |
110 |
30 |
22 |
20 |
15 |
14 |
13 |
12 |
11 |
10 |
C |
1101 |
111 |
31 |
23 |
21 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
1110 |
112 |
32 |
24 |
22 |
20 |
16 |
15 |
14 |
13 |
12 |
11 |
1111 |
120 |
33 |
30 |
23 |
21 |
17 |
16 |
15 |
14 |
13 |
12 |
10000 |
121 |
100 |
31 |
24 |
22 |
20 |
17 |
16 |
15 |
14 |
13 |
10001 |
122 |
101 |
32 |
25 |
23 |
21 |
18 |
17 |
16 |
15 |
14 |
10010 |
1000 |
102 |
33 |
30 |
24 |
22 |
20 |
18 |
17 |
16 |
15 |
Plus la base est importante et moins il faut de chiffre pour écrire un nombre. Exemple 1000 :
En |
Ecriture |
Base 2 (système binaire) |
1 111 101 000 |
Base 3 (système ternaire) |
1 101 001 |
Base 4 (système quaternaire) |
33 220 |
Base 5 (système quinaire) |
13 000 |
Base 6 (système sénaire) |
4344 |
Base 7 (système septénaire) |
2626 |
Base 8 (système octonaire) |
1750 |
Base 9 (système nonaire) |
1331 |
Base 10 (système décimal) |
1000 |
Base 11 (système undécimal) |
82A |
Base 12 (système duodécimal) |
6B4 |
II) Systèmes les plus courants
Le système duodécimal : Si le système décimal n’avait pas été universellement adopté, il aurait pu avoir un certain succès dans la mesure ou 12 a un plus grand nombre de diviseurs que 10.
Le système héxadécimal : (16 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). Ce système est utilisé en informatique.
Le système sexagésimal : Ce système à base 60 fut élaboré par les babyloniens. Il est encore utilisé pour les mesures de temps et d’angle (heures, minutes, secondes).
Le système binaire : Ce système est très ancien et son existence en Chine remonterait au moins à 25 siècles avant J-C. Au XVIIe siècle, Leibniz essaiera de l’imposer sans succès. Ce système connaît son apogée avec l’apparition de l’électronique. Dans les transistors, 0 correspond à l’absence de courant et 1 au passage du courant.
Par convention un nombre élevé à la puissance 0 est égal à 1. Il en découle que tout nombre peut s’écrire sous la forme d’une somme de puissances de 2.
III) Convertir un nombre décimal en binaire
L’écriture binaire repose sur le fait que tout nombre peut s’écrire sous la forme d’une somme de puissances de 2.
1ère méthode
20 = 1 21 = 2 22 = 4 23 = 8 24 = 16 25 = 32 26 = 64 27 = 128 28 = 256 29 = 512 210 = 1024 |
Comment s’écrit 97 en nombre binaire ?
On commence par chercher la plus grande puissance de 2 contenue dans 97.
Il s’agit de 26 = 64.
On soustrait 64 à 97. Il nous reste 33.
On cherche la plus grande puissance de 2 contenue dans 33.
Il s’agit de 25 = 32.
On soustrait 32 à 33. Il reste 1.
La plus grande puissance de 2 contenue dans 1 est 20.
Il en résulte que 97 = 1×20 + 0×21 + 0×22 + 0×23 + 0×24 + 1×25 + 1×26
L’écriture binaire de 97 est donc : 1 0 0 0 0 1 1.
2ème méthode
Comment s’écrit 437 en nombre binaire ?
On prépare un tableau avec les puissances de 2 :
… |
1024 |
512 |
256 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
On reconstitue le nombre décimal à convertir en plaçant des « 1 » dans les colonnes adéquates du tableau : 437 = 256 + 64 + 16 + 8 + 2 + 1
… |
1024 |
512 |
256 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
L’écriture binaire de 437 est donc : 1 0 1 0 1 1 0 1 1.
3ème méthode
Il existe un autre procédé plus rapide pour transférer un nombre du système décimal dans un autre système. Cette méthode consiste à diviser le nombre donné par la base tant que c’est possible. On rassemble ensuite les restes en partant de la fin et on obtient l’écriture dans la nouvelle base.
Comment s’écrit 193 en nombre binaire ?
L’écriture binaire de 193 est donc : 1 1 0 0 0 0 0 1.
IV) Convertir un nombre binaire en décimal
Soit 1011 le nombre binaire à convertir. Cette écriture est appelée écriture implicite. Pour trouver l’équivalent décimal il suffit d’employer l’écriture explicite.
1 0 1 1 correspond à : 1× + × + × + ×23 0 22 1 21 1 20 soit 1 0 1 12 = 1110
8 0 2 1
Remarque : quand on travaille simultanément dans différentes bases, il faut indiquer, en indice, la base dans laquelle est écrit chacun des nombres.
V) Utilisation
Nous l’avons dit en introduction que le système binaire trouve son utilité dans tous les domaines liés à l’informatique et l’électronique. Le langage binaire est utilisé pour tout transport d’information par voie électronique. Par exemple les lettres de notre alphabet sont codés par nos ordinateurs en binaire selon les codes ci-dessous :
A |
B |
C |
D |
E |
F |
G |
01000001 |
01000010 |
01000011 |
01000100 |
01000101 |
01000110 |
01000111 |
H |
I |
J |
K |
L |
M |
N |
01001000 |
01001001 |
01001010 |
01001011 |
01001100 |
01001101 |
01001110 |
O |
P |
Q |
R |
S |
T |
U |
01001111 |
01010000 |
01010001 |
01010010 |
01010011 |
01010100 |
01010101 |
V |
W |
X |
Y |
Z |
||
01010110 |
01010111 |
01011000 |
01011001 |
01011010 |