מבנה תוכנת USB

Sep 01, 2022

ממשק אוטובוס

ממשק ה-USB מטפל בחיבור בין השכבה החשמלית לשכבת הפרוטוקול. מנקודת המבט של חיבור הדדי, ממשקי אוטובוס דומים מסופקים על ידי המכשיר והמארח בו זמנית, כגון מכונת ממשק טורית (SIE). ממשק ה-USB ממומש על ידי הבקר הראשי.

מערכת ה-USB משתמשת בבקר הראשי כדי לנהל את העברת הנתונים בין המארח להתקן ה-USB. הממשק בינו לבין הבקר הראשי תלוי בהגדרת החומרה של הבקר הראשי. במקביל, מערכת ה-USB אחראית גם על ניהול משאבי ה-USB, כמו רוחב פס ואנרגיית אוטובוס, המאפשרת ללקוחות גישה ל-USB. למערכת ה-USB יש גם שלושה מרכיבים בסיסיים:

מנהל התקן בקר מארח (HCD) זה יכול למפות התקני בקר מארח שונים למערכת ה-USB. הממשק בין HCD ל-USB נקרא HCDI. ה-HCDI הספציפי מוגדר על ידי מערכת ההפעלה התומכת בבקרי מאסטר שונים. מנהל הבקר האוניברסלי (uhcd) נמצא בתחתית המבנה הרך, והוא מנהל ושולט בבקר הראשי. Uhcd מתקשר עם בקר המארח USB ושולט בו, והוא מוסתר מחלקים אחרים של תוכנת המערכת. השכבה הגבוהה ביותר בתוכנת המערכת מתקשרת עם הבקר הראשי דרך ממשק התוכנה של uhcd.

מנהל התקן USB (usbd), המבוסס על מנהל התקן uhcd, מספק ממשק ברמת מנהל ההתקן כדי לעמוד בדרישות של עיצוב מנהל ההתקן הקיים. Usbd מספקת ארכיטקטורת העברת נתונים בצורה של מנות בקשת I/O (IRP), המורכבת מהדרישות להעברת נתונים דרך צינורות ספציפיים. בנוסף, usbd גורם ללקוח להופיע כהפשטה של ​​המכשיר כדי להקל על הפשטה וניהול. כחלק מההפשטה, ל-usbd יש צינור ברירת מחדל. באמצעותו ניתן לגשת לכל התקני ה-USB עבור בקרת USB רגילה. צינור ברירת מחדל זה מתאר ערוץ לוגי לתקשורת בין ה-USBD להתקן ה-USB.

תוכנת מארח

במערכות הפעלה מסוימות, תוכנת מערכת USB אינה מסופקת. תוכנות אלו משמשות במקור כדי לספק מידע תצורה ומבנה טעינה למנהלי התקנים. במערכות הפעלה אלה, מנהל ההתקן משתמש בממשק שמספק האפליקציה במקום לגשת ישירות למבנה USBDI (USB Driver Interface).

תוכנת לקוח USB

הוא ממוקם ברמה הגבוהה ביותר של מבנה התוכנה ואחראי לטיפול במנהלי התקני USB ספציפיים. שכבת הלקוח מתארת ​​את כל פורטלי התוכנה הפועלים ישירות על המכשיר. כאשר המכשיר מזוהה על ידי המערכת, תוכניות לקוח אלו יפעלו ישירות על החומרה ההיקפית. תכונה משותפת זו ממקמת את תוכנת מערכת ה-USB בין הלקוח להתקן שלו, אשר צריכה להיות מעובדת על ידי תוכנית הלקוח בהתאם לתמונת המכשיר שנוצרה על ידי usbd אצל הלקוח.

לכל שכבה של המארח יש את הפונקציות הבאות:

זיהוי התקני USB מחוברים והוסרו.

נהל את זרימת הנתונים בין המארח להתקן ה-USB.

סטטוס חיבור USB וסטטיסטיקות פעילות.

שליטה בממשק החשמלי בין הבקר הראשי להתקן ה-USB, כולל אספקת אנרגיה מוגבלת.

HCD מספק הפשטה של ​​הבקר הראשי והפשטה של ​​נקודת המבט של הבקר הראשי של נתונים המועברים דרך USB. Usbd מספק הפשטה של ​​התקני USB והעברת נתונים בין לקוחות USB ופונקציות USB. מערכת ה-USB מקדמת העברת נתונים בין לקוחות ופונקציות, ומשמשת כנקודת בקרה לממשק הסטנדרטי של התקני USB. מערכת ה-USB מספקת יכולת ניהול מאגר ומאפשרת סנכרון של העברת נתונים עם צרכי הלקוחות והפונקציות.