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ý.

  • @Ben: Víte co? Asi bych měl ldn ' to neřekli. Odpověď byla upravena kvůli mé nevědomosti. Poté, co jsem se podíval na blokové schéma, jsem šel s mým vnitřním předpokladem, ale předpokládám, že by bylo lepší stejně odebrat všechny potenciální podrobnosti uC. Předpokládám, že by to věděli pouze ti na FTDI, a předpokládám, že to bude záviset na základních licenčních nákladech vs době domácího vývoje.
  • Obvykle, když máte " protokol " skončíte s " programem ", který to zvládne … dokonce pokud ' běží na motoru hluboko v ASIC nebo FPGA. Výjimkou by byly věci, kde oslnivě vysoká rychlost převyšuje složitost, kde pravděpodobně uvidíte stavový stroj nebo masivní paralelismus. Mezi nimi jsou motory, kde je výpočetní cesta postavena neúměrně k logice řízení – něco jako původní myšlenka za procesory DSP
  • 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.

    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *