Ktoś kiedyś zapytał mnie, jak działa FTDI USB na szeregowy UART, i zdałem sobie sprawę, że nie wiem. Spojrzałem na arkusz danych FT232R i schemat blokowy tak naprawdę mi nie pomógł. Czy ktoś może mi wyjaśnić lub powiązać z dobrym wyjaśnieniem?
20
Odpowiedzi:
Układy FTDI implementują stos protokołu USB. Obowiązkiem tego sprzętu jest poinformowanie komputera, co to jest (przy użyciu niektórych informacji identyfikacyjnych), tak aby komputer mógł załadować odpowiedni sterownik, a także zarządzanie transakcjami danych z komputerem w późniejszym terminie - wyszukiwanie punktów końcowych USB dla lepszego wyjaśnienia tych procesów.
Po załadowaniu tych sterowników będzie to określać zestaw poleceń, których komputer może użyć do wysłania zapytania do układu. Ten sprzęt zajmuje się jedną stroną równania (komunikacja z komputerem). Z drugiej strony byłby to dedykowany sprzęt do zarządzania protokołem UART, który obejmuje logikę, bufory i sterowniki linii i inne. Wspomniany wcześniej zestaw poleceń będzie używany do odczytu lub zapisu na sprzęcie UART. Prawdopodobnie należy wspomnieć, że urządzenia USB są odpytywane przez komputer, więc w przypadkach, w których korzystasz z kodu opartego na zdarzeniach, komputer faktycznie wykonuje odpytywanie w celu ustalenia, że przybyły nowe dane - może to być inny niż natywny serial port, nie wiedziałbym.
Powyższą logikę można zaimplementować jako dedykowany układ ASIC lub za pomocą zredukowanego rdzenia mikrokontrolera, który wykonuje oprogramowanie układowe na pamięci ROM. Jeśli rzeczywiście jest to rdzeń mikrokontrolera, to wyobrażam sobie, że UART jest do niego podłączony jako urządzenie peryferyjne.
źródło
Wewnątrz znajduje się mikrokontroler USB, który odczytuje zastrzeżony protokół przez USB (stąd potrzeba sterowników) i przekształca go w „normalne” sygnały UART iz powrotem.
źródło