PRESENTATION:
L'intégration du protocole USB dans les montages à microcontrôleurs peut se révéler lourd et fastidieux à mettre en oeuvre, voir même, risque de mobiliser une grande partie des ressources systèmes. Des circuits intégrés spécialisés sont maintenant disponibles au grand public, et on les retrouve directement assemblés avec leurs composants annexes sur des modules prêt à l'emploi et relativement économiques. Vous trouverez sur cette page une introduction à la mise en œuvre de tels modules.
Pourquoi le passage à l'USB ?
Le bus USB est maintenant devenu standard, équipe tout les nouveaux PC depuis bien des années, on ne peut pas dire de même de la classique liaison RS232 disponible sur la DB9, je dirais même qu'elle à une très net tendance à devenir inexistante sur les PC portables.
Un autre point non négligeable : c'est la vitesse de communication atteinte qui peut monter jusqu'a 1000 Kbd. On peut aussi parler de l'abondance des prises USB disponibles sur le pc, permettant le raccordement de plusieurs montages, la possibilité de personnaliser sa réalisation en attribuant un nom à son interface et l'adjonction d'un numéro de série.
Dernier point, le bus USB est autoalimenté et peut fournir un courant assez important pour alimenter totalement un petit montage à microcontrôleur.
La présentation générale s'articulera autours du module 'USBMOD3' disponible chez Lextronic, qui integre le circuit intégré de type FTDI232BM, compatible avec la norme USB1 et USB2.
Avant de commencer et pour éviter toutes confusions, je souhaite vous faire part dès maintenant de la possibilité d'utiliser le module de deux manière différentes :
- Avec le driver VCP (Virtual COM Port), qui "simule" et ajoute automatiquement un port RS232 au PC. L'accès au port sera transparent pour l'utilisateur et son pilotage se fera comme un vrai port série. C'est la manière la plus simple d'utiliser le module.
- Avec le driver D2XX : Aucun port série directement adressable ne sera ajouté comme avec le driver VCP, son pilotage en mode natif se fera à l'aide d'un accès à une bibliothèque de liaison dynamique "DLL" à l'aide des logiciels de développement comme visual basic, delphi... En revanche, cette méthode de pilotage permet d'exploiter au maximum la vitesse de communication.
Dans tout les cas les 2 drivers ne doivent pas cohabiter ensemble.
- Téléchargement des drivers pour Windows : |
- VCP |
|
- D2XX |
|
- MProg qui permet la personnalisation du module (voir explications plus loin) |
|
- Le datasheet du module |
Les autres drivers et utilitaires sont diponibles sur le site du fabricant FTDI
|
NOTA : la suite du document concernant la présentation du module est une traduction partielle du datasheet original.
1. Caractéristiques technique du module :
- Solution Haute vitesse USB / UART sur un seul module
- Basé sur un FTDI FT232BM, circuit intégré UART haute vitesse
- Connecteur type B USB intégré
- Quartz 6 MHz intégré sur la platine
- EEPROM externe pour l’énumération de données USB
|
- Aucun besoin de composants passifs externes
- Module alimenté par le bus USB pouvant délivrer 450ma
- Brochage 32 broches Dual in line parfait pour le prototypage
- S’insère dans un support standard de circuit intégré 32 broches
|
2. Caractéristiques technique du circuit intégré FT232BM :
- Solution de transfert de données sur un seul circuit intégré multi fonctions
- Liaison RS232 de 300 à 1000KBs
- Liaison RS422/RS485 à 3000KBs
- Buffer (mémoire) de réception de 384 bits et 128 en émission
- Prise en charge totalement matérielle du contrôle de flux ou mode X-on/X-off
- Support de caractères d’événement et de condition de saut de ligne
- Contrôle de transmission du buffer automatique pour RS485
- Boîtier compact 32 broches MQFP
- Pré diviseur d’horloge 6/48 Mhz intégré, facilitant la conformité d’émissions
- Régulateur 3.3V intégré. Pas besoin de régulateur externe
|
- flexible UHCI / OHCI / EHCI
- Compatible USB1.1 et USB 2.0
- USB VID, PID, numéro de série et description du produit pouvant être contenu dans une EEPROM Externe
Pilotes VCP (port virtuel de communication) disponibles pour :
· Windows 98, 98SE et ME
· Windows 2000 et XP
· Windows CE **
· MAC OS-8 et OS-9
· MAC OS-X **
· Linux 2.4 et au dessus
** En cours de développement ou planification
Pilotes FTD2XX
(USB Direct Drivers + DLL)
· Windows 98, 98SE et ME
· Windows 2000 et XP |
3. Améliorations par rapport à la version précédente :
J’ai volontairement réduit cette section qui résume les améliorations de la seconde génération de module par rapport au circuit intégré prédécesseur FT8U232AM.
Voici les points importants à retenir :
- Le reset à la mise sous tension est maintenant intégré et accessible de l’extérieur par la broche RSTI. Un reset externe reste possible en tirant cette broche à la masse. Si vous ne l’utilisez pas, connectez cette broche à V+ ou laisser la "en l'air"
- Plus besoin de circuit d’oscillation externe RC pour assurer la stabilité de l’oscillateur et de la boucle PLL.
- Un convertisseur de niveau électrique pour les signaux de l’UART et de commandes et aussi intégré afin d’être compatible avec une tension d’alimentation de 3.3V. En effet le nouveau circuit dispose de broches séparées d’alimentation (VIO)
- Consommation de courant réduite pendant le mode Suspend, c
- utant à 200uA (hormis la résistance de rappel sur le bus USB de 1.5K)
- Programmation personnalisée du timeout du buffer de réception.
- Condensateurs de découplages intégrés sur la platine, ce qui permet de simplifié le design du PCB et de gagner de la place.
- Nouveau pré diviseur programmable afin d’obtenir une plus grande variété de vitesse de communication.
4. Brochage du module :

5. Description fonctionnel des broches :
Broche |
Nom |
Type |
Description |
1 |
G |
PWR |
Masse |
2 |
GND |
PWR |
Masse |
3 |
B+ |
PWR |
Alimentation provenant du bus USB |
4 |
V+ |
PWR |
Alimentation du module 4.4V à 5.25V |
5 |
ECS |
I/O |
EEPROM – Sélection du composant |
6 |
ECLK |
I/O |
EEPROM – Horloge |
7 |
EDAT |
I/O |
EEPROM – Données |
8 |
RSTI |
IN |
Reset. Peut être piloté par un signal externe (niveau bas). Pas besoin de connecter cette broche à V+ |
9 |
EP |
IN |
Connectez cette broche à RSTO ou à 3v3 afin de permettre le processus d’énumération du circuit lors de sa connexion sur le bus USB. L’énumération est une opération effectuée par le PC afin de configurer un composant USB |
10 |
RSTO |
OUT |
Sortie du générateur interne de Reset. |
11 |
3V3 |
OUT |
Alimentation régulée 3.3V fournie par le circuit intégré. |
12 |
VIO |
PWR |
Alimentation de la circuiterie logique de l’UART. Tension comprise entre 3.3 et 5.25V.Cette broche doit être connectée à 3V3 si la tension des signaux logiques de l’UART doit se faire en 3.3V ou à V+ pour des signaux en 5V. |
13 |
V+ |
PWR |
Alimentation du module 4.4V à 5.25V |
14 |
SLEEP |
OUT |
Cette broche passe au niveau bas lors du passage en mode sommeil du module |
15 |
RXLD |
O.C. |
Cette broche permet de piloter une LED quand des données sont reçues sur le bus USB |
16 |
GND |
PWR |
Masse |
17 |
TXLD |
O.C. |
Cette broche permet de piloter une LED quand des données sont envoyées sur le bus USB |
18 |
PCTL |
IN |
Mettre cette broche au niveau Bas si le module est auto alimentée, ou au niveau haut si l’alimentation est externe. |
19 |
/PEN |
OUT |
Au niveau Haut pendant la configuration du module, puis passe au niveau bas Cette broche permet de piloter un mosfet à canal P afin d’alimenter des périphériques externes alimentés par le bus USB en fin de configuration du module. |
20 |
TXEN |
OUT |
Signal de fonction de l’UART |
21 |
/RI |
IN |
Signal de fonction de l’UART |
22 |
/DCD |
IN |
Signal de fonction de l’UART |
23 |
/DSR |
IN |
Signal de fonction de l’UART |
24 |
/DTR |
OUT |
Signal de fonction de l’UART |
25 |
/CTS |
IN |
Signal de fonction de l’UART |
26 |
/RTS |
OUT |
Signal de fonction de l’UART |
27 |
RXD |
IN |
Signal de fonction de l’UART |
28 |
TXD |
OUT |
Signal de fonction de l’UART |
29 |
GND |
PWR |
Masse |
30 |
D- |
I/O |
Signal de données négatif du bus USB |
31 |
D+ |
I/O |
Signal de données positif du bus USB |
32 |
G |
PWR |
Masse |
6. Schéma électrique du module :

7. Installation des drivers VCP :
Dès que vous brancherez le module sur le bus du PC, windows detectera le nouveau périphérique. Il faudrat préalablement télécharger les drivers sur le site de FTDI, puis proceder à l'installation du driver en suivant les indications de l'assistant de configuration windows.
Une fois les drivres installés, vous avez maintenant un port série virtuel.
|