Chapitre 1 Et 2
Chapitre 1 Et 2
Chapitre 1 Et 2
Département ITSI
Filières : GM
Électronique Numérique
2024/2025
1
INTRODUCTION
Un nombre croissant d'appareils électroniques et de machines, tels que les téléviseurs, les
voitures, les machines à laver et bien d'autres, intègre de l'électronique numérique dans leur
fonctionnement.
On parle d'électronique numérique lorsqu’on travaille avec des signaux binaires (vrai/faux
ou 0/1), par opposition à l'électronique analogique qui traite des signaux (tension/courant) dans
une plage déterminée. Dans la plupart des applications, ces deux types de traitement coexistent.
Par exemple, dans un ordinateur, les données stockées sur le disque dur sont numériques, mais
les signaux électriques qui les transportent à travers les circuits sont analogiques. Ces signaux
sont ensuite convertis en valeurs binaires pour être traités par le processeur.
2
Chapitre 1 :
SYSTEMES DE NUMERATION
ET CODES
3
Introduction
Habituellement, on utilise le système décimal pour représenter les nombres, mais il est
possible d’utiliser d’autres systèmes de numération.
Nous nous intéressons dans ce chapitre aux systèmes de numération fréquemment rencontrés
en technologie numérique. Il s'agit des systèmes binaire, octal, décimal et hexadécimal. Avant
de décrire ces systèmes, nous allons donner quelques propriétés générales. Ensuite, nous
définissons la notion de base d'un système de numération, le principe d’écriture d’un nombre
dans un système de base b donnée, ainsi que les règles opératoires du système binaire.
b) Forme polynomiale
L’équivalent décimal de (N)b, d’un nombre N entier écrit dans une base b, s’obtient par
application directe de la forme polynomiale suivante :
i=n−1
(N )b = ai b i avec 0 a i b −1
i=0
4
I-2 Système de numération binaire
La numération en base deux (ou numération binaire) utilise deux symboles 0 et 1. Cette
base est très commode pour distinguer les deux états logiques fondamentaux. On écrit:
Où : an (le plus à gauche) est le bit le plus significatif (MSB = Most Significant Bit)
a0 (le plus à droite) est le bit le moins significatif (LSB = Low Significant Bit)
Exemple :
(11001)2 = 1. 24 + 1. 23 + 0. 22 + 0 . 21 + 1. 20 = (25)10
Remarque :
- Les puissances successives de 2 (1, 2, 4, 8, 16, 32, …) sont appelées poids binaires.
Exemple :
Nombre entière :
5
C’est un système très peu utilisé de nos jours. Il servait au codage des nombres dans les
ordinateurs de première génération, abandonnée au profit de l'Hexadécimal.
Exemple :
(372)8 = 3. 82 + 7 . 81 + 2. 80 = (250)10
(44)10 = (101100)2
6
Et on effectue une suite de multiplications successives de N10 par 2 pour la partie
fractionnaire.
Exemple: Convertir (0.84375)10 en binaire
Remarque : Cette conversion peut ne pas s'arrêter. Il faut donc se limiter à un format en
respectant la précision souhaitée.
Exemple :
Il est possible de convertir un nombre décimal entier en son équivalent octal en employant la
méthode de la répétition de divisions, la même qu'on a utilisée pour la conversion décimal-binaire,
mais cette fois-ci en divisant par 8 plutôt que par 2.
7
Exemple : (106356,34375)10
On passe facilement du binaire à l'octal en groupant les bits par blocs de trois en allant vers la
gauche puis on fait correspondre à chaque bloc son équivalent décimal.
L’équivalent binaire d’un nombre octal s’obtient en faisant correspondre à chaque chiffre
octal son équivalent binaire sur un bloc de 3 bits.
Exemple : (100111010)2
(100111010)2 = (472)8
Parfois, il arrivera que le nombre binaire ne forme pas un nombre juste de groupes de trois.
Dans ce cas, on pourra ajouter un ou deux zéros à gauche du bit de poids le plus fort pour former
le dernier triplet.
Le principal avantage du système de numération octal réside dans la facilité avec laquelle il
est possible de passer d'un nombre octal à un nombre binaire. Cette conversion s'effectue en
transformant chaque chiffre du nombre octal en son équivalent binaire de trois chiffres. Voyez
dans le tableau ci-dessous les huit symboles octaux exprimés en binaire.
8
Au moyen de ce tableau, tout nombre octal est converti en binaire par la transformation de
chacun des chiffres.
Exemple : (472)8
Le nombre binaire est divisé en groupes de quatre bits, puis on substitue à chaque groupe
son chiffre hexadécimal équivalent. Au besoin, on ajoute des zéros à gauche pour obtenir un
dernier groupe de 4 bits.
Exemple : (9F2)16=(100111110010)8
9
g) Conversion Décimale vers Héxadécimal
La même règle est utilisée que celle pour la conversion décimale binaire. Ici, B = 16.
Exemple : (423)10
(423)10 = (1A7)16
h) Conversion Hexadécimal vers Décimal
Un nombre hexadécimal peut être converti en son équivalent décimal en exploitant le fait
qu'à chaque position d'un chiffre hexadécimal est attribué un poids; dans ce cas-ci le nombre
16 élevé à une certaine puissance. Le chiffre de poids le plus faible a un poids de 160 = 1, le
chiffre immédiatement à gauche a un poids de 161= 16, l'autre chiffre immédiatement à gauche,
un poids de 162 = 256, et ainsi de suite.
Exemple :
- Représentation en complément à 1,
- Représentation en complément à 2.
10
a) Représentation par bit de signe
Le bit réservé au signe est toujours le bit le plus à gauche mais il ne correspond plus
au MSB.Par convention, le 0 représente le + et le 1 le -.
Exemple :
b) Représentation en complément à 1
Le complément à 1 d’un nombre est donc l’inversion de chaque bit à l’aide de la fonction
logique NON. Nous pouvons donc exprimer le complément à 1 par l’équation ci-dessous.
Exemple : (-23)10 s’écrit (1 0010111) en binaire signé son complément à 1 est (1 1101000)
c) Représentation en complément à 2
11
Exemple : (101101)2 = (45)10
Voici donc comment on écrit des nombres binaires signés en utilisant la notation en
complément à 2 :
➢ Si le nombre est positif, sa grandeur est la grandeur binaire exacte et son bit de signe
est un 0 devant le bit de poids le plus fort
➢ Si le nombre est négatif, sa grandeur est le complément à 2 de la grandeur exacte et
son bit de signe est un 1 à gauche du bit de poids le plus fort. C'est ce qu'on peut dans
l’exemple ci-dessous pour (45)10
12
mêmes règles s'appliquent à l'addition binaire. Cependant, il n'y a que quatre cas, qui peuvent
survenir lorsqu'on additionne deux nombres binaires et cela quel que soit le rang. Ces quatre
cas sont:
➢ 0+0=0
➢ 1+0=1
➢ 1 + 1 = 10 = 0 + report de 1 sur le rang de gauche
➢ 1 + 1 + 1 = 11 = 1 + report de 1 sur le rang de gauche
Le dernier cas ne se produit que lorsque, pour un certain rang, on additionne deux 1 plus un
report de 1 provenant du rang de droite. Voici quelques exemples d'additions de deux nombres
binaires:
0-0=0
1-0=1
1-1=0
La retenue est retranchée du bit de rang supérieur à gauche Comme en système décimal, le
résultat est obtenu en soustrayant le nombre le plus petit en valeur absolue du nombre le plus
grand et le signe du résultat est le signe du nombre le plus grand en valeur absolue.
Exemple :
13
III-3 Multiplication binaire
On multiplie les nombres binaires de la même façon qu'on multiplie les nombres décimaux.
En réalité, le processus est plus simple car les chiffres du multiplicateur sont toujours 0 ou 1,
de sorte qu'on multiplie toujours par 0 ou par 1.
14
Exemple 1:
Quand on fait par exemple correspondre à un nombre décimal son équivalent binaire : il s’agit
d’un codage binaire pur. Nous allons aborder par la suite un certain nombre de codes
qui possèdent chacun des particularités et qui correspondent à une application précise,
comme :
- Codes arithmétiques qui permettent de faire les calculs : code BCD, code XS3
- Codes alphanumériques : Code ASCII
- Codes de transmission : codes détecteurs d'erreur
15
Ces codes peuvent être pondérés ou non. Dans un code pondéré, chaque position du chiffre
a un poids comme le cas du binaire naturel, par contre, on ne peut affecter aucun poids aux bits
des codes non pondérés.
Le code BCD (Binary coded decimal) ou DCB (Décimal Codé Binaire) est un code
pondéré et les poids sont : 1, 2, 4 et 8.
C’est une représentation plus simple et très utile dans certaines applications, comme par
exemple l’affichage en décimal du contenu des compteurs (Afficheurs 7 segments) mais elle
nécessite plus de bits.
La figure suivante monte une table de Comparaison entre le binaire sur 4 bits et le code DCB :
16
Pour coder un nombre décimal en BCD, chacun de ses chiffres est codé en binaire sur 4
bits.
Exemple :
(1708)10 = (0001011100001000)2
Table de Codage:
Ce code donne un effet miroir complémentaire entre 4 et 5:
Code auto-complémentaire.
17
c) Le code AIKEN
Ce code regroupe les deux propriétés des codes BCD et XS 3: c’est un code décimal
pondéré.Les poids des éléments binaires sont 2 4 2 1. La différence entre le code Aïken et le
code BCDest le poids du premier bit à gauche : il vaut 8 en BCD et 2 en code Aïken. Le code
Aiken est fréquemment utilisé dans les automatismes industriels.
Table de Codage:
Exemple :
100
18
Cependant dans certains dispositifs, il est impossible de faire basculer deux bits
simultanément.La solution est alors le code de Gray. Ce code est surtout utilisé pour des capteurs
de positions.Il est aussi très utile dans la simplification des fonctions binaires par la méthode de
Karnaugh qui sera étudiée par la suite (Chapitre 2).
Ce code suit une règle de constitution basée sur le processus des codes réfléchis. La table
decodage suivante donne les codes Gray de 0 jusqu’à 15.
➢ Le bit de gauche du code Gray est le même que le bit de gauche du nombre binaire.
➢ Ajouter le MSB du nombre binaire à son voisin immédiat et reporter la somme
ennégligeant une retenue éventuelle sur la ligne inférieure correspondante au code
Gray.
➢ Continuer l’addition des bits à leur voisin de droite et reporter les sommes ainsi
obtenues jusqu’à atteindre le LSB.
19
b) Règle de conversion Gray → binaire
Pour passer du binaire naturel au code binaire réfléchi, on suit les étapes de conversion:
➢ Le bit de gauche du nombre binaire est le même que le bit de gauche du code Gray.
➢ Ajouter le MSB du nombre binaire obtenu au voisin de droite immédiat du code Gray.
➢ Continuer les additions jusqu’à atteindre le LSB.
a) Code p parmi n
Dans ce code, à chaque nombre correspond n bits, dont p valent 1 et (n-p) valent 0. Si
lors d’une communication, il y a réception d’un nombre de 1 différent de p, cela signifie
qu’il y a eu une erreur de transmission. Il existe plusieurs codes « 2 parmi 5 », les plus
utilisés sont:l e code « 8 4 2 1 0 » et le code « 7 4 2 1 0 », illustrés sur la table de conversion
suivante :
20
Les codes sont pondérés sauf pour le chiffre 0 dont leurs équivalents ne respectent pas les
poids84210 ou 74210
Remarque :
Contrairement à d’autres codes détecteurs/correcteurs, les codes « 2 parmi 5 » permettent
dedétecter une erreur, mais ne permettent pas de la corriger. De plus, si lors de la transmission,
2 bits de valeurs différentes changent simultanément d’état, aucune erreur ne pourra être
détectée à la réception.
b) Code de parité
Pour la détection des erreurs de transmission, une méthode simple s’appuie sur l’introduction
d’un bit de parité. Le bit de parité est un bit supplémentaire qui est transmis avec un mot
numérique (groupe de bits). Selon le nombre de bits dont la valeur est à 1, le premier bit à
gauche qui est le bit de parité, reçoit la valeur 0 ou 1. On parle de la parité paire ou impaire.
En parité paire, le bit de parité reçoit une valeur telle que le nombre total de bits à 1 soit pair
En parité impaire, le bit de parité reçoit une valeur telle que le nombre total de bits à
1 soitimpair
Remarque :
➢ Les codes à parité simple se contentent d'ajouter un bit de parité pour la détection
d'erreur
21
IV-4 Codes alphanumériques : Code ASCII
La mémoire de l'ordinateur conserve toutes les données sous forme numérique. Il n'existe
pas de méthode pour stocker directement les caractères. Chaque caractère possède donc son
équivalent en code numérique : c’est le code ASCII ; qui est la contraction de « American
Standard Code for Information Interchange », traduit en français par « Code Americain
Standard pour l'Echange d'Informations ». C’est un code qui n’a aucune propriété arithmétique
mais qui sert à représenter des lettres, des chiffres, des signes typographiques.
Comme la plupart des ordinateurs traitent les bits par paquets de 8, le huitième bit est,
soit inutilisé, soit utilisé comme bit de parité pour le contrôle.
Le code ASCII a été mis au point pour la langue anglaise, il ne contient donc pas de caractères
accentués, ni de caractères spécifiques à une langue. Pour coder ce type de caractère, le code
ASCII a donc été étendu à 8 bits (un octet) pour pouvoir coder plus de caractères : Il s’agit alors
du Code ASCII étendu.
Le code ASCII étendu n'est pas unique et dépend fortement de la plateforme utilisée.
Remarque :
Il existe d’autres codes alphanumériques tel que le code EBCDIC (Extended Binary-
Coded Decimal Interchange Code), développé par IBM, qui permet de coder des caractères
sur 8 bits.Ce code n'a pas eu le succès qu'a connu le code ASCII malgré qu’il est largement
répandu sur les machines IBM.
22
Table ASCII (liste partielle)
23
Chapitre 2 :
24
INTRODUCTION
Pour étudier les fonctions logiques on utilise une algèbre qui a été inventée au XIXème siècle
par un philosophe mathématicien anglais : Georges Boole. Dans ce chapitre nous nous
proposons de présenter les fonctions logiques de base ainsi que leurs représentations
graphiques. Nous rappellerons également les lois fondamentales de l’algèbre de Boole
nécessaires à l'étude des circuits électroniques.
I. Définitions
C'est une grandeur qui ne peut prendre que deux valeurs 0 ou 1. Fonction booléenne ou logique
On appelle fonction logique une manipulation de variables logiques à l’aide des opérateurs
de base. Cette fonction se note : f(a0,a1,……, an). Pour la définir, il faut préciser sa valeur pour
toutes les combinaisons possibles. Cela peut se faire de plusieurs façons :
➢ Par une définition écrite ou cahier des charges : la lampe L s'allume lorsque les
interrupteurs K1 et K2 sont fermés tous les deux. Elle est éteinte dans tous les autres
cas.
25
➢ Par la donnée de la table de vérité (TV)
On peut représenter toute fonction logique f à n variables sous forme d’une table de vérité à 2n
lignes et (n+1) colonnes. Les lignes représentent les combinaisons possibles des variables qui
apparaissent dans l’ordre binaire naturel.
Exemple :
La table de vérité relative à une fonction logique à deux variables L(K1,K2) se compose de 3
colonnes et de 4 lignes.
➢ NON : est un opérateur unaire ( une seule variable) qui à pour rôle d’inverser
la valeur d’une variable .
➢ F(A)= Non A = 𝐴̅
A 𝐴̅
0 1
II-2 Opérateur ET ( AND ) 1 0
26
• Modèle électrique
II-3 Opérateur OU ( OR )
• Modèle électrique
Les opérateurs ET/ OU peuvent réaliser le produit /Somme de plusieurs variables logiques
(A,B , C )
27
Pour évaluer une fonction logique, on commence par évaluer les sous expressions
entre lesparenthèses, puis le NON , le ET, et le OU
• Opérateur NON :
• Opérateur ET :
• Opérateur OU :
Relations de Distributivité :
28
A .( B C) = ( A .B) ( A .C) Distributivité du ET sur le OU
Les relations suivantes découlent des théorèmes de l’A.B, citées précédemment. Elles sont bien
utiles dans le traitement des fonctions algébriques.
Le principe de dualité peut être exprimé ainsi : Toute expression logique reste vraie si on
remplace le ET par le OU, le OU par le ET , le 1 par 0 , le 0 par 1, comme par exemple :
La somme logique complémentée de deux variables est égale au produit des compléments
des deux variables :
Le produit logique complémenté de deux variables est égale au somme logique des
compléments des deux variables :
Ces deux relations peuvent être généralisées à plusieurs variables et on obtient le théorème
de Morgan à N variables. Ce théorème permet d’interchanger l’opérateur + et ·, et l’opérateur
de complément.
29
III-4 AUTRES OPERATEURS LOGIQUES
En plus des opérateurs de base le ET, OU et NON, trois autres opérateurs logiques sont
fréquemment utilisés : le NAND (NON-ET), le NOR (NON-OU) et le XOR (OU Exclusif).
- NAND :
- NOR :
- XOR :
Remarque:
• En utilisant les NAND et les NOR, on peut exprimer n’importe qu’elle expression logique.
Pour cela, Il suffit d’exprimer les opérateurs de base ( NON , ET , OU ) avec des NAND et
des NOR.
30
Les relations suivantes donnent les expressions des trois opérateurs de base (NON, ET et OU)
en fonction de l’opérateur NOR :
Toute fonction logique peut être réalisée à l’aide d’un nombre de circuits logiques de base
appelées portes. La porte logique est un circuit électronique élémentaire qui réalise la fonction
d’un opérateur logique de base. On peut définir une porte logique par son symbole où deux
représentations peuvent être utilisées. Ces portes électroniques sont construites à partir de
plusieurs transistors en circuits intégrés.
• Les portes ET , OU , NAND , NOR peuvent avoir plus que deux entrées
31
• Il n’existe pas de OU exclusif à plus de deux entrées.
Les circuits logiques sont souvent implantés avec des portes NAND et NOR plutôt que des
portes AND et OR. Les portes NAND et NOR nécessitent moins de transistors pour
32
l’implémentation, donc prennent moins de superficie sur les circuits intégrés, et donc sont
moins chers.
V En effet, dans la pratique on est toujours amené à réaliser des fonctions avec une seule
sorte de portes logiques telle que NAND : La méthode consiste à complémenter 2 fois
la fonction et à utiliser le théorème de de MORGAN avec une seule des
complémentations. Comme exemple, on prend la fonction suivante : F = AB +CD
Les fonctions logiques directement issues des mathématiques (algèbre de Boole) sont les
outils de base de l'électronique numérique. Elles sont mises en œuvre en électronique sous
forme de portes logiques.
Si une fonction logique possède n variables logiques (2n combinaisons); la fonction possède
2n valeurs. Les 2n combinaisons sont représentées dans la table de vérité. La lecture de la
fonction peut s’effectuer sur les états « O » et on parle des MAXTERMES ou sur les états « 1»
et on parle des MINTERMES.
Exemple: Ci-après, la table de vérité d’une fonction F qui dépend de trois variables d’entrées
A, B et C.
33
La lecture sur les états « 1 » donne la forme suivante :
C’est la forme canonique disjonctive (somme de produits), C’est aussi la somme des min
termes ou une disjonction de conjonctions.
C’est la forme canonique conjonctive (produit de sommes). C’est aussi le produit des max
termes ou une Conjonction de disjonctions
Remarque : La forme canonique d’une fonction est la forme ou chaque terme de la fonction
comporte toutes les variables d’entrées. On peut toujours ramener n’importe quelle fonction
logique à l’une des formes canoniques. Cela est possible en utilisant les règles de l’algèbre de
Boole :
L’objectif de la simplification des fonctions logiques est de réduire le nombre de termes dans
une fonction et le nombre de variables dans un terme. Cela est dans le but de réduire le nombre
de portes logiques utilisées et alors obtenir une réalisation matérielle plus facile à construire et
moins couteuse. Plusieurs méthodes existent pour la simplification, les plus utilisées sont :
- La méthode algébrique
34
- La méthode graphique par tableau de KARNAUGH
VI-1 Méthode algébrique
Pour obtenir une expression plus simple d’une fonction algébrique par cette méthode, il faut
utiliser :
En fait il n’y a pas une démarche bien spécifique, mais il faut bien appliquer les règles de
simplification comme il est illustré par la suite :
• Il est possible de supprimer un terme déjà inclus dans la réunion des autres termes :
35
VI-2 Simplification par la table de Karnaugh (T.K.)
a) Définitions
La méthode de Karnaugh se base sur la règle des termes adjacents. Ces termes ne différent
que par l’état d’une seule variable, comme par exemple les min-termes suivants :
Dans un tableau de karnaugh , chaque case possède un certain nombre de cases adjacentes :
36
Pour remplir la T.K. d’une fonction logique, on utilise sa table de vérité ou sa forme
canonique.
- Pour chaque combinaison qui représente un min-terme lui correspond une case dans le
tableau qui doit être mise à 1.
- Pour chaque combinaison qui représente un max- terme lui correspond une case dans le
tableau qui doit être mise à 0.
- Lorsqu’on remplit le tableau, on doit soit travailler sur les mintermes ou sur les
maxtermes. Dans ce qui suit, on va se contenter de travailler sur les min-termes.
Exemple :
37
b) Principe de la simplification
L’idée de base est de faire des regroupements des cases adjacentes qui comportent des 1 (le
cas des mintermes). Pour simplifier, il faut bien suivre les étapes suivantes :
38
• Exemples de regroupements non possibles :
Le terme simplifié de chaque groupement est écrit en éliminant la ou les variables d’entrée
qui changent d’état. L’expression logique finale simplifiée est alors la somme de tous ces
termes.
- Exemple de 3 variables :
- Exemple de 4 variables:
39
VII FONCTIONS INCOMPLETEMENT DEFINIES
Ce sont des fonctions booléennes pour lesquelles il n'y a pas de valeurs associées à certains
termes produits. Ceux-ci ne sont jamais "sélectionnés". L'état d'entrée où la sortie n'est pas
définie est un état impossible ou interdit. La valeur associée à une sortie indéfinie peut être
indifféremment 0 ou 1 et pour ces cas, il faut mettre ou X dans la T.V et la T.K. Concernant
la simplification par la T.K, on tient compte des considérations suivantes :
- Dans des regroupements de la TK, On peut prendre les X, comme étant des « 1 » si
on lit la fonction sur 1 ou des « 0 » dans le cas inverse.
Exemple :
L'afficheur 7 segments est un exemple particulier de fonction booléenne incomplètement
spécifiée. Les 10 chiffres décimaux sont affichés à l'aide de 7 segments, notés de a à g, qui
peuvent être à 0 (éteint) ou 1 (allumé). Le codage des 10 chiffres décimaux nécessite 4 bits,
que l'on peut noter e3 à e0.
La Table suivante donne les 7 fonctions booléennes traduisant l'allumage des 7 segments
a à g en fonction des bits e3 à e0:
40
La table de Karnaugh correspondante à la fonction logique a est comme suit :
Après les groupements des cases adjacentes en tenant compte des cases contenant des X, la
fonction logique simplifiée est la suivante :
41