Quelqu'un m'a demandé l'autre jour comment fonctionne un USB FTDI vers UART série, et j'ai réalisé que je ne savais pas. J'ai regardé la fiche technique du FT232R et le schéma fonctionnel ne m'a pas vraiment aidé. Quelqu'un peut-il m'expliquer ou me lier à une bonne explication?
20
Réponses:
Les puces FTDI implémentent la pile de protocoles USB. La responsabilité de ce matériel est de dire à votre PC de quoi il s'agit (en utilisant des informations d'identification) afin que votre ordinateur puisse charger le bon pilote pour lui, et également de gérer les transactions de données avec le PC qui se trouve 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). L'autre 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 tris. Le jeu 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 du 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 d'une série native port, je ne sais pas.
La logique ci-dessus peut être implémentée en tant qu'ASIC dédié ou en utilisant un noyau de microcontrôleur dépouillé qui exécute le micrologiciel sur la ROM. S'il s'agit bien d'un noyau de microcontrôleur, alors j'imagine que l'UART y est connecté en tant que périphérique.
la source
Il y a un microcontrôleur USB à l'intérieur qui parle d'un protocole propriétaire sur USB (d'où le besoin de pilotes) et le convertit en signaux UART "normaux" et vice-versa.
la source