Communication série Le matériel Concepts généraux 03/10/2017 Communication série Concepts généraux Programmation des ports séries Le matériel Chapitre 10 CSA Article dans MSDN: Serial Communication in Win32 Synthèse du professeur sif-1053
Communication série: Concepts généraux 03/10/2017 La façon la plus simple de relier deux ordinateurs est d’utiliser une liaison point à point RS232 sif-1053
Communication série: Concepts généraux 03/10/2017 En mode série, les données sont échangées un bit à la fois avec un taux de transfert plutôt lent (quelques Ko/sec) sif-1053
Communication série: Concepts généraux 03/10/2017 Des mécanismes sont requis pour permettre au récepteur de données d’échantillonner chaque bit de façon fiable Le récepteur doit alors connaître la largeur de chaque bit et son point de départ Le récepteur doit donc connaître la fréquence et la phase du flot de bits Échantillonnage sif-1053
Communication série: Concepts généraux 03/10/2017 Échantillonnage et synchronisation sif-1053
Communication série: Concepts généraux 03/10/2017 Lors du transfert des bits sur une ligne pouvant être bruitée (interférence électrique) des erreurs de transmission peuvent alors survenir (bit à 1 -> 0 ou 0 -> 1) sif-1053
Communication série: Concepts généraux 03/10/2017 Détection d ’erreur Pour éviter l’altération des données il faut détecter les erreurs de transmission Ajout de 1 bit de parité pair ou impair aux bits d ’informations Le bit de parité est choisi de façon à ce que le nombre de 1 dans le code produit soit pair (ou impair) ex: 1001 0 -> 0001 0 Parité reçue 0001 1 Parité calculée Parité avant la transmission sif-1053
Communication série: Concepts généraux 03/10/2017 Détection d ’erreur sif-1053
Communication série: Concepts généraux 03/10/2017 Détection d ’erreur sif-1053
Communication série: Concepts généraux 03/10/2017 Protocole d’échange de données en série RTS: ready to send CTS: clear to send Xon: continue ( ˆQ) Xoff: stop (ˆ S) sif-1053
Communication série: Concepts généraux 03/10/2017 Format des données séries Les communications séries sont généralement asynchrones, donc chaque caractère échangé doit être encadré par des bits particuliers pour permettre à l’ordinateur récepteur de détecter le début et la fin de chaque caractère sif-1053
Communication série: Concepts généraux 03/10/2017 Format des données séries sif-1053
Communication série: Concepts généraux 03/10/2017 Format des données séries Start bit: Ce bit (à 0) permet au récepteur de localiser le début de l’octet de donnée transféré Stop bit(s): Ce(s) bit(s) (à 1) aide(nt) aussi le récepteur à trouver le début de l’octet transférer. Le début d’un octet est marqué par une transition de 1 à 0, quand aucune donnée n’est échangée la ligne est tenue à 1 Bits de données: Combinaison de bits Bit de parité: Permet au récepteur de déterminer si la transmission s’est effectuée sans erreur. Le bit de parité est initialisé de telle façon que le nombre de bits à 1 est paire (parité paire) ou impaire (parité impaire) sif-1053
Communication série: Concepts généraux 03/10/2017 Protocole d’échange basé sur la configuration matérielle du connecteur DB9 sif-1053
Communication série: Concepts généraux 03/10/2017 Configuration d’un port série observée avec le DEVICE MANAGER sif-1053
Communication série: Concepts généraux 03/10/2017 Configuration matérielle d’un UART (Universal Asynchronous Receive and Transmit) sif-1053
Communication série: Programmation des ports séries 03/10/2017 Émulation de terminal sif-1053
Communication série: Programmation des ports séries 03/10/2017 Émulation de terminal sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win98 } sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win98 TRANSMISSION } sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win98 RÉCEPTION } sif-1053
Transfert de fichier par lien série (Win98) 03/10/2017 Transfert de fichier Réception de fichier } sif-1053
Transfert de fichier par lien série (Win98): TRANSMISSION 03/10/2017 sif-1053
Transfert de fichier par lien série (Win98): RÉCEPTION 03/10/2017 sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win2000 // COM1 Ouverture du port COM2 Initialisation du mode de fonctionnement du port COM2 } sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win2000: Structure DCB sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win2000: OUVERTURE DU PORT SÉRIE sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win2000: INITIALISATION DU PORT SÉRIE sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win2000 La fonction initcomm() permet d’initialiser le mode de fonctionnement du port série COM2 Format du mot de configuration du UART sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win2000 Lecture d’un caractère sur le port COM2 sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win2000: LECTURE D’UN CARACTÈRE SUR COM2 sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win2000 Fonction ReadFile() // Reception de caractere du COM2 // fSuccess = ReadFile( hCom, // fichier a lire (COM2) &item, // addresse du buffer input sizeof(item), // nombre d’octets a lire &ni, // nombre d’octets lus NULL); // inutile sif-1053
Communication série: Programmation des ports séries 03/10/2017 Implémentation sous Win2000 Fonction WriteFile() // transférer des caracteres par le COM2 // fSuccess = WriteFile( hCom, // fichier ou ecrire (COM2) &item, // addresse du buffer output sizeof(item), // nombre d’octets a ecrire &ni, // nombre d’octets ecrits NULL); // inutile sif-1053