Vous êtes sur la page 1sur 20

Plan

„ Les Systèmes de Numération

„ Fonctions et Circuits Logiques

„ Simplification des Fonctions Logiques

„ Les Différents Codes

Copyright © F. Muller
Logique Combinatoire -1-
2002
Les Différents Codes
„ Code DCB (Décimal Codé Binaire)
„ Code Gray ou Binaire Réfléchi

„ Code Aiken

„ Code ASCII

„ Code Détecteurs et Correcteurs d’erreurs

Copyright © F. Muller
-2-
2002
Code Décimal Codé Binaire Naturel
( C )
(DCBN)
„ Principe
„ A chaque élément du système décimal correspond un mot de 4
bits du code binaire pur
„ Inconvénient
„ Les opérations
L é ti arithmétiques
ith éti sontt plus
l complexes
l
„ 10 combinaisons sur 16 (4 bits) sont utilisées
DCB Naturel Binaire Pur
E
Exemples
l 1
0 0 0 0 0
3 0 0 1 1
1 0 0 0 1
+ 2 + 0 0 1 0
2 0 0 1 0
3 0 0 1 1
5 0 1 0 1 5DCB
4 0 1 0 0 1

5 0 1 0 1 8 1 0 0 0
6 0 1 1 0 + 3 + 0 0 1 1
7 0 1 1 1 1 1 1 0 1 1 ?
8 1 0 0 0 + 1 1 0
9 1 0 0 1 0 0 0 1 0 0 0 1 11DCB

Copyright © F. Muller
Logique Combinatoire -3-
2002
Code DCB
C à Excédent
céde 3
„ Principe
„ C’est le code DCB Naturel auquel on a ajouté 3
„ En pratique
„ Ajouter 3 en binaire naturel au résultat partiel s’il y a une retenue au résultat
„ Retrancher 3 au résultat partiel s’il n’y a pas de retenue au résultat partiel
„ Ajouter
j 3 à la retenue de débordement si elle existe
„ Avantage
„ Il est plus facile de détecter une retenue que de tester si le résultat partiel est supérieur
ou inférieur à 9 1 0 0 0
DCB Exc. 3 Binaire Excédent 3 E
Exemples
l + 0 1 1 0
0 0 0 1 1 5 Pas de retenue,
1 1 1 0 on retranche 3
1 0 1 0 0
+ 3 - 1 1
2 0 1 0 1
8 1 0 1 1 8DCB+3
3 0 1 1 0
4 0 1 1 1
7
1 1 0 1 0
5 1 0 0 0
+ 5 + 1 0 0 0
6 1 0 0 1
1 2 0 0 1 0
7 1 0 1 0
8 1 0 1 1
+ 0 1 1 + 0 1 1

9 1 1 0 0 0 1 0 0 0 1 0 1 12DCB+3

Copyright © F. Muller
Logique Combinatoire -4-
2002
Les Différents Codes
„ Code DCB (Décimal Codé Binaire)
„ Code Gray ou Binaire Réfléchi

„ Code Aiken

„ Code ASCII

„ Code Détecteurs et Correcteurs d’erreurs

Copyright © F. Muller
-5-
2002
Code Gray ou Binaire Réfléchi
Principe
„ Principe
„ C est un
C’est u code do
dontt les
es g
grandeurs
a deu s success
successives
es ne
eddifférent
é e t pas d
d’un
u
caractère
„ Remarques Binaire Pur
1 2
„ Risque d’erreur
d erreur limité 0000
0001 0010
„ Utilisation dans les tables de Karnaugh
0011
„ Opérations arithmétiques impossibles états intermédiaires possibles

Décimal Binaire Binaire Réfléchi ou Gray


1 Gray 2
0 0000 0 0 0 0
1 0001 0 0 0 1 0001 0011
pas d’état indéterminé
2 0010 0 0 1 1
3 0011 0 0 1 0
4 0100 0 1 1 0
5 0101 0 1 1 1 Ce code est dit réfléchi car
6 0110 0 1 0 1
ces combinaisons peuvent
être établies par réflexion
7 0111 0 1 0 0
8 1000 1 1 0 0
9 1001 1 1 0 1

Copyright © F. Muller
Logique Combinatoire -6-
2002
Code Gray ou Binaire Réfléchi
Conversions

Formation du binaire réfléchi à partir du binaire pur

N ⊕ 2N
n= N : nombre en binaire pur
n : nombre équivalent en binaire réfléchi
2
Rappel
Exemple N=01112 0 1 1 1 2N x 2 : décalage à gauche de 1 bit
⊕ 1 1 1 0 / 2 : décalage à droite de 1 bit
1 0 0 1
1 0 0 1 / 10 = 0100 (le reste est perdu) n = 0100gray

Formation du binaire pur à partir du binaire réfléchi


Examiner chaque bit de n en commençant par le bit de poids le plus fort
• Si le bit est précédé d’un nombre pair de 1 dans l’écriture de n, le bit est inchangé
g
• Si le bit est précédé d’un nombre impair de 1 dans l’écriture de n, le bit est complémenté

Exemple n=1001
n 1001gray N=1110
N 11102

Copyright © F. Muller
Logique Combinatoire -7-
2002
Les Différents Codes
„ Code DCB (Décimal Codé Binaire)
„ Code Gray ou Binaire Réfléchi

„ Code Aiken

„ Code ASCII

„ Code Détecteurs et Correcteurs d’erreurs

Copyright © F. Muller
-8-
2002
Code Aiken
e
„ Principe
„ Ce code utilise les 5 premières combinaisons du DCBN et les 5
dernières
„ Remarques
„ Code
C d ddu ttype p parmii n
„ Pondération 8,4,2,1 (DCBN) remplacée par 2,4,2,1
DCB Naturel Aiken
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 1 0 1 1
6 1 1 0 0
7 1 1 0 1 2+4+0+1=7
8 1 1 1 0
9 1 1 1 1

Copyright © F. Muller
Logique Combinatoire -9-
2002
Les Différents Codes
„ Code DCB (Décimal Codé Binaire)
„ Code Gray ou Binaire Réfléchi

„ Code Aiken

„ Code ASCII

„ Code Détecteurs et Correcteurs d’erreurs

Copyright © F. Muller
- 10 -
2002
Code ASCII
SC
„ Appelé aussi code télégraphique international n°5
„ Code très utilisé
„ Affichage de caractère sur un terminal
„ transmission de caractères alphabétiques et caractères de
contrôles
„ De ttypes
Deux pes de codes
„ Codes standards
„ Codes étendus

Copyright © F. Muller
Logique Combinatoire - 11 -
2002
Code ASCII
Codes standards

Copyright © F. Muller
Logique Combinatoire - 12 -
2002
Code ASCII
Codes Étendus

Copyright © F. Muller
Logique Combinatoire - 13 -
2002
Les Différents Codes
„ Code DCB (Décimal Codé Binaire)
„ Code Gray ou Binaire Réfléchi

„ Code Aiken

„ Code ASCII

„ Code Détecteurs et Correcteurs d’erreurs

Copyright © F. Muller
- 14 -
2002
Simple
S p e Parité
a é
„ Principe
„ Faire
a e la
a so
somme, e, notée
otée N,, des b
bits
ts à « 1 » de la
a valeur
a eu bbinaire
a e
„ Tester si N est pair ou impair
„ Cas de la Parité Paire (even)
„ Si N est p
pair,, le bit de parité
p est égale
g à0
„ Si N est impair, le bit de parité est égale à 1
„ Cas de la Parité Impaire (odd)
„ Si N est pair, le bit de parité est égale à 1
„ Si N est impair, le bit de parité est égale à 0
„ Remarques
„ Code détecteur uniquement
„ Très utilisé dans les communications de type série (RS232) bit de parité
Exemple Parité Paire
Bit Parité = 0 001001002
00100102 N=2
Bit Parité = 1 001001012
7 bits Parité Impaire
8 bits
Copyright © F. Muller
Logique Combinatoire - 15 -
2002
Double
oub e Parité
a é
„ Le principe est le même que la simple parité mais pour une
séquence de mots
Exemple
mot 1 mot 2 mot 3 mot 4
3 4 5 7 Parité Longitudinale Séquences de 4 mots = 3, 4, 5, 7
Parité Paire
0 0 0 0 0
0 1 1 1 1
Erreur bit 1 du mot de valeur 5
1 0 0 1 0
3 4 5 7 Parité Longitudinale
1 0 1 1 1
0 0 0 0 0
0 1 0 1 Parité Verticale
0 1 0 1 1?

1 0 0 1 0
1 0 1 1 1
Localisation du bit d’erreur,
il est possible de le corriger 0 1 0? 1 Parité Verticale

Copyright © F. Muller
Logique Combinatoire - 16 -
2002
Code de Hamming
Introduction
„ Le code de Hamming est un code correcteur d’erreur utilisé
pour transmettre un message dans un canal bruité
„ Ce code permet de reconstituer le message émis même si des
erreurs (en nombre limité) ont altéré le message
„ Pi i
Principe
„ Alphabet source et code : {0,1}
„ mot source de longueur m
mot-source
„ mot-code de longueur n avec n ≥ m
„ Application de {0
{0,1}
1}m vers {0,1}
{0 1}n
„ Parmi les n bits du mot-code
„ m produisent le mot-source
„ n-m produisent les bits de correction
„ Taux de transmission est de n/m
„ Si 2 mots distincts du code différent au moins en d bits
bits, alors le
code permet de corriger exactement (d-1)/2 erreurs
Copyright © F. Muller
Logique Combinatoire - 17 -
2002
Code de Hamming
Cas de correction d’une
d une erreur
„ Conditions
„ n = 2k-1
2k ≥ m+k+1
„ m = n-k
„ Pour k fixé et n grand, le taux de transmission est voisin de 1
„ Exemple
„ donnée de 8 bits 100101112 (m = 8)
„ on en déduit k
„ k 3 : 8 ≤ 12 non vérifiée
k=3 é ifié !
„ k=4 : 16 ≥ 13 vérifiée !
„ On intercale les bits de contrôles toutes les 2n positions

Mot-Code 1 0 0 1 ? 0 1 1 ? 1 ? ?
P iti
Position 12 11 10 9 8 7 6 5 4 3 2 1

23 22 21 20

Copyright © F. Muller
Logique Combinatoire - 18 -
2002
Code de Hamming
Exemple – Calcul des bits de contrôle
Somme des parités des bits
Position Décomposition Donnée Commentaire
Binaire b1 = b3 ⊕ b5 ⊕ b7 ⊕ b9 ⊕ b11
b1 = 1 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 b1 = 1
1 1 check bit
2 2+0 check bit b2 = b3 ⊕ b6 ⊕ b7 ⊕ b10 ⊕ b11
b2 = 1 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 0 b2 = 0
3 2+1 1
4 4+0+0 check bit b4 = b5 ⊕ b6 ⊕ b7 ⊕ b12
b4 = 1 ⊕ 1 ⊕ 0 ⊕ 1 b4 = 1
5 4+0+1 1
6 4+2+0 1
7 4+2+1 0
b8 = b9 ⊕ b10 ⊕ b11 ⊕ b12
8 8+0+0+0 check
h k bit b8 = 0
b8 = 1 ⊕ 0 ⊕ 0 ⊕ 1
9 8+0+0+1 1
10 8+0+2+0 0
11 8+0+2+1 0
12 8+4+0+0 1 Mot--Code à transmettre
Mot
Mot-Code 1 0 0 1 0 0 1 1 1 1 0 1
Position 12 11 10 9 8 7 6 5 4 3 2 1

Copyright © F. Muller
Logique Combinatoire - 19 -
2002
Code de Hamming
Exemple – Réception du Mot-Code
Mot Code
Émetteur Récepteur

Codage des bits de contrôle Décodage des bits de contrôle


Canal
Mot-Source b1 = b3 ⊕ b5 ⊕ b7 ⊕ b9 ⊕ b11 Mot-Code Mot-Code b’ = br ⊕ br ⊕ br ⊕ br ⊕ br
1 3 5 7 9 11
b2 = b3 ⊕ b6 ⊕ b7 ⊕ b10 ⊕ b11 b 2 = br3 ⊕ br6 ⊕ br7 ⊕ br10 ⊕ br11
b’
10010111 b4 = b5 ⊕ b6 ⊕ b7 ⊕ b12 b’4 = br5 ⊕ br6 ⊕ br7 ⊕ br12
100100111101 100100111101
b8 = b9 ⊕ b10 ⊕ b11 ⊕ b12 b’8 = br9 ⊕ br10 ⊕ br11 ⊕ br12
101100111101

bit 10 erroné b’1 = 1 b’1 = 1


b’2 = 0 b’2 = 1
S1 = 0 b’3 = 1 b’3 = 1
S2 = 0 b’4 = 0 b’4 = 1
S3 = 0 S4-1 = 0
S4 = 0 Pas d’erreur S1 = b’1 ⊕ br1
S1 = 0 S2 = b’2 ⊕ br2
S2 = 1 S3 = b’3 ⊕ br3
S4-1=10
1010
S3 = 0 S4 = b’4 ⊕ br4
Erreur !
S4 = 1
S4-1 correspond au numéro du bit faux S4-1 ≠ 0
Comparaison des bits de contrôle
101100111101 100100111101
rectification
Copyright © F. Muller
Logique Combinatoire - 20 -
2002

Vous aimerez peut-être aussi