Někdo se mě druhý den zeptal, jak funguje FTDI USB na sériové UART, a já jsem si uvědomil, že to nevím. Podíval jsem se na datový list FT232R a blokové schéma mi opravdu nepomohlo. Může mi někdo vysvětlit nebo propojit dobré vysvětlení?
Komentáře
- Více vysvětlení než implementace na straně zařízení USB CDC? en.wikipedia.org/wiki/USB_communications_device_class
- @kenny, ve skutečnosti to není ' t. Používá proprietární profil, a proto je nutné nainstalovat ovladače, aby jej bylo možné používat (alespoň v systému Windows).
- @avakar, používá ovladače ve všech operačních systémech, některé jsou již předinstalovány.
Odpověď
Čipy FTDI implementují zásobník protokolu USB. Odpovědností tohoto hardwaru je říci vašemu počítači, co to je (pomocí určitých identifikačních údajů), aby váš počítač mohl načíst pro něj ten správný ovladač, a také spravovat datové transakce s PC tam po – vyhledat koncové body USB pro lepší vysvětlení těchto procesů.
Po načtení těchto ovladačů by to určilo sadu příkazů, které může váš počítač použít k dotazování na čip. Tento hardware se stará o jednu stranu rovnice (komunikace s vaším PC). Druhou stranou by byl nějaký vyhrazený hardware pro správu protokolu UART, který zahrnuje logiku, vyrovnávací paměti a ovladače linky a druhy. Výše uvedená sada příkazů by se používala ke čtení nebo zápisu na hardware UART. Pravděpodobně by mělo být zmíněno, že zařízení USB jsou dotazována počítačem, takže v případech, kdy používáte kód, který je založen na událostech, váš počítač ve skutečnosti provádí nějaké dotazování, aby zjistil, že dorazila nová data – to se může lišit od nativního seriálu port, to bych nevěděl.
Výše uvedená logika může být implementována buď jako vyhrazený ASIC, nebo pomocí odizolovaného jádra mikrokontroléru, které provádí firmware na ROM. Pokud se skutečně jedná o jádro mikrokontroléru, pak představte si, že UART je k němu připojen jako periferní zařízení.
Komentáře
- A jak jste si jisti, že neexistuje '
je opravdu těžké říct mikrokontroléru od ASIC, pokud firmware mikrokontroléru není ' t uživatelsky přístupný.
Answer
Uvnitř je USB mikrokontrolér, který komunikuje s proprietárním protokolem přes USB (proto jsou potřeba ovladače) a převádí jej na „normální“ signály UART a zpět.