Valaki a napokban megkérdezte tőlem, hogyan működik az FTDI USB – soros UART, és rájöttem, hogy nem tudtam. Megnéztem az FT232R adatlapját és a blokkdiagram nem igazán segített nekem. Tud valaki magyarázatot adni vagy egy jó magyarázathoz linkelni?

Megjegyzések

  • Inkább magyarázat, mintsem megvalósítja az USB CDC eszköz eszközoldalát? hu.wikipedia.org/wiki/USB_communications_device_class
  • @kenny, valójában nem ' t. Saját profilot használ, ezért telepítenie kell illesztőprogramokat a használatához (legalábbis Windows rendszeren).
  • @avakar, az összes operációs rendszeren használ illesztőprogramokat, némelyik csak előre van feltöltve.

Válasz

Az FTDI chipek megvalósítják az USB protokollköteget. Ennek a hardvernek a felelőssége megmondani a számítógépének, hogy mi is ez (bizonyos azonosítási információk felhasználásával), hogy a számítógép betölthesse a számára megfelelő illesztőprogramot, valamint az utána lévő PC-vel történő adattranzakciók kezelését – keresse meg az USB végpontokat e folyamatok jobb magyarázata érdekében.

Miután betöltötte ezeket az illesztőprogramokat, ez megad egy parancskészletet, amelyet a számítógépe használhat a chip lekérdezéséhez. Ez a hardver gondoskodik az egyenlet egyik oldaláról (kommunikáció a számítógéppel). A másik oldala egy dedikált hardver lenne az UART protokoll kezeléséhez, amely magában foglalja a logikát, a puffereket, a vonalvezetőket és a különféle típusokat. A korábban említett parancskészletet az UART hardverről történő olvasásra vagy az arra történő írásra használják. Valószínűleg meg kell említeni, hogy az USB-eszközöket a számítógép kérdezi le, ezért azokban az esetekben, amikor eseményalapú kódot használ, a számítógép valóban végez néhány közvélemény-kutatást annak megállapítására, hogy új adatok érkeztek – ez eltérhet a natív sorosaktól port, nem tudnám.

A fenti logika megvalósítható külön dedikált ASIC-ként vagy egy lecsupaszított mikrokontroller mag használatával, amely a firmware-t futtatja a ROM-on. Ha ez valóban egy mikrokontroller mag, akkor én képzelje el, hogy az UART perifériaként csatlakozik hozzá.

Megjegyzések

  • És mennyire biztos abban, hogy nincs ' ta futtatja a firmware programot? A mikrovezérlők általában kevesebb logikai kaput igényelnek, mint az egyenértékű ASIC dedikált hardver megvalósítás. ' nagyon nehéz megmondani egy mikrovezérlőt az ASIC-től, ha a mikrokontroller firmware nincs ' t felhasználó által hozzáférhető.
  • @Ben: Tudod mit? Valószínűleg ldn ' t azt mondták. A válasz tudatlanságom miatt lett szerkesztve. Bélfeltevésemmel mentem, miután megnéztem a blokkdiagramot, de feltételezem, hogy jobb lenne elvonatkoztatni minden lehetséges uC-részletet. Feltételezem, hogy csak az FTDI-ben lévők tudnák, és feltételezem, hogy ez az alapvető licencköltségekkel és a ház fejlesztési idejével jár.
  • Általában, ha " " protokoll, végül " programot fogsz kezelni " … még ha ' egy ASIC vagy FPGA mélyén eltemetett motoron fut. Kivételt képeznek azok a dolgok, ahol vakítóan gyors sebesség bonyolítja a bonyolultságot, ahol valószínűleg államgépet vagy hatalmas párhuzamosságot lát. Között vannak olyan motorok, amelyekben a számítási útvonal a vezérlési logikával arányosan épül fel – a DSP processzorok mögött álló eredeti ötlet

Válasz

Van egy USB mikrovezérlő, amely egy saját protokollt beszél USB-n keresztül (ezért szükség van az illesztőprogramokra), és átalakítja azt “normális” UART jelekké és vissza.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük