Principe:
La liaison RS232 est une des plus utilisée dès que l'on cherche à piloter une électronique par un PC.
La norme RS232 définit non seulement le lien physique (niveaux de tension, portée, type de câble),mais aussi la partie basse du protocole de communication.
- Dans le cas de petits montages électroniques, on n'utilise en fait que trois lignes: TX,RX et GND.
- Pour les liaisons plus complexes (type modem), on se sert alors des autres signaux:
A l'établissement du dialogue PC/distant, le PC monte DTR, le distant répond en montant DSR.
A l'émission d'une donnée, le PC monte RTS, le distant répond en montant CTS.
En appel entrant, le modem signale au PC un appel en montant le RI.
En appel sortant, le modem signale au PC le décrochage du distant en montant le CD.
On trouvera alors plusieurs sortes de câble:
- un simple câble droit si l'on ne veux pas s'embêter...
- un câble minimaliste, avec les PINs 2,3 et 5 connectées.C'est le câble utilisé en général pour les maquettes électroniques.
- un câble simulateur de modem, avec les PINs 2,3 et 5, et côté PC, RTS relié à CTS/CD et DTR relié à DRS: un logiciel type interface modem verra alors une connexion correcte.
Le brochage:
- côté PC: normalement, on a une DB9 mâle.
Le PC est un DTE (Data Terminal Equipement) comme les imprimantes et les terminaux.
- côté carte: on placera donc une DB9 femelle.
La carte est un DCE (Data Communication Equipement), comme un modem.
- entre la carte et le PC, on aura donc un simple câble droit mâle/femelle.
Brochage de la prise DB9
| Pin |
Nom |
Sens |
Description |
| 1 |
CD |
 |
Carrier Detect |
| 2 |
RXD |
 |
Receive Data |
| 3 |
TXD |
 |
Transmit Data |
| 4 |
DTR |
 |
Data Terminal Ready |
| 5 |
GND |
 |
System Ground |
| 6 |
DSR |
 |
Data Set Ready |
| 7 |
RTS |
 |
Request To Send |
| 8 |
CTS |
 |
Clear To Send |
| 9 |
RI |
 |
Ring Indicator |
Le contrôleur côté PC:
Pour gérer le(s) port(s) série, les constructeurs de PC utilisent un chipset spécialisé.
Le plus souvent, il s'agit de 82450, 16450 ou 8250 pour les plus anciens.
Le 16450 est souvent remplacé par un 16550, qui intègre une FIFO (ce qui est surtout utile pur les hauts débits, rarement le cas de bidouilles personnelles).
Le soft:
Plusieurs approches possibles:
- si les ordres à envoyer/recevoir sont simples, et sous forme de caractères, le mieux est d'utiliser un terminal comme HyperTerminal sous Windows 9x.
- si la gestion est plus complexe (messages comportants des codes autres qu'alphanumériques, vitesse de transmission élevée, traitement à effectuer), il faut alors utiliser un petit programme capable de gérer la ligne RS232:
- sous Windows, le plus simple (à mon avis), est de programmer sous Visual Basic.
- sous d'autres OS (type LINUX), il faut mettre un peu plus la main à la pâte, en général en programmant en C.
- sous DOS (c'est souvent le cas si un vieux PC est utilisé pour le pilotage des maquettes), utiliser QBASIC, ou un C type Turbo C de Borland, à grand renfort de routines IOCTL.
Mise à jour de la page: