Interface USB->Série à 2 composants[Monnoliv]
Répondre à la discussion
Affichage des résultats 1 à 20 sur 20

Interface USB->Série à 2 composants[Monnoliv]



  1. #1
    monnoliv

    Interface USB->Série à 2 composants[Monnoliv]


    ------

    L'interface s'articule autour d'un composant spécialisé du fabricant FTDI, il s'agit du FT232RL (28SSOP, c'est un composant CMS). Un condensateur supplémentaire se charge de stabiliser la tension. Pour obtenir une interface compatible RS232 il faudrait rajouter un circuit de conversion de tension (genre max232). Cependant, dans 99% des cas l'interface série sert à faire communiquer le PC avec une réalisation personnelle à base de micro-contrôleur et il n'y a pas besoin de convertisseur. Le schéma est donné pour des signaux de 5[V]. Si on désire une interface avec des signaux de 3.3[V], il suffit de connecter la broche 4 à la broche 17 au lieu de la connecter au +5[V] USB. Tous les signaux de l'interface standard série sont disponible mais dans la plupart des cas, on se contente de la masse, Tx et Rx. Le circuit FT232RL est reconnu par le PC directement comme un port COM supplémentaire. L'installation des drivers (sur WinXP du moins) s'effectue automatiquement par téléchargement depuis internet. Pour les autres OS, FTDI fournit les drivers sur leur site. Quelques photos montrent comment j'ai réalisé l'interface. Un bout de plaquette d'expérimentation sur laquelle j'ai collé le FT232RL à l'envers, un câble USB coupé d'un côté, du fin fil pour connecter les broches du CI (ne pas trembler), du fil et un jack pour le côté rs232 et finalement faire tenir le tout avec de la colle à chauffer, on obtient un montage très solide.

    Ajout 20/10/2006 (remarque de berdec25):
    Pour Port série virtuel (Virtual COM Port VCP) :
    http://www.ftdichip.com/Drivers/VCP.htm
    Pour Pilotes pour accès direct au périphérique (Direct Drivers D2XX) :
    Ces pilotes seront très utiles aux développeurs...
    http://www.ftdichip.com/Drivers/D2XX.htm

    Version: A
    Date: 25/09/2006
    Dernière modification: 20/10/2006
    Contribution: monnoliv

    -----
    Images attachées Images attachées
    Dernière modification par monnoliv ; 25/10/2006 à 13h12.
    Ne soldez pas grand mère, elle brosse encore.

  2. #2
    monnoliv

    Re : [TERMINE] Interface USB->Série à 2 composants

    Voici la datasheet du chip.
    Images attachées Images attachées
    Ne soldez pas grand mère, elle brosse encore.

  3. #3
    berdec25

    Re : [TERMINE] Interface USB->Série à 2 composants

    Bonjour.

    Cet adaptateur, comme TOUS les adaptateurs USB vers RS232 ne pourra pas fonctionner avec tous les softs qui s'adressent directement à l'UART. La lecture et l'écriture directe des ports du CPU ne pouvant évidemment pas se faire via l'USB ou même un autre port (série, parallèle, firewire, ...) !

    Si les softs ne sont pas réécrits pour supporter les drivers de tels convertisseurs, utiliser un vrai port série restera la seule solution.

    Vous trouverez sur le forum électronique de nombreux cas ou des membres sont incapables de faire fonctionner leurs périphériques RS232 sur un adaptateur USB. Les portables n'ont plus de port série et celà pose problème. La seule solution dans ce cas sera le port série sur carte PCMCIA (ou carte ISA et PCI si PC de bureau).
    Cordialement.
    berdec25

  4. #4
    monnoliv

    Re : [TERMINE] Interface USB->Série à 2 composants

    Cet adaptateur, comme TOUS les adaptateurs USB vers RS232 ne pourra pas fonctionner avec tous les softs qui s'adressent directement à l'UART. La lecture et l'écriture directe des ports du CPU ne pouvant évidemment pas se faire via l'USB ou même un autre port (série, parallèle, firewire, ...) !
    Oui, il faut supposer que les programmes utilisant les ports série le fasse correctement, c'est à dire à travers l'API de Windows.
    Concernant les petits programmateurs sur port série, s'ils ne fonctionnent pas (ou pas bien) avec les interfaces USB-série, c'est parce qu'ils ne respectent pas le standard RS232. Quand on regarde leurs schémas, on s'aperçoit que ce n'est que du bricolage pour économiser quelques composants, c'est regrettable.
    Si les softs ne sont pas réécrits pour supporter les drivers de tels convertisseurs, utiliser un vrai port série restera la seule solution.
    Si les softs font appel à l'API, il n'y a aucun problème vu que l'interface est vu comme un port COM (COM4 chez moi).
    Vous trouverez sur le forum électronique de nombreux cas ou des membres sont incapables de faire fonctionner leurs périphériques RS232 sur un adaptateur USB. Les portables n'ont plus de port série et celà pose problème. La seule solution dans ce cas sera le port série sur carte PCMCIA (ou carte ISA et PCI si PC de bureau).
    Je ne vois pas ce que la carte PCMCIA va apporter de plus ??? Si les softs ne font pas appel à l'API, ça ne marchera pas mieux avec une carte PCMCIA...
    Ne soldez pas grand mère, elle brosse encore.

  5. A voir en vidéo sur Futura
  6. #5
    berdec25

    Re : [TERMINE] Interface USB->Série à 2 composants

    Bonjour.

    Oui, il faut supposer que les programmes utilisant les ports série le fasse correctement, c'est à dire à travers l'API de Windows.
    Il n'y a pas que Windaube qui fasse tourner (ou plutôt planter) une application, mais Microflop est à mon avis responsable de cet état de fait :
    Les programmeurs ne pouvaient pas se contenter des fonctions très limitées du DOS et des premières versions de Windaube et ont donc court-circuité le système et aussi le BIOS en programmant ce qui devait normallement faire partie du système, ou en utilisant des librairies déjà toutes faites ! Adressage direct des ports de l'UART pour lire et écrire dans les registres du composant 8251, 16C450, 16C550, ...
    et détourner les interruptions à leur profit. J'en fait partie, et je sais de quoi je parles, même si l'on s'en tient au protocole RS232 !
    Tout les programmes d'origine DOS et anciens Win sont de ce type, et je ne parles même pas d'un protocole RS232 non respecté pour des raisons de fourniture d'alimentation ou autres artifices.

    Si les softs font appel à l'API, il n'y a aucun problème vu que l'interface est vu comme un port COM (COM4 chez moi).
    Oui s'ils se limitent aux appels de fonctions.

    Je ne vois pas ce que la carte PCMCIA va apporter de plus ??? Si les softs ne font pas appel à l'API, ça ne marchera pas mieux avec une carte PCMCIA...
    Une carte PCMCIA est pour le portable l'équivalent d'une carte d'extension ISA sur un PC de bureau : Elle dispose des adresses et ports directs du processeur. Un UART intégré à une telle carte est identique à un UART soudé sur carte mère et permettra donc à ces programmes AUTONOMES de trouver un UART REEL et pas un faut port COM virtuel.
    Rappelez vous le temps des premiers PC ou vous aviez les ports parallèles, série, IDE et floppy sur des cartes d'extensions ISA car la carte mère était déjà pleine de circuits DIP traversants ! en 1988, ça se rencontrait encore ! et des cartes (PCI, ISA, PCMCIA) RS232 avec de vrais UART sont encore en vente.
    Cordialement.
    berdec25

  7. #6
    monnoliv

    Re : [TERMINE] Interface USB->Série à 2 composants

    Une carte PCMCIA est pour le portable l'équivalent d'une carte d'extension ISA sur un PC de bureau : Elle dispose des adresses et ports directs du processeur.
    Ah bon, ces adresses ne changent pas d'une carte à l'autre? Elles ne doivent plus être documentées je suppose...
    Merci pour l'info, cependant je reste réticent à court-circuiter les OS, que ce soit WinXX ou Linux...
    Dernière modification par monnoliv ; 07/10/2006 à 18h05.
    Ne soldez pas grand mère, elle brosse encore.

  8. #7
    berdec25

    Re : [TERMINE] Interface USB->Série à 2 composants

    Bonjour.

    Ah bon, ces adresses ne changent pas d'une carte à l'autre? Elles ne doivent plus être documentées je suppose...
    Même si les adresses changent, des programmes sérieux savent interroger les zone de données BIOS pour connaitre l'adresse de port des UART, encore faut t'il la préciser au BIOS lors de l'installation du matériel, si le BIOS ne l'a pas détecté lui même automatiquement. Reportez vous à la documentation de votre carte d'interface et de votre carte mère (pour le BIOS).

    Merci pour l'info, cependant je reste réticent à court-circuiter les OS, que ce soit WinXX ou Linux...
    Désolé, mais il n'y a malheureusement parfois pas le choix, et je sais de quoi je parles...

    Pour info, jetez un coup d'oeil au projet lirc.org (pour Linux et aussi pour Windows). C'est un support pour toutes les télécommandes (émission et réception) à travers différents ports (série, parallèle, USB)
    http://www.lirc.org/
    Il est très instructif sur ce qu'on peut faire avec les différents ports.
    Cordialement.
    berdec25

  9. #8
    monnoliv

    Re : [TERMINE] Interface USB->Série à 2 composants

    Désolé, mais il n'y a malheureusement parfois pas le choix, et je sais de quoi je parles...
    Pour info, jetez un coup d'oeil au projet lirc.org (pour Linux et aussi pour Windows). C'est un support pour toutes les télécommandes (émission et réception) à travers différents ports (série, parallèle, USB)
    http://www.lirc.org/
    Il est très instructif sur ce qu'on peut faire avec les différents ports
    Je regrette mais le projet en question a fait le choix d'essayer de faire du temps réel avec des OS qui ne le sont pas (WinXX et Linux). Donc forcément, il faut s'attendre à des problèmes de timing (même en adressant les ports directement). L'avantage du projet que tu cites c'est que c'est simple d'un point de vue électronique. Je ne suis pas contre ce genre de projet, bien au contraire mais il y a eu un choix très clair au départ de faire très simple quitte à "bidouiller".
    Ne soldez pas grand mère, elle brosse encore.

  10. #9
    berdec25

    Re : [TERMINE] Interface USB->Série à 2 composants

    Bonjour.

    Ca n'est pas un problème de temps réel mais surtout une lacune dans les fonctions BIOS et systèmes (qu'il s'agisse de DOS, Win, ou Linux ou autre). Les fonctions se limitent seulement à un échange de caractères, mais ne permettent pas l'accès ni le contrôle des bits des différents registres de l'UART et les particularités d'un programme développé peuvent obliger à ce que l'on s'adresse directement à l'UART.
    C'est de tels programmes qui ne pourront plus fonctionner à travers un adaptateur USB sans avoir été réécrits pour s'adresser directement à l'UART, mais cette fois-ci à travers l'USB !

    Il est clair que lorsque le temps est critique, le temps de réponse à travers l'USB étant assez variable et aléatoire, de telles applications de télécommande IR par port série ne pourront plus être fiables, c'est la raison pour laquelle il existe une version spécifique USB, dotée d'un microcontrôleur qui gèrera directement les impulsions.

    Concernant le temps réel, Linux est plus satisfaisant que win.

    Conclusion :
    L'adaptateur, sujet de ce projet, convient seulement aux programmes qui passent par les fonctions RS232 du systèmes pour s'adresser à l'UART. Dans ce cas, un émulateur de port série (driver) se chargera d'adresser l'UART raccordé à l'USB.
    Dernière modification par berdec25 ; 17/10/2006 à 02h17.
    Cordialement.
    berdec25

  11. #10
    berdec25

    Re : [TERMINE] Interface USB->Série à 2 composants

    Bonjour.

    Le fabricant du circuit propose sur son site les pilotes pour tous les principaux systèmes d'exploitation (Win 98 à XP x64, Mac OS 8 à Mac OS X, Linux noyau 2.4 (le noyau 2.6 intègre déjà les drivers) et aussi Win CE.

    Pour Port série virtuel (Virtual COM Port VCP) :
    http://www.ftdichip.com/Drivers/VCP.htm
    Pour Pilotes pour accès direct au périphérique (Direct Drivers D2XX) :
    Ces pilotes seront très utiles aux développeurs...
    http://www.ftdichip.com/Drivers/D2XX.htm
    N'hésitez pas à fouiller le site du fabricant pour dénicher bien d'autres choses très interressantes.

    Celà serait souhaitable que les membres trouvent ces précisions et ces liens sur le premier post. Avis à monnoliv qui avait juste précisé, parlant de win XP : "Pour les autres OS, FTDI fournit les drivers sur leur site".

    Ok je le place, merci
    Dernière modification par monnoliv ; 20/10/2006 à 12h36.
    Cordialement.
    berdec25

  12. #11
    Seb.26

    Re : [TERMINE] Interface USB->Série à 2 composants

    Citation Envoyé par berdec25 Voir le message
    Les fonctions se limitent seulement à un échange de caractères
    C'est exactement pourquoi le port COM est là : COMuniquer ...

    Citation Envoyé par berdec25 Voir le message
    , mais ne permettent pas l'accès ni le contrôle des bits des différents registres de l'UART et les particularités d'un programme développé peuvent obliger à ce que l'on s'adresse directement à l'UART.
    C'est de tels programmes qui ne pourront plus fonctionner à travers un adaptateur USB sans avoir été réécrits pour s'adresser directement à l'UART, mais cette fois-ci à travers l'USB !
    Le problème est là : un port COM n'est pas un registre d'entrées / sorties ... même si cela a été possible avant, ce n'etait qu'une bidouille ...

    AMA evidement ...

  13. #12
    berdec25

    Re : [TERMINE] Interface USB->Série à 2 composants

    Bonjour.

    Seb.26 a écrit :
    C'est exactement pourquoi le port COM est là : COMuniquer ...
    Je n'ai jamais dit le contraire ! Sachez qu'il y a plein de façons de communiquer et que des besoins spécifiques existent et ne sont pas toujours pris en compte par les fonctions des systèmes surtout les plus anciens, d'ou la naissance de cette discussion.

    Seb.26 a écrit :
    Le problème est là : un port COM n'est pas un registre d'entrées / sorties ... même si cela a été possible avant, ce n'etait qu'une bidouille ...
    Vous prétendez connaître l'UART, et pourtant, voici un sujet que vous avez lancé et qui semble le contredire :
    http://forums.futura-sciences.com/thread90628.html

    Les registres de l'UART ne servent pas à de "l'entrée / sortie" mais à contrôler l'état de l'UART, la façon de déclencher les interruptions, le débit (baudrate), l'état des signaux RS232, ... Référez vous donc aux datasheets des 82C50, 16C450, 16C550, ...

    Ce n'était pas une "bidouille" mais l'implémentation complète, fonctionnelle et sérieuse de ce qui aurait dû être présent dans le système d'exploitation ! (DOS et Windows en particulier). De ce fait, chaque développeur a dû développer ses propres fonctions, ou utiliser des librairies de fonctions toutes faites. Ca n'était pas par plaisir, mais par nécessité ! Tous les pilotes de modem, les logiciels de fax, minitel, programmation d'automates et de composants, ... et même parmi les grandes marques ont pratiqué cette "bidouille". Ne trouvez vous pas celà étrange ?

    Maintenant que les OS implémentent ces fonctions au travers des API, il est facile de dire sans savoir de quoi on parle que c'est la faute des développeurs.

    Pour de tels programmes, deux solutions existent :
    1) Ils doivent être réécrits pour utiliser les fonctions du système
    2) Les éditeurs ont disparu, ou ils ne maintiennent plus leurs programmes : la présence d'un UART réel relié DIRECTEMENT au bus du microprocesseur est nécessaire.
    Cordialement.
    berdec25

  14. #13
    bbrunetd

    Re : [TERMINE] Interface USB->Série à 2 composants

    Bonjour,
    J'ai bien lu le sujet mais je n'ai pas trouvé de réponse à ma question :
    J'ai un GPS de rando (Garmin Etrex) à connecter en RS232 sur mon PC portable (Win XP). Le logiciel qui fait l'interface est IGN Rando.
    N'ayant pas de port série, j'ai essayé avec plusieurs modèles d'adaptateurs USB série, sans succès. Je viens d'essayer une carte série PCMCIA, sans succès non plus.
    Pourtant dans tous les cas le port est bien reconnu par Windows et les témoins lumineux fonctionnent pour montrer que le PC envoie des signaux... mais sans réponse !
    Le problème ne vient pas du GPS puisque sur un PC avec port série aucun pb.
    Merci d'avance pour votre aide, je craque un peu

    PS : je ne suis pas un pro de l'informatique. Si ça peut aider, ma carte PCMCIA porte la mention : "compatible avec la norme 16C550 UART"
    PPS : le logiciel est sensé (et il le fait, d'après un logiciel espion de port série) faire le setup des paramètres de connexion série.

  15. #14
    romain145

    Re : [TERMINE] Interface USB->Série à 2 composants[Monnoliv]

    Bonjour,

    voici une interface USB-série que je me suis fabriqué grâce à un FTDI 232RL.
    La led est allumée si connexion au PC OK et clignote lors de transmission de données.

    Voilà, @+
    Romain
    Images attachées Images attachées

  16. #15
    invite3cd3180f

    Unhappy Re : [TERMINE] Interface USB->Série à 2 composants[Monnoliv]

    :sos Comment reconnaitre les fils - +5V USB
    - D-
    - D+
    (coté USB)

    -TX
    -RX
    (coté SERIAL)?

    d'avant merci!

  17. #16
    romain145

    Re : [TERMINE] Interface USB->Série à 2 composants[Monnoliv]

    salut,

    sois un peu plus explicite stp.
    Le +5V se reconnait en mesurant la tension à l'aide d'un multimètre. Le +5V est en général le fil rouge et la masse le fil noir dans un cable usb.

    Pour TX et RX, réfère-toi à la doc du composant que tu utilises. Le Tx est maintenu à 5v en cas d'inactivité, si ça peut t'être utile...

    bonne chance
    Romain

  18. #17
    *Baby*

    Re : [TERMINE] Interface USB->Série à 2 composants[Monnoliv]

    Je confirme que cette puce fonctionne très bien et elle est plutôt simple à mettre en œuvre.

    Le constructeur fournit un outil qui permet de configurer complètement la puce.

    Je précise que je n'ai pas utilisé le mode Port Com Virtuel, mais la DLL qui permet de communiquer avec la puce, c'est un peut plus élégant.

    Voici le résultat.
    Images attachées Images attachées

  19. #18
    Forhorse

    Re : [TERMINE] Interface USB->Série à 2 composants[Monnoliv]

    Voilà ma version.
    Un peu plus que 2 composants vu que j'ai inclu les 2 leds de communications, que tous les signaux sont disponible (pour la réalisation de liaisons RS-485 par exemple) et qu'un cavalier permet de choisir le niveau des signaux de sortie (5V ou 3.3V)
    J'avais fait la même chose avec un FT232BM mais impossible d'avoir les signaux en 3.3V (cette ancienne versio devait avoir un beug)
    Avec le FT232R aucun soucis.
    Images attachées Images attachées  

  20. #19
    MofK

    Re : [TERMINE] Interface USB->Série à 2 composants[Monnoliv]

    Hello

    J'ai aussi réalisé cette interface, et là je me suis rendu compte d'un petit souci : en mode 3.3V, j'essaie de communiquer avec un ATmega8 (également alimenté en 3.3V), et ça passe très mal, les signaux UART sont reçus de manière assez aléatoire. Cependant en 5V (interface et ATmega), tout fonctionne parfaitement bien...

    C'est assez embêtant, des idées là-dessus ?

    Merci !
    La logique est le moyen systématique d'arriver à la mauvaise conclusion avec confiance...

  21. #20
    MofK

    Re : [TERMINE] Interface USB->Série à 2 composants[Monnoliv]

    Résolu...

    8MHz à 5V, mais plus à 3.3V......
    La logique est le moyen systématique d'arriver à la mauvaise conclusion avec confiance...

Discussions similaires

  1. passer d'une interface serie a une interface parallele ?
    Par cyber37 dans le forum Électronique
    Réponses: 8
    Dernier message: 15/04/2010, 22h01
  2. interface série MATLAB/PIC
    Par invite6ab74433 dans le forum Électronique
    Réponses: 2
    Dernier message: 19/06/2008, 00h10
  3. Interface série RS232
    Par invite6ab74433 dans le forum Électronique
    Réponses: 1
    Dernier message: 14/04/2008, 22h26
  4. interface serie TTL 2 sortie
    Par invite5d5dfac0 dans le forum Électronique
    Réponses: 26
    Dernier message: 26/12/2007, 17h35
  5. interface parallele/serie
    Par invite8a132aa9 dans le forum Électronique
    Réponses: 11
    Dernier message: 04/07/2006, 15h36
Découvrez nos comparatifs produits sur l'informatique et les technologies.