Plan Les Systèmes de Numération Fonctions et Circuits Logiques Simplification des Fonctions Logiques Les Différents Codes -1-
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 -2-
Code Décimal Codé Binaire Naturel (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 arithmétiques sont plus complexes 10 combinaisons sur 16 (4 bits) sont utilisées DCB Naturel Binaire Pur Exemples 1 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 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 3 0 0 1 1 + 2 + 0 0 1 0 5 0 1 0 1 5 DCB 8 + 3 1 1 0 0 0 + 0 0 1 1 1 1 1 0 1 1? + 1 1 0 9 1 0 0 1 0 0 0 1 0 0 0 1 11 DCB -3-
Code DCB à Excédent 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 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 0 0 0 1 1 1 0 1 0 0 2 0 1 0 1 3 0 1 1 0 4 0 1 1 1 5 1 0 0 0 6 1 0 0 1 7 1 0 1 0 8 1 0 1 1 Exemples + 0 1 1 0 5 + 3 7 + 5 1 2 8 1 1 1 0-1 1 1 0 1 1 1 1 0 1 0 + 1 0 0 0 0 0 1 0 + 0 1 1 + 0 1 1 Pas de retenue, on retranche 3 8 DCB+3 9 1 1 0 0 0 1 0 0 0 1 0 1 12 DCB+3-4-
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 -5-
Code Gray ou Binaire Réfléchi Principe Principe C est un code dont les grandeurs successives ne différent pas d un caractère Remarques Binaire Pur Risque d erreur limité 0000 Utilisation dans les tables de Karnaugh Opérations arithmétiques impossibles Décimal Binaire Binaire Réfléchi ou Gray 0 0000 0 0 0 0 1 0001 0 0 0 1 2 0010 0 0 1 1 3 0011 0 0 1 0 1 2 0001 0010 1 0001 0011 états intermédiaires possibles Gray pas d état indéterminé 4 0100 0 1 1 0 5 0101 0 1 1 1 Ce code est dit réfléchi car ces combinaisons peuvent 6 0110 0 1 0 1 être établies par réflexion 7 0111 0 1 0 0 8 1000 1 1 0 0 9 1001 1 1 0 1 2 0011-6-
Code Gray ou Binaire Réfléchi Conversions Formation du binaire réfléchi à partir du binaire pur n N 2N 2 N : nombre en binaire pur = n : nombre équivalent en binaire réfléchi Exemple N=0111 2 0 1 1 1 1 1 1 0 1 0 0 1 1 0 0 1 / 10 = 0100 (le reste est perdu) n = 0100 gray 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 2N Rappel x 2 : décalage à gauche de 1 bit / 2 : décalage à droite de 1 bit Si le bit est précédé d un nombre pair de 1 dans l écriture de n, le bit est inchangé 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 gray N=1110 2-7-
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 -8-
Code Aiken Principe Ce code utilise les 5 premières combinaisons du DCBN et les 5 dernières Remarques Code du type p parmi 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 8 1 1 1 0 9 1 1 1 1 2 + 4 + 0 + 1 = 7-9-
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 -10-
Code ASCII 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 Deux types de codes Codes standards Codes étendus -11-
Code ASCII Codes standards -12-
Code ASCII Codes Étendus -13-
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 -14-
Simple pe Parité Principe Faire la somme, notée N, des bits à «1» de la valeur binaire Tester si N est pair ou impair Cas de la Parité Paire (even) Si N est pair, le bit de parité est égale à 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) Exemple 0010010 2 7bits N=2 Parité Paire Parité Impaire bit de parité Bit Parité = 0 00100100 2 Bit Parité = 1 00100101 2 8 bits -15-
Exemple Double Parité Le principe est le même que la simple parité mais pour une séquence de mots mot 1 mot 2 mot 3 mot 4 3 4 5 7 Parité Longitudinale 0 0 0 0 0 Séquences de 4 mots = 3, 4, 5, 7 Parité Paire 0 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 1 Parité Verticale Erreur bit 1 du mot de valeur 5 3 4 5 7 Parité Longitudinale 0 0 0 0 0 0 1 0 1 1? 1 0 0 1 0 Localisation du bit d erreur, il est possible de le corriger 1 0 1 1 1 0 1 0? 1 Parité Verticale -16-
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 Principe Alphabet source et code : {0,1} mot-source de longueur m mot-code de longueur n avec n m Application de {0,1} m vers {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, alors le code permet de corriger exactement (d-1)/2 erreurs -17-
Code de Hamming Cas de correction d une erreur Conditions n = 2 k -1 m = n-k 2 k m+k+1 Pour k fixé et n grand, le taux de transmission est voisin de 1 Exemple donnée de 8 bits 10010111 2 (m = 8) on en déduit k k=3 : 8 12 non vérifiée! k=4 : 16 13 vérifiée! On intercale les bits de contrôles toutes les 2 n positions Mot-Code 1 0 0 1? 0 1 1? 1?? Position 12 11 10 9 8 7 6 5 4 3 2 1 2 3 2 2 2 1 2 0-18-
Code de Hamming Exemple Calcul des bits de contrôle Position Décomposition Donnée Commentaire Binaire 1 1 check bit Somme des parités des bits b 1 = b 3 b 5 b 7 b 9 b 11 b 1 = 1 1 0 1 0 b 1 = 1 2 2 + 0 check bit b 2 = b 3 b 6 b 7 b 10 b 11 b 2 = 1 1 0 0 0 3 2 + 1 1 b 2 =0 4 4 + 0 + 0 check bit b 4 = b 5 b 6 b 7 b 12 b 4 = 1 1 0 1 5 4 +0+1 + 1 1 b 4 = 1 6 4 + 2 + 0 1 7 4 + 2 + 1 0 8 8 + 0 + 0 + 0 check bit 9 8 + 0 + 0 + 1 1 10 8 + 0 + 2 + 0 0 11 8 + 0 + 2 + 1 0 12 8 + 4 + 0 + 0 1 b 8 = b 9 b 10 b 11 b 12 b 8 = 1 0 0 1 b 8 = 0 Mot-Code à transmettre 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-19-
Code de Hamming Exemple Réception du Mot-Code Émetteur Récepteur Mot-Source 10010111 Codage des bits de contrôle b 1 = b 3 b 5 b 7 b 9 b 11 b 2 =b 3 b 6 b 7 b 10 b 11 b 4 = b 5 b 6 b 7 b 12 b 8 = b 9 b 10 b 11 b 12 Canal Mot-Code Mot-Code 100100111101 100100111101 101100111101 Décodage des bits de contrôle b 1 = b r 3 b r 5 b r 7 b r 9 b r 11 b =b 2 r 3 b r 6 b r 7 b r 10 b r 11 b 4 = b r 5 b r 6 b r 7 b r 12 b 8 = b r 9 b r 10 b r 11 b r 12 bit 10 erroné b 1 = 1 b 2 = 0 b 1 = 1 b 2 = 1 S 1 = 0 b 3 = 1 b 3 = 1 S 2 = 0 b 4 = 0 b 4 = 1 S 3 = 0 S 4-1 = 0 S S 1 = b 1 b r 4 = 0 Pas d erreur 1 S 1 = 0 S 2 = b 2 b r 2 S = r 2 = 1 S 3 b 3 b S 3 4-1 =10 10 S S 4 = b 4 b r 3 = 0 4 Erreur! S 4 = 1 S 4-1 correspond au numéro du bit faux S 4-1 0 Comparaison des bits de contrôle 101100111101 100100111101 rectification -20-