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.