Convertisseur USB/série PL2303

13 AUT 16
Convertisseur USB/série PL2303
Catégories : Électronique numérique
Je viens de recevoir mon convertisseur USB/série commandé chez AliExpress il y a environ trois semaines (les délais sont un peu long parce que ça arrive de directement de Chine). Voici à quoi ça ressemble (cliquez sur l’image pour aller sur la page AliExpress)

pl2303Ce petit module très bon marché permet d’échanger des informations entre une interface série (TTL) et un port USB de l’ordinateur. Il intègre une puce te type PL2303 de chez Prolific Technology. Aucun pilote à installer sous GNU/Linux, la gestion des puces PL2303 est déjà intégrée au noyau, et le module pl2303 est automatiquement chargé dès que le convertisseur est connecté à l’ordinateur.

Description rapide des broches

Le modèle que j’ai acheté dispose de 5 broches.

pl2303_broches

  • 3.3V : fournit une tension de 3,3V, pour éventuellement alimenter un montage externe
  • 5.0V : idem, avec une tension de 5V
  • TXD : c’est sur cette broche que sont transmises les données du port USB vers le périphérique série qui sera connecté. Il faut relier cette broche à la broche RXD (réception) du périphérique série
  • RXD : broche pour la réception des données. À connecter à la broche TXD du périphérique série
  • GND : la masse, à relier obligatoirement à la masse du périphérique série à connecter

Petit test

Pour tester le module, j’ai utilisé un petit arduino nano qui va jouer le rôle de périphérique série et envoyer des données TTL. Il existe pour cela la bibliothèque SoftwareSerial, qui permet d’effectuer des communications séries sur n’importe quelle broche numérique de l’arduino, de manière totalement logicielle.

Voici le morceau de code utilisé côté arduino :

J’utilise les broches 10 et 11 de l’arduino pour la réception (RXD) et la transmission (TXD) des données. Ces deux broches sont donc à relier aux broches TXD et RXD du module pl2303. Ne pas oublier également de connecter les masses.

Dans la fonction setup(), on initialise la communication à 4800 bauds (les valeurs possibles côté pl2303 se trouvent dans le tableau page 17 de la datasheet, mais la vitesse de communication côté arduino est limitée à 57600 bauds).

Voici le montage :

pl2303_montageIl ne reste plus qu’à compiler et envoyer le programme arduino en utilisant l’IDE, et à visualiser les données qui arrivent sur le port USB. Pour identifier sur quel nœud du système de fichiers apparaissent l’arduino et le pl2303, je vous renvoie vers mon petit script Python.

Ici, l’arduino nano est sur /dev/ttyUSB0, et le pl2303 sur /dev/ttyUSB1.

Pour visualiser simplement les données qui arrivent sur le port USB, on peut utiliser l’outil en ligne de commande screen, suivie du port USB et de la vitesse de communication en bauds :

On constate comme attendu que chaque seconde, on voit la valeur du compteur qui s’affiche. Les données transmises par l’arduino nano sur le port série logiciel (broches 10 et 11) sont bien réceptionnées par le PL2303, et accessibles sur le port USB de l’ordinateur.

Taper [CTRL]+[D] pour quitter screen.

Il est également possible d’utiliser des outils plus graphiques, comme par exemple cutecom (apt install cutecom sous Debian). Il faut juste configurer le périphérique sur /dev/ttyUSB1, la vitesse de communication (4800 bauds), puis cliquer sur « Open device ».

cutecomLà encore, on voit chaque seconde la valeur du compteur s’incrémenter.

C’est tout pour ce petit tuto. J’espère qu’il vous rendra service !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *