Чи існує фактичний протокол зв'язку USB?

Jan 29, 2025
Апаратне забезпечення
НЕЗАГОТОВЛЕНИЙ ЗМІСТ

Більшість з нас ніколи не замислюються над своїми USB-пристроями, ми просто підключаємо їх і забуваємо про них. Але що, якщо ви цікавий тип, який хоче дізнатись більше про те, як працює USB? Сьогоднішня публікація запитань SuperUser містить відповіді на цікаві запитання читача.

Сьогоднішня сесія запитань і відповідей надійшла до нас люб’язно від SuperUser - підрозділу Stack Exchange, угруповання веб-сайтів із питань та відповідей на основі спільноти.

Фото надано Евілелка Ковальський (Flickr) .

Питання

Читач SuperUser smeeb хоче знати, чи справді існує фактичний протокол зв'язку USB:

За даними Вікіпедії, USB :

  • Визначає кабелі, роз'єми та протоколи зв'язку, що використовуються в шині для з'єднання, зв'язку та живлення між комп'ютерами та електронними пристроями.

Але чи є це фактично Протокол зв'язку USB ? Я розумію, що:

  1. Ви підключаєте пристрій USB до машини (наприклад, Ubuntu або будь-який інший Linux).
  2. Linux якось знаходить драйвер пристрою для цього пристрою ( бонус, якщо знаєш! ) і завантажує його.
  3. Тепер пристрій підключено під / dev / theDevice .
  4. Програми користувацького простору тепер можуть читати та писати в них / dev / theDevice і драйвер обробляє низькорівневі вхідні та вихідні дані до базового пристрою / обладнання.

Наскільки я можу зрозуміти, a Протокол зв'язку USB не з'являється ніде в цьому потоці. Якщо я розумію правильно, USB - це лише кабельний та електричний зв’язок між ПК та пристроєм.

Я тут помиляюся? Чи насправді USB реалізує якийсь протокол низького рівня, який підкреслює вищезазначений потік? Якщо так, що це і як це працює при огляді 30000 футів?

Чи існує фактичний протокол зв'язку USB?

Відповідь

Співробітники SuperUser RedGrittyBrick та projectdp мають відповідь за нас. Спочатку RedGrittyBrick:

Так ( див. протоколи USB ).

Як я розумію, специфікація USB визначає складний набір шаруватих протоколів та профілів пристроїв.

Наприклад, USB-пристрої можуть відповідати шаблонам високого рівня, таким як накопичувач даних, клавіатура, людський інтерфейсний пристрій тощо, і керуватися загальним драйвером пристрою. Деякі пристрої USB можуть спілкуватися на нижчому рівні, так що підтримка низького рівня USB операційної системи може визнати, що потрібні драйвери вищого рівня для конкретних пристроїв.

Наступна відповідь від projectdp:

Питання

Чи діє низькорівневий протокол зв'язку USB і що це таке?

Відповідь

Так, є. Специфікація USB включає протокол USB, який визначає спосіб використання шини на бітовому рівні. Це буде протокол низького рівня, який лежить в основі протоколів вищого рівня (тобто, масового зберігання, HID тощо).

Детальніше про те, як працює протокол USB, це Вікі OSDev корисно. Ось ще один цікавий опис використання діаграм послідовності для опису різних транзакцій даних за протоколом USB.

Бонусне питання

Як Linux знаходить і завантажує драйвер пристрою для цього пристрою?

Бонусна відповідь

У Linux під час використання ядра з підтримкою USB через апаратне забезпечення та ядро ​​буде виявлено робочий пристрій USB через специфікацію USB. Щодо апаратного забезпечення, виявлення здійснюється за допомогою контролера хосту USB. Потім у ядрі драйвер контролера хосту бере на себе та переводить низькорівневі біти на дроті до інформації у форматованому протоколом USB. Потім ця інформація заповнюється в драйвері usbcore в ядрі.

Я перефразовував це відмінне Стаття Opensourceforu , який має набагато більше деталей та ясності щодо вашого питання в контексті Linux.

Не забудьте ознайомитися з рештою жвавої дискусії за посиланням, наведеним нижче!


Є що додати до пояснення? Звук у коментарях. Хочете прочитати більше відповідей від інших досвідчених користувачів Stack Exchange? Ознайомтесь із повним обговоренням тут .

USB Protocol

What Is HART Protocol?

How To Reverse Engineer A USB Protocol For Linux

Fun And Easy USB - How The USB Protocol Works

HTC Vive USB Protocol Reverse Engineering

Dmitriy Kostiuk | How To Get Yourself Into The Usb Protocol Without Pain

What Is The USB Type-C Signal Plan? How Does Orientation Independence Happen?

About The Data Center 3.0, A Protocol Analysis Software For USB, I2C, And SPI

What Is RS232 And What Is It Used For?


Апаратне забезпечення - Найпопулярніші статті

Як користуватися флеш-накопичувачем USB з Android

Апаратне забезпечення Apr 27, 2025

Хоча на більшості сучасних пристроїв Android не обов’язково бракує можливостей зберігання, можливо, �..


Як побудувати власний комп’ютер, частина друга: об’єднання

Апаратне забезпечення Dec 12, 2024

Отже вибрав ваші деталі , двічі та потрійно перевірили їх сумісність та чекали, поки економ..


Все, що ви знаєте про роздільну здатність зображення, можливо, неправильне

Апаратне забезпечення Sep 21, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ “Дозвіл” - це термін, який люди часто кидають - іноді неправильно - коли гово..


Чи може програмне забезпечення розрізняти настільний комп’ютер та ноутбук?

Апаратне забезпечення Feb 11, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Багато ліцензій на програмне забезпечення є досить обмежувальними, коли мо�..


Як захистити свій будинок від пошкодження водою за допомогою сенсорів Smart Home

Апаратне забезпечення Sep 9, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Подібно до багатьох основних виробів дошкільного віку, скромний детектор в�..


Чому комутовані модеми такі галасливі?

Апаратне забезпечення Oct 16, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Протягом 1990-х років більшість користувачів Інтернету починали сеанс з шумного ..


З вікна Порад: саморобні розсіювачі, саморобні тестери Ethernet та інтерфейс Metro у Windows 8

Апаратне забезпечення May 10, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Раз на тиждень ми підбираємо декілька чудових порад, які надсилають читачі, і д�..


Перенесіть XP на Windows 7 за допомогою програми Easy Transfer та USB-накопичувача

Апаратне забезпечення Jul 23, 2025

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Якщо ви використовуєте XP і пропустили оновлення Vista і вам потрібен хороший спосіб..


Категорії