האם קיים פרוטוקול תקשורת USB בפועל?
רובנו אף פעם לא נותנים מחשבה רבה על התקני ה- USB שלנו, אנחנו פשוט לחבר אותם ולשכוח אותם. אבל מה אם אתה סוג מוזר מי רוצה לדעת יותר על איך USB עובד? פוסט SuperSser של היום Q & A יש את התשובות לשאלות הקורא סקרן.
מפגש השאלות והתשובות של היום מגיע אלינו באדיבות SuperUser - חלוקה מחודשת של Stack Exchange, קיבוץ מונחה על ידי הקהילה של אתרי אינטרנט של Q & A.
באדיבות אוויילקה קובלסקי (פליקר).
השאלה
SuperUser הקורא smeeb רוצה לדעת אם באמת יש בפועל פרוטוקול תקשורת USB:
לפי ויקיפדיה, USB:
- מגדיר את הכבלים, המחברים ופרוטוקולי התקשורת המשמשים באוטובוס לחיבור, תקשורת ואספקת חשמל בין מחשבים ומכשירים אלקטרוניים.
אבל האם יש בפועל פרוטוקול תקשורת USB? ההבנה שלי היא כי:
- אתה מחבר התקן USB למכשיר (אובונטו או כל סוג של לינוקס למשל).
- לינוקס מוצא את מנהל ההתקן עבור התקן זה איכשהו (בונוס אם אתה יודע!) ונטען אותו.
- כעת המכשיר מחובר / dev / theDevice.
- יישומי שטח משתמש יכולים כעת לקרוא ולכתוב / dev / theDevice והנהג מטפל בקלט ובפלט ברמה נמוכה למכשיר / חומרה הבסיסיים.
למיטב ידיעתי, א פרוטוקול תקשורת USB אינו מופיע בשום מקום בזרימה זו. אם הבנתי נכונה, ה- USB הוא רק הכבל והחיבור החשמלי בין המחשב לבין ההתקן.
האם אני טועה כאן? האם USB באמת ליישם איזה סוג של פרוטוקול ברמה נמוכה מדגיש את הזרימה לעיל? אם כן, מה זה ואיך זה עובד על נוף 30,000 רגל?
האם קיים בפועל פרוטוקול תקשורת USB?
התשובה
תורמים SuperUser RedGrittyBrick ו projectdp יש את התשובה עבורנו. ראשון למעלה, RedGrittyBrick:
כן (ראה פרוטוקולי USB).
כפי שאני מבין את זה, מפרט ה- USB מגדיר קבוצה מורכבת של פרוטוקולים מרובד ופרופילי התקן.
לדוגמה, התקני USB יכולים להתאים לתבניות ברמה גבוהה, כגון אחסון בנפח גדול, מקלדת, התקן ממשק אנושי וכו ', ולהיות מנוהלים על ידי מנהל התקן כללי. חלק מהתקני ה- USB יכולים לתקשר ברמה נמוכה יותר כך שתמיכת ה- USB הנמוכה של מערכת ההפעלה יכולה לזהות שיש צורך במנהלי התקן ברמה גבוהה יותר בהתקן.
ואחריו התשובה מ projectdp:
שאלה
האם יש ברמה נמוכה פרוטוקול תקשורת USB בפעולה ומה זה?
תשובה
כן יש. מפרט ה- USB כולל את פרוטוקול ה- USB המגדיר את אופן השימוש באוטובוס ברמת מעט. זה יהיה פרוטוקול ברמה נמוכה בבסיס פרוטוקולים ברמה גבוהה יותר (כלומר, אחסון המוני, HID, וכו ').
לקבלת פרטים על אופן הפעולה של פרוטוקול USB, Wiki זה של OSDev עוזר. הנה עוד תיאור מעניין באמצעות דיאגרמות רצף לתאר את הנתונים נתונים שונים לכל פרוטוקול USB.
בונוס שאלה
כיצד לינוקס למצוא ולטעון את מנהל ההתקן עבור התקן זה?
תשובה בונוס
על לינוקס בעת שימוש ליבה מאופשר USB, התקן USB עובד יזוהו באמצעות החומרה ואת הקרנל עקב מפרט USB. בצד החומרה, הזיהוי נעשה על ידי בקר ה- USB המארח. ואז בקרנל מנהל ההתקן המארח משתלט ומתרגם את הביטים ברמה נמוכה על חוט לפרוטוקול USB פורמט מידע. מידע זה ואז מקבל מאכלס את הנהג USBcore בליבה.
אני paraphrased מתוך מאמר זה Opensourceforu מעולה, אשר יש הרבה יותר פרטים ובהירות על השאלה שלך בהקשר לינוקס.
הקפד לבדוק את שאר הדיון תוסס דרך הקישור פתיל משותף להלן!
יש לך משהו להוסיף להסבר? נשמע את ההערות. רוצה לקרוא תשובות נוספות ממשתמשים אחרים בעלי ידע טכנולוגי מתמצא? בדוק את נושא הדיון המלא כאן.