Quelquun ma demandé lautre jour comment fonctionne un FTDI USB vers série UART, et jai réalisé que je ne savais pas. Jai regardé la fiche technique du FT232R et le diagramme ne ma pas vraiment aidé. Quelquun peut-il mexpliquer ou me relier à une bonne explication?
Commentaires
- Plus dexplication que dimplémenter le côté périphérique dun périphérique USB CDC? en.wikipedia.org/wiki/USB_communications_device_class
- @kenny, en fait, ce nest pas le cas ' t. Il utilise un profil propriétaire, cest pourquoi vous devez installer des pilotes pour lutiliser (au moins sur Windows).
- @avakar, il utilise des pilotes sur tous les systèmes dexploitation, certains viennent juste dêtre préchargés.
Réponse
Les puces FTDI implémentent la pile de protocoles USB. La responsabilité de ce matériel est de dire à votre PC ce quil est (en utilisant certaines informations didentification) afin que votre ordinateur puisse charger le bon pilote pour cela, et également de gérer les transactions de données avec le PC là-dessus après – recherchez les points de terminaison USB pour une meilleure explication de ces processus.
Une fois ces pilotes chargés, cela spécifierait un jeu de commandes que votre PC peut utiliser pour interroger la puce. Ce matériel prend en charge un côté de léquation (communication avec votre PC). Lautre côté serait un matériel dédié pour gérer le protocole UART qui comprend la logique, les tampons et les pilotes de ligne et les sortes. Lensemble de commandes mentionné précédemment serait utilisé pour lire ou écrire sur le matériel UART. Il convient probablement de mentionner que les périphériques USB sont interrogés par le PC, donc dans les cas où vous utilisez un code basé sur des événements, votre PC effectue en fait une interrogation pour déterminer que de nouvelles données sont arrivées – cela peut être différent dune série native port, je ne le saurais pas.
La logique ci-dessus peut être implémentée soit comme un ASIC dédié, soit en utilisant un noyau de microcontrôleur dépouillé qui exécute le micrologiciel sur ROM. Sil sagit bien dun noyau de microcontrôleur, alors je imaginez que lUART y soit connecté en tant que périphérique.
Commentaires
- Et dans quelle mesure êtes-vous certain quil ny en a pas ' un programme de micrologiciel en cours dexécution? Les microcontrôleurs nécessitent généralement moins de portes logiques que limplémentation matérielle dédiée ASIC équivalente. Il est ' vraiment difficile de distinguer un microcontrôleur dun ASIC, si le micrologiciel du microcontrôleur nest ' accessible par lutilisateur.
- @Ben: Vous savez quoi? Je devrais probablement ldn ' Je lai dit. La réponse a été modifiée en raison de mon ignorance. Je suis allé avec mon hypothèse instinctive après avoir regardé le diagramme, mais je suppose quil serait préférable dabstraire de toute façon tous les détails potentiels de luC. Je suppose que seuls ceux de FTDI le sauraient, et je suppose que cela se résume aux coûts de licence de base par rapport au temps de développement interne.
- Habituellement, lorsque vous avez un " protocol " vous vous retrouvez avec un " programme " pour le gérer … même sil ' fonctionne sur un moteur enfoui profondément dans un ASIC ou un FPGA. Lexception serait les choses où la vitesse incroyablement rapide lemporte sur la complexité, où vous êtes susceptible de voir une machine à états ou un parallélisme massif. Entre les deux, il y a des moteurs où le chemin de calcul est construit hors de proportion avec la logique de contrôle – sorte de lidée originale derrière les processeurs DSP
Réponse
Il ya « un microcontrôleur USB à lintérieur qui parle dun protocole propriétaire via USB (doù le besoin de pilotes) et le convertit en signaux UART » normaux « et inversement.