Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
simplex : les données circulent dans un seul sens : émetteur vers récepteur
Exemples : ordinateur imprimante, souris ordinateur, radio.
half-duplex : les données circulent dans les 2 sens mais pas simultanément : la bande
passante est utilisée en intégralité (aussi appelé alternat ou semi-duplex).
Exemple : talkie/walkies, êtres humains (on ne coupe pas la parole).
Série / Parallèle
Parallèle : 8 lignes = 1 octet (ou plus, si besoin) de données sont émises simultanément. La
transmission est donc intuitivement plus rapide qu’une transmission bit par bit. Or il existe un
certain nombre de difficultés, limitant le débit et la distance de
ces connexions :
Les fils proches entraînent des perturbations
importantes à haut débit (diaphonie).
Les bits doivent arriver de manière synchronisée au
récepteur.
Le nombre de fils pose un problème de place et de coût.
Comment être certain que le récepteur lit les états de la ligne au bon moment ? C'est-à-dire
comment gérer le problème de synchronisation entre émetteur et récepteur. Deux modes de
transmission permettent de répondre à cette question :
Mode asynchrone : Chaque message est précédé d'un STARTbit et suivi d'un ou deux
STOPbits. L'avantage des transmissions asynchrones réside dans la simplicité de la méthode.
Le temps entre deux messages n'étant pas défini, le message est envoyé sans attendre la
synchronisation.
Afin que les éléments communicants puissent se comprendre, il est nécessaire d'établir un
protocole de transmission. Ce protocole devra être le même pour les deux éléments
communiquants afin que la transmission fonctionne correctement.
Trame de communication :
Une trame est composée de 4 parties :
• 1 bit de start : la ligne au repos est à l'état logique 1, pour indiquer qu'un mot va être
transmis la ligne passe à l'état bas avant de commencer le transfert. Ce bit permet de
synchroniser l'horloge du récepteur.
• 5 à 8 bits de données : Les données effectives à transmettre, en commençant la
transmission par les bits de poids faible vers les bits de poids fort.
• 0 ou 1 bit de parité : le mot transmis peut être suivi ou non d'un bit de parité qui sert à
détecter les erreurs éventuelles de transmission.
• Bit(s) de stop : après la transmission, la ligne est positionnée au repos.
Trame de transmission en parité paire, avec 2 bits de stop, du caractère B dont le codage ASCII est 10000102
On définit l’efficacité (ou rendement) de la transmission par le rapport entre le nombre de bits
de données (utiles) et le nombre de bits total nécessaire à la communication.
Le composant UART
Deux composants interviennent sur la carte mère du PC dans l’utilisation d’un port série :
GD75232 et IT8705F (carte à faire circuler pour repérer ces composants à partir du
connecteur COM1).
• Donner leur rôle dans la communication à partir des spécifications :
www.datasheetcatalog.com
• Donner la référence du composant dédié à la communication par le port série (UART).
• Trouver alors des spécifications (www.datasheetcatalog.com) plus appropriées à l’étude ce
composant (peu import la marque du fabricant). En particulier le tableau des registres
ainsi que leur description détaillée.
Les ports COM1 et COM2 disposent chacun de leur composant UART. Afin d’accéder à
chacun de leurs registres, les adresses doivent être différentes ! Les adresses des registres sont
donc des adresses « relatives » au composant. Une adresse « absolue » est donc nécessaire et
construite à partir de l’adresse du composant et de l’adresse relative du registre.
• Chercher la plage d’adresses allouée au port COM1 et celle allouée au port COM2 à
partir du gestionnaire de périphérique du PC (Panneau de configuration / Système /
Matériel).
• En déduire l’adresse absolue du registre LSR du port COM1.
• Ecrire l’instruction permettant de lire l’octet (nombre entier codé sur 8 bits) défini dans
le registre LSR (utiliser l’instruction inportb définie ci-dessous)
• Si un caractère est reçu sur la ligne du port série, le bit 0 (Data Ready) du LSR passe à
1. Trouver une opération logique bit à bit et une valeur de masque appropriée
permettant d’isoler ce bit.
• Donner les valeurs en hexadécimal et écrire le code C correspondant.
Fonctions de lecture/écriture matériel en langage C :
char inportb(int adresse) : lit un octet (8 bits = char) sur le registre situé à
l'adresse indiquée, et le retourne.
outportb(int adresse, char val) : écrit la valeur (val) sur le registre de 8 bits situé
à l'adresse indiquée.
Programmation Informatique & Communications Industrielles 4/46
Licence Professionnelle Distribution Electrique & Automatismes Industriels