Joku kysyi minulta eräänä päivänä, kuinka FTDI USB – sarja UART toimii, ja tajusin, etten tiennyt. Katsoin FT232R -taulukkoa ja lohkokaavio ei oikeastaan auttanut minua. Voiko kukaan selittää tai linkittää minut hyvään selitykseen?
Kommentit
- Enemmän selitystä kuin se toteuttaa USB CDC -laitteen laitepuolta? fi.wikipedia.org/wiki/USB_communications_device_class
- @kenny, itse asiassa se ei ' t. Se käyttää omaa profiilia, minkä vuoksi sinun on asennettava ohjaimet sen käyttämiseksi (ainakin Windowsissa).
- @avakar, se käyttää ohjaimia kaikissa käyttöjärjestelmissä, jotkut ovat vain esiladattuja.
Vastaus
FTDI-sirut toteuttavat USB-protokollapinon. Tämän laitteiston vastuulla on kertoa tietokoneellesi, mikä se on (käyttäen joitain tunnistetietoja), jotta tietokoneesi voi ladata oikean ohjaimen sitä varten, ja myös hallita datatapahtumia tietokoneen kanssa sen jälkeen – etsi USB-päätepisteet näiden prosessien paremman selityksen saamiseksi.
Kun nämä ohjaimet on ladattu, tämä määrittelee komentojoukon, jota tietokoneesi voi käyttää sirun kyselyyn. Tämä laitteisto huolehtii yhtälön yhdestä puolesta (tiedonsiirto tietokoneen kanssa). Sen toinen puoli olisi jokin oma laitteisto UART-protokollan hallitsemiseksi, joka sisältää logiikkaa, puskureita ja linja-ajureita sekä erilaisia. Aikaisemmin mainittua komentojoukkoa käytetään UART-laitteiston lukemiseen tai kirjoittamiseen. On luultavasti mainittava, että tietokone kysyy USB-laitteita, joten tapauksissa, joissa käytät tapahtumapohjaista koodia, tietokoneesi tekee jonkin verran kyselyä selvittääkseen, että uutta dataa on saapunut – tämä voi olla erilainen kuin natiivi sarja portti, en tiedä.
Yllä oleva logiikka voidaan toteuttaa joko erillisenä ASIC: na tai käyttämällä riisuttua mikrokontrolleriydintä, joka suorittaa laiteohjelmiston ROM-levyllä. Jos kyseessä on todellakin mikro-ohjaimen ydin, minä Kuvittele, että UART on liitetty siihen oheislaitteena.
Kommentit
- Ja kuinka varma olet, että ' ta laiteohjelmistoa suoritetaan? Mikrokontrollerit vaativat yleensä vähemmän logiikkaportteja kuin vastaava ASIC: n oma laitteisto-toteutus. ' On todella vaikea sanoa mikro-ohjainta ASIC: lta, jos mikro-ohjaimen laiteohjelmisto ei ole ' t käyttäjän käytettävissä.
- @Ben: Tiedätkö mitä? Luultavasti sinun on ldn ' t ovat sanoneet sen. Vastaus on muokattu tietämättömyyteni vuoksi. Menin suolen oletuksellani tarkastellessani lohkokaaviota, mutta luulen, että olisi parempi abstraktoida mahdolliset uC-yksityiskohdat joka tapauksessa. Oletan, että vain FTDI: n jäsenet tietäisivät sen, ja oletan, että se johtuu lisensointikustannuksista verrattuna talon kehittämisaikaan.
- Yleensä, kun sinulla on " protokolla " päädyt " -ohjelmaan " käsittelemään sitä … jopa jos se ' käy moottorilla, joka on haudattu syvälle ASIC: iin tai FPGA: han. Poikkeuksena ovat asiat, joissa sokeasti nopea nopeus kykenee monimutkaisuuteen, jossa todennäköisesti näkee valtion koneen tai massiivisen rinnakkaisuuden. Välillä on moottoreita, joissa laskentapolku on rakennettu suhteessa ohjauslogiikkaan – eräänlainen alkuperäinen idea DSP-prosessoreiden takana
vastaus
Siellä on USB-mikrokontrolleri, jonka sisällä puhutaan omaa protokollaa USB: n kautta (tästä syystä ajureiden tarve) ja muuntaa sen ”normaaleiksi” UART-signaaleiksi ja takaisin.