Utilisation du port série
Par Maxime le 01 Septembre 2011
Présentation
Le port série communément appellé liaison RS232 est une valeur sure en robotique amateur malgrès son âge. Il offre des supports de communication robustes et simples à mettre en oeuvre.
Etant donné que ce bus est "série", les informations sont envoyées bit à bit, "à la chaine" (on parle de trames), contrairement au port parallèle. Il en résulte un débit moins important mais néanmoins suffisant pour nos applications.
Deux modes de fonctionnement sont possibles pour le port série. Le mode est choisi en fonction des besoins. A chaque mode correspondent des pisns ur le connecteur DB9 ci contre.
- Le mode synchrone
Electriquement, le schéma se résume à trois fils : un pour l'horloge, un pour les données et une masse commune (comme pour le bus I²C). Ce mode a l'avantage de mettre plusieurs périphériques en série via une relation mâitre esclave. Cependant bien que semblable à l'I²C, il n'offre pas les mêmes fonctionnalités : tout est à reprendre (arbitrage du bus, adressage…). De plus il fonctionne en half duplex : deux périphériques ne peuvent pas parler en même temps.
TODO : schéma
En robotique, nous préférons utiliser le bus I²C plutôt que du série asynchrone lorqu'il s'agit de faire communiquer plusieurs périphériques en série, les fonctions matérielles comme l'adressage et l'arbitrage du bus sont très appréciées.
- Le mode asynchrone
Il s'agit de la plus large application du port série en robotique. Là encore, le schéma électrique se résume à trois fils : un pour émettre les données (TX), un pour les recevoir (RX), et une masse.
Nous n'entrons pas ici dans les détails du fonctionnement de la liaison série comme la gestion de l'horloge et le format des trames. Vous pouvez consulter :
TODO : liens
L'informaticien peut faire abstraction de ces informations en considérant qu'il ne s'agit que de transit de chaines de caractères d'un buffer A bers un buffer B.
Je tiens cependant à mettre en évidence l'importance du croisement de la ligne. En effet, en mode asynchrone, non seulement il n'y a que deux périphériques qui peuvent communiquer ensembles et pour ce faire il faut que l'émission de l'un de fasse sur le récepteur de l'autre et vice verça : on parle de ligne croisée. Ceci permet une liaison full duplex : les deux périphériques peuvent parler en même temps.
TODO : schéma
Utilisation logicielle du port série
TODO : présentation de la librairie C utilisée…