logo Recherche
 
 

Mise en oeuvre du module USBMOD3

Que l'on passe par des microcontrôleurs supportant l'USB ou par des chipsets spécialisés, l'intégration du bus USB dans des réalisations électroniques se révèle toujours délicate autant d'un point vue électronique que logiciel. Heureusement, il existe des modules électronique prêts à l'emploi, tel que l'USBMOD3, prenant en charge toute la lourdeur du protocole USB pour nous offrir un moyen de communication plus singulier avec la communication série.

 

Présentation du module USBMOD3

L' USBMOD3 est un module au format DIL 32 broches basé sur le chipset FT232BM de chez FTDI. Ce circuit, qui est une UART USB/série haute vitesse, supporte tous les signaux nécessaire à une communication série de type RS232, RS422 ou RS485 à partir d'une liaison USB V1.1 ou V2 et ce, pour des débits de 300bps à 3Mbps.
Le module supporte les quelques composants indispensables au chipset comme un quartz, une eprom chargée de contenir toutes les informations d'identification exigées par le protocole USB ainsi qu'une poignée de composants discrets et sans oublier le connecteur USB (de type B), le tout , dans un encombrement raisonnable de 18x46mm hors tout.
Brochache de l'USBMOD3
Brochache de l'USBMOD3

C'est donc un module bien complet qui nous soulage d'une bonne part d'électronique et dont les 32 broches supportent les fonctions suivantes :

BrocheSignalTypeDescription
1GPWR Masse
2GndPWR Masse
3B+PWRo Ligne d'alimentation du bus USB
4+VPWRo Alimentation du module de (4,4V à 5,25V)
5ECSI/O EEprom séléction
6ECLKI/0 EEprom horloge
7EDATI/O EEprom données
8RSTIIn Reset du module (par mise à 0)
9EPIn Autorise l'énumération du module par le bus USB (par mise à 1)
10RSTOOut Indicateur de redémarrage (reste en haute impédance durant 2ms)
113V3PWRo Alimentation régulée 3V3 5mA délivré par le module
12VIOPWRi Entrée d'alimentation de la logique série (à relier à 3V3 ou 5V)
13+VPWRo Alimentation du module (4,4V à 5,25V)
14SLEEPOut Indicateur de mise en veille du module (si à 0)
15RXLDO.c Pilote de led indiquant l'émission de données
16GNDPWR masse
17TXLDO.c Pilote de led indiquant la réception de données
18PCTLIn Mode d'alimentation (0:Alim externe, 1:Alim par l'USB)
19PENOut Indiquateur de mise en service (à 0 durant l'init et sinon à 1)
20TXENOut UART pilote de transmission pour la norme RS485
21RIIn UART entrée signal RS232 Indication de sonnerie
22DCDIn UART entrée signal RS232 Détection de porteuse
23DSRIn UART entrée signal RS232 Terminal prêt
24DTROut UART sortie signal RS232 Système prêt
25CTSIn UART entrée signal RS232 Terminal demande à transmettre
26RTSOut UART sortie signal RS232 Système demande à transmettre
27RXDIn UART entrée signal série RS232
28TXDOut UART sortie signal série RS232
29GNDPWR Masse
30D-I/O Ligne USB DATA-
31D+I/O Ligne USB DATA+
32GPWR masse

 

Comme on peu le voir, il n'y a pas que la communication série, sur le module et beaucoup d'autres fonctions ainsi que diverses options de configurations sont à la disposition de vos applications comme une alimentation régulée de 3,3V de quelques mA, la possibilité de visualiser les données par des leds, une indication de mise en sommeil par le Bus, une autorisation de prélèvement d'alimentation,...toutes ces options ne sont bien sur pas toutes indispensables, mais, un minimum de câblage cera quand même nécessaire pour animer correctement le module.

 

L'intégration électronique.

Inutile de raccorder ce module à l'USB tel que, il ne se passera rien car celui-ci demande quelques petits raccordements au préalable. (d'ailleurs, j'ai bien failli renvoyer le premier module que j'ai eu entre les mains à cause de ça ! ) mais rassurez vous, aucun composant supplémentaire n'est nécessaire et il ne s'agit que de 3 petits raccordements, permettant de configurer l'énumération du module son mode d'alimentation et la tension de fonctionnement de l'interface série.

  • Pour l'énumération, il faut raccorder la broche N°9 (EP) soit au 3,3V (broche N°11) soit au générateur de reset (broche N°10 appelée RSTO). Les deux fonctionnent très bien mais la broche N°10 laisse un temps de pause de 2ms avant de lancer le processus de déclaration et permet de relancer l'énumération lors d'un reset manuel par la broche N°8 (RSTI).
  • L'indication du mode d'alimentation s'effectue elle, à l'aide de la broche N°18 (PCTL), celle-ci devant être relié à GND (la broche N°16 pour la plus proche) pour indiquer une alimentation du montage par le bus USB, ou au 5V, pour indiquer que la réalisation est auto-alimentée. Notez que même si votre réalisation supporte sa propre alimentation, vous pouvez toujours prélever jusqu'à 100 mA sur le bus alors que si vous optez pour une alimentation par le bus USB (c'est toujours plus sympa) cela vous autorise à prélever jusqu'à 500mA sur le bus, toutefois, "dans la limite des stocks disponibles" car cette demande est soumise à autorisation de la part du Hub, celle-ci étant acquise lorsque la broche N°19 (TEN) bascule au niveau bas.
  • Le dernier raccordement obligatoire concerne la tension de l'interface série, qui est alimenté par la broche N°12 (VIO) et pourra être relié soit à la broche N°11 (3V3) pour une logique à 3,3 volts ou à la broche N°13 (+V) pour une logique classique à 5 Volts.

Pour ne pas passer en revue les 32 broches du circuits je terminerais par les lignes de transmission série (à savoir TXD, RXD mais aussi CTS, DTR, DSR, DCD et RI). Il y a là tous les signaux prévus par la norme RS232 mais au niveau logique TTL ou 3V3 suivant l'alimentation choisis. Les lignes TX et RX sont à logique positive (c'est à rire que, 1 = 5V ou 3,3V et que 0 = Gnd) alors que les signaux de contrôle sont à logique négative (c'est à dire considérés, comme actifs à Gnd )

câblage minimal

Câblage minimal avec alimentation par le bus

Les drivers.

Maintenant que le câblage est éclairci, voyons un peu ce qu'il en est coté drivers.
Deux types de drivers sont proposés :

  • Le driver VCP : (Virtual COM Port), qui ajoute un port RS232 au PC et rend le module accessible comme n'importe quel port série.
  • Le driver D2XX : qui donne accès au module via une bibliothèque dynamique (DLL) qu'il faudra intégrer à l'application exploitant le module.

Le driver D2XX permet d'exploiter le module au maximum et notamment d'atteindre les 3Mbps en vitesse de communication. En revanche, sa mise en oeuvre reste relativement lourde et les applications réalisées sont très dépendantes du module et de la DLL. Aussi, c'est plutôt vers le Driver VCP que nous nous tournerons car d'usage plus universel et ouvert à toutes applications fonctionnant sur port COM avec un débit qu'en même honorable de 1Mbps.

Pour télécharger ce driver, vous pouvez aller sur le site du distributeur d'origine de votre module (dans mon cas elexol.com) ou aller directement sur le site du fabriquant du chipset ftdchip.com où vous trouverez les Driver VCP pour tous les systèmes d'exploitations à la page:

Une fois le pack zip adapté à votre PC téléchargé, décompressez le pour obtenir sous Windows un répertoire appelé "CDM 2.02.04 WHQL Certified" contenant les fichiers suivant:

Contenu du pack driver vcp

Installation du module et de son driver

Comme tout appareil USB, l'installation effective du driver se fait au moment du raccordement.
Avec le driver VCP, ce n'est pas une, mais deux installations que nous aurons à faire, la première concernant le module lui même en tant qu'élément USB et la deuxième pour installer le port série virtuel donnant accès au module. Tout cela se fait naturellement avec Windows et il suffit de suivre les instructions se présentant à l'écran, dont je vous donne le déroulement ici.

Raccordez votre module afin que Windows le détecte (si vous avez fait le câblage minimum, c'est du moins ce qui devrait ce passer) et vous invite à l'installation de ce nouveau matériel avec la fenêtre suivante :

Assistant d'installation des drivers USB

 

Comme nous avons déjà notre driver à disposition sur notre PC, sélectionnez "Non, pas pour cette fois" et passez à l'étape suivante.

Assistant d'installation des drivers USB

 

Sélectionnez dans cette nouvelle page de l'assistant, l'option "Installer à partir d'une liste ou d'un emplacement spécifié" et passez à la suite.

Assistant d'installation des drivers USB   Assistant d'installation des drivers USB

 

Désélectionnez "Rechercher dans les médias amovibles" et sélectionnez "Inclure cet emplacement dans la recherche", puis, cliquez sur le bouton "Parcourir" afin de sélectionner le répertoire contenant le driver que nous venons d'extraire et enfin, cliquez sur suivant.

Windows travaille à l'installation du driver et vous affiche la fenêtre suivante,

Assistant d'installation des drivers USB

 

Indiquant la fin de l'installation, du moins pour le module USB, car il reste encore à installer le port COM virtuel, ce que Windows vous invitera à faire dès que vous fermerez cette fenêtre.
Il suffit alors de reprendre une deuxième fois la procédure que je viens de décrire qui est exactement la même.

Et voilà, vous avez maintenant votre port série virtuel prêt à recevoir vos applications logicielles et votre module USB/série pour vos réalisations électroniques.

Si vous avez besoin de connaître le N° du port COM de votre module, il suffit d'aller voir dans le gestionnaire matériel qui liste les ports COM disponibles, accessible par le panneau de configuration ou par les propriétés du "poste de travail" dans le volet "matériel" :

Liste des ports COM installés

 

Quelques liens utiles

-Datasheet de l'USBMOD3 :

-Datasheet du shipset FT232BM :

-Téléchargement du driver VCP :

-Téléchargement direct du driver VCP pour Windows 2000, XP,Vista :

 

 
http://www.automatepc.fr
© 2004 - 2010