Jemand hat mich neulich gefragt, wie ein FTDI USB zu seriellem UART funktioniert, und mir wurde klar, dass ich es nicht wusste. Ich habe mir das Datenblatt für den FT232R angesehen und das Blockdiagramm hat mir nicht wirklich geholfen. Kann mir jemand eine gute Erklärung erklären oder verlinken?
20
Antworten:
Die FTDI-Chips implementieren den USB-Protokollstapel. Die Verantwortung für diese Hardware besteht darin, Ihrem PC (unter Verwendung einiger Identifikationsinformationen) mitzuteilen, was es ist, damit Ihr Computer den richtigen Treiber dafür laden kann, und anschließend die Datentransaktionen mit dem PC zu verwalten. Überprüfen Sie die USB-Endpunkte für eine bessere Erklärung dieser Prozesse.
Sobald diese Treiber geladen sind, gibt dies einen Befehlssatz an, mit dem Ihr PC den Chip abfragen kann. Diese Hardware kümmert sich um eine Seite der Gleichung (Kommunikation mit Ihrem PC). Die andere Seite wäre eine dedizierte Hardware zum Verwalten des UART-Protokolls, das Logik, Puffer und Leitungstreiber und die Sortierungen enthält. Der zuvor erwähnte Befehlssatz wird zum Lesen oder Schreiben auf die UART-Hardware verwendet. Es sollte wahrscheinlich erwähnt werden, dass USB-Geräte vom PC abgefragt werden. In Fällen, in denen Sie ereignisbasierten Code verwenden, führt Ihr PC tatsächlich eine Abfrage durch, um festzustellen, ob neue Daten eingetroffen sind - dies kann sich von einer nativen Seriennummer unterscheiden Hafen würde ich nicht wissen.
Die obige Logik kann entweder als dedizierter ASIC oder unter Verwendung eines abgespeckten Mikrocontrollerkerns implementiert werden, der Firmware auf ROM ausführt. Wenn es sich in der Tat um einen Mikrocontroller-Kern handelt, dann stelle ich mir vor, dass der UART als Peripheriegerät daran angeschlossen ist.
quelle
Es gibt einen USB-Mikrocontroller, der ein proprietäres Protokoll über USB spricht (daher Treiber erforderlich) und dieses in "normale" UART-Signale und wieder zurück konvertiert.
quelle