USB szoftver felépítése
Sep 01, 2022
Busz interfész
Az USB busz interfész kezeli az elektromos réteg és a protokollréteg közötti összeköttetést. Az összekapcsolás szempontjából hasonló buszinterfészeket biztosít az eszköz és a gazdagép egyszerre, mint például a soros interfész gép (SIE). Az USB busz interfészt a fő vezérlő valósítja meg.
Az USB-rendszer a fővezérlőt használja a gazdagép és az USB-eszköz közötti adatátvitel kezelésére. A közte és a fő vezérlő közötti interfész a fő vezérlő hardvermeghatározásától függ. Ugyanakkor az USB-rendszer felelős az USB-források, például a sávszélesség és a buszenergia kezeléséért is, ami lehetővé teszi az ügyfelek számára az USB-hozzáférést. Az USB rendszer három alapvető összetevőből is áll:
Gazdavezérlő illesztőprogram (HCD), amely különböző gazdavezérlő eszközöket képezhet az USB-rendszerbe. A HCD és az USB közötti interfészt HCDI-nek hívják. A konkrét HCDI-t a különböző fővezérlőket támogató operációs rendszer határozza meg. Az univerzális fővezérlő meghajtó (uhcd) a soft struktúra alján található, és ez kezeli és vezérli a fővezérlőt. Az Uhcd kommunikál az USB-gazdavezérlővel és vezérli azt, és el van rejtve a rendszerszoftver többi része elől. A rendszerszoftver legmagasabb rétege az uhcd szoftver interfészén keresztül kommunikál a fő vezérlővel.
Az uhcd illesztőprogramon alapuló USB-illesztőprogram (usbd) illesztőprogram-szintű interfészt biztosít, hogy megfeleljen a meglévő eszközillesztő-tervezés követelményeinek. Az Usbd adatátviteli architektúrát biztosít I/O kéréscsomagok (IRP) formájában, amely az adatok meghatározott csöveken keresztül történő továbbításának követelményeit tartalmazza. Ezenkívül az usbd a klienst az eszköz absztrakciójaként jeleníti meg, hogy megkönnyítse az absztrakciót és a kezelést. Az absztrakció részeként az usbd rendelkezik egy alapértelmezett csővezetékkel. Ezen keresztül az összes USB-eszköz elérhető a szabványos USB-vezérléshez. Ez az alapértelmezett cső az usbd és az USB-eszköz közötti kommunikáció logikai csatornáját írja le.
Gazdaszoftver
Egyes operációs rendszerekben az USB rendszerszoftver nem biztosított. Ezeket a szoftvereket eredetileg konfigurációs információk és betöltési struktúra biztosítására használták az eszközillesztőknek. Ezekben az operációs rendszerekben az eszközillesztő az alkalmazás által biztosított interfészt használja ahelyett, hogy közvetlenül hozzáférne az USBDI (USB Driver Interface) struktúrához.
USB kliens szoftver
A szoftverstruktúra legmagasabb szintjén található, és bizonyos USB-eszköz-illesztőprogramok kezeléséért felelős. A kliens réteg leírja az összes szoftverportált, amely közvetlenül az eszközön működik. Amikor a rendszer észleli az eszközt, ezek az ügyfélprogramok közvetlenül a perifériás hardverre hatnak. Ez a megosztott funkció az USB rendszerszoftvert a kliens és annak eszköze közé helyezi, amelyet a kliensprogramnak kell feldolgoznia az usbd által a kliensnél kialakított eszközképnek megfelelően.
A gazdagép minden rétege a következő funkciókkal rendelkezik:
A csatlakoztatott és eltávolított USB-eszközök észlelése.
Kezelje a gazdagép és az USB-eszköz közötti adatáramlást.
Csatlakozás USB állapota és tevékenységi statisztikái.
Vezérelje a fő vezérlő és az USB-eszköz közötti elektromos interfészt, beleértve a korlátozott energiaellátást.
A HCD a fő vezérlő absztrakcióját és a fő vezérlő USB-n keresztül továbbított adatok perspektívájának absztrakcióját nyújtja. Az Usbd az USB-eszközök absztrakcióját és adatátvitelt biztosít az usbd-ügyfelek és az USB-funkciók között. Az USB rendszer elősegíti az adatátvitelt az ügyfelek és a funkciók között, és vezérlőpontként szolgál az USB-eszközök szabványosított interfészéhez. Az USB rendszer pufferkezelési lehetőséget biztosít, és lehetővé teszi az adatátvitel szinkronizálását az ügyfelek igényeivel és a funkciókkal.







