2/ transmission serie
Transcription
2/ transmission serie
Barrière DECMA - notion de transmission série & codage des caractères 1/ ETUDE DU CODAGE NUMERIQUE DES CARACTERES : L’exemple du fichier texte : Les fichiers textes : ce sont des fichiers uniquement composés de caractères. On parle de fichier ASCII. Le plus simple moyen de lire un fichier texte est d’utiliser le « bloc-note » Windows. RQ : Il existe 2 autres types de fichiers : - les exécutables : ce sont des programmes qui s’exécutent. Sous Windows, ils ont pour extension .exe - les fichiers appartenant à une application particulière : les fichiers BMP par exemple, qui ne peuvent être lu que par des programmes capables de le faire. Les fichiers mp3, etc…) Nous le savons surement déjà, tous les fichiers sont constitués de nombres (c’est pour cela qu’on les appelles des fichiers numériques ! ) . Le fichier texte est donc lui aussi constitué de nombres ! Il existe donc un code sous forme de nombre pour chaque caractère ! Ce code s’appelle le code ASCII Le code ASCII de base représentait les caractères sur 7 bits (128 possibilités). Le code ASCII ayant été mis au point pour les caractères anglais, les accents n’existent pas, ni les caractères spécifiques aux autres langues. Pour coder ce type de caractères, il faut donc recourir a un autre code. Le code ASCII a alors été étendu à 8 bits pour disposer de 256 caractères (on parle d’ailleurs de code ASCII étendu). Page 1/8 Barrière DECMA - notion de transmission série & codage des caractères Rq : Aujourd’hui, le code ASCII sur 8 bits n’est plus toujours suffisant. On fait alors appel au codage UNICODE Petit exercice : Vérifiez que le message envoyé en ASCII à l’afficheur a un sens : (méthode proposée : écrivez en dessous de chaque nombre sa conversion en hexadécimal, puis trouver le caractère correspondant dans le tableau ASCII ) 01000100 01000101 01000011 01001101 01000001 00100000 44 45 43 4D 41 20 01001000 01001111 01010010 01010011 00100000 01010011 48 4F 52 53 20 53 01000101 01010010 01010110 01001001 01000011 01000101 45 52 56 49 43 45 DECMA HORS SERVICE Page 2/8 Barrière DECMA - notion de transmission série & codage des caractères 2/ TRANSMISSION SERIE Nous allons transmettre un caractère d’un ordinateur à un autre : Lancement du programme Hyperterminal : Cliquer sur Démarrer Programmes Accessoires Communications Hyperterminal Une boîte de dialogue apparaît (donner un nom à la connexion, TPSSI par exemple) : Cliquer sur le bouton OK, une nouvelle boîte apparaît, sélectionner COM1 si ce n’est pas fait, puis cliquer sur OK. Une nouvelle boîte de dialogue apparaît : Entrer les paramètres suivants : - Bits par seconde : 9600 - Bits de données : 8 - Parité : Aucun ( ne pas étudier) - Bits d’arrêt : 2 - Contrôle de flux : Aucun ( ne pas étudier) Page 3/8 Barrière DECMA - notion de transmission série & codage des caractères Le paramètre « Bits par seconde » indique le nombre de bits transmis par seconde sur la voie série ( appelé débit binaire en bits/s ). Quelle sera le durée de transmission d’un bit ? ____1/9600 = 104 us_______ Une fois les paramètres entrés, cliquer sur OK, la fenêtre suivante apparaît : On souhaite analyser l’allure des signaux émis sur la sortie série lors de l’émission d’un caractère. Page 4/8 Barrière DECMA - notion de transmission série & codage des caractères Le programme hyperterminal permet l’envoi des caractères frappés au clavier sur la sortie série de l’ordinateur ( la sortie série de l’ordinateur respecte la norme RS232 qui sera étudiée dans un prochain cours). Raccorder un oscilloscope à la sortie série de l’ordinateur (le câble de liaison est fourni). Quel est la tension présente sur cette sortie en l’absence d’émission de caractères ? En appuyant en permanence sur une touche du clavier on va provoquer l’émission répétitive d’un code correspondant à ce caractère ( sur 8 bits dans le cas présent). Visualiser l’allure du signal lors de l’émission du caractère S (en majuscule) . Le code du caractère ( 8 bits en série) est entouré d’un bit de départ ( ou bit de start ) et de 2 bits d’arrêt ( ou bits de stop ) , en traits gras sur le graphique suivant : Vs Bit de départ +V 1 1 0 0 1 0 1 0 t T -V 2 bits d’arrêt Dessiner l’allure du signal lors de l’émission du caractère S (compléter le graphique ci-dessus. Un 0 logique transmis correspond à +V, un 1 logique transmis correspond à -V. Quel est le code sur 8 bits du caractère S ( en base 2 et en base 16 ) ? 0x53 ; 0b01010011 Attention !!! C’est le bit de poids faible qui est d’abord transmis, le dernier bit est le bit de poids fort. Mesurer la durée de transmission T d’un bit, comparer avec la configuration choisie (débit binaire). On mesure environ 100us Refaire le même travail avec le caractère A ( en majuscule). ( 0x41 ; 0b01000001 ) Page 5/8 Barrière DECMA - notion de transmission série & codage des caractères Vs +V 1 0 0 0 0 0 1 0 t T -V On souhaite émettre le caractère U ( code hexadécimal : 55 ) Prédéterminer l’allure du signal émis. 0x55 = 0b01010101 Vs +V t T -V Faire la vérification expérimentale. Retrouver dans la table des codes ASCII les codes des caractères S, A et U . 0x53 ; 0x41 , 0x55 Page 6/8 Barrière DECMA - notion de transmission série & codage des caractères 3 / La « louche » numérique : l’octet On sait que les fichiers numériques sont une suite de nombres binaires. Nous le savons déjà : du fait qu’une structure informatique ne sait travailler qu’avec des 0 et des 1 (le courant passe ou le courant ne passe pas), et la base utilisée dans le monde informatique est la base 2( le binaire). Les variables binaires (les 0 et les 1) utilisés dans le monde numérique s’appellent des bits L’agencement des 0 et des 1 des fichiers se fait par Octet. Un Octet est un groupe de 8 bits Les sur-multiples : Le kilo octets (Ko)= 1024 octets Le méga octet (Mo)= 1024 ko = 1024 * 1024 = 1048576 octets Le giga octet (Go)= 1024Mo = 1024 * 1024 *1024 octets Le téra octet (To) = 1024Go = 1024 * 1024 * 1024 *1024 octets Exercice : Sachant qu’une disquette a une contenance de 1440ko , définir : Combien d’octets tiennent sur une disquette ? 141440 * 1024 = 1 474 560 octets40 * 1024 = Combien de bits tiennent sur une disquette ? 474 560 * 8 = 11 796 480 bits 1 474 560 * 8 = Un CD de 800Mo peut contenir l’équivalent de combien de disquette ? 800Mo = 800*1024 ko ; nbr de disquette = ( 800*1024) / 1440 = 568.9 disquettes = 800*10.9 disquettes Un disque dur de 100Go peut contenir : Combien de CD de 800Mo ? 100Go = 100*1024 Mo, nbre de cd = (100*1024)/800 = 128 CD Combien de disquette ? 128 * 568.9 = 72820 disquettes Combien d’octets ? 100*1024*1024*1024= 107 374 182 400 octets Combien de bits ? 858 993 459 200 bits Combien d’image de la même taille que celle sur laquelle nous avons travaillé (de 4*4 pixels) qui pesait 102octets : 1 052 688 063 CONTENU D’UN CD AUDIO : La norme pour les CD audio (norme red book développée en 1980 par Sony et Philips), impose comme contrainte sur les fichiers audio les caractéristiques suivantes : Chaque instant de musique est codé sur deux mots de 16 bits (un pour la voie droite, l’autre pour la voie gauche). La fréquence d’échantillonnage du signal est de 44,1 kHz, ce qui signifie en clair qu’une seconde de musique est codée sur 44100 couples de mots de 16 bits. Question : Quelle durée de musique peut-on graver sur un CD d’une capacité de 800Mo ? 1 seconde = 44100*2*16 bits = 44100*4 octets 800Mo = 800*1024*1024 octets , nbres de secondes de musique = 800Mo / 44100*4 = 4755 secondes = 79 minutes Suite à mon calcul, j’ai acheté un CD vierge 800Mo, et essayé de graver mes 800Mo de musique. Mon logiciel de gravure me dit que mon CD n’a pas assez de place !!?? Pourquoi ? Ou est l’arnaque ? Le commerçant fait son calcul en considerant qu’un kilooctet=1000octets -> mon CD de 800Mo ne fait en fait que 800 000 000 octets ( au lieux de 838 860 800 ) Le CD annové 800Mo en fait pour de vrai 763Mo Page 7/8 Barrière DECMA - notion de transmission série & codage des caractères Page 8/8