В чем именно разница между USB-хостом и устройством

Столкнулся с некоторыми сомнениями:

  1. В чем именно разница между USB-хостом и устройством? Это только тот, кто питает автобус?
  2. Когда два устройства подключаются, как устройство говорит: «Привет, я буду хостом, а ты устройством?»
  3. Может ли одно устройство действовать как хост, а также как устройство. Например, «A» должен действовать как устройство, когда подключен USB-хост, а «A» должен действовать как хост, когда подключено USB-устройство?
Это прямой и четкий ответ именно там, где вы ожидаете его найти, то есть в спецификации USB или даже в самой вводной информации о USB. -1
Я бы порекомендовал вам прочитать «USB Complete» Яна Аксельсона. Это настоящая жемчужина в этом вопросе.
@OlinLathrop Ваш комментарий бесполезен. Спецификация USB имеет размер 75 МБ и состоит из 43 файлов PDF с общим объемом 2984 страницы.
@Stép: в спецификации USB также есть оглавление, и даже более ранние и меньшие спецификации отвечают на эти вопросы. Эти вопросы очень простые и показывают полное отсутствие даже попыток найти ответы.
@OlinLathrop Моя попытка использовать Google, чтобы найти ответ именно на эти вопросы, привела меня к этому вопросу. Это был лучший результат поиска Google. Зашел сюда и увидел рекомендацию прочитать/поискать почти 3000 страниц! Вот почему я сказал, что комментарий не был очень полезным.
Я просто хотел поблагодарить @quantum231 за то, что он порекомендовал мне книгу Яна Аксельсона. Я прочитал отрывок на ее сайте и сразу же решил купить, пока не узнал, что последняя версия стоит ~40$... Но мне особо не нужны были последние характеристики с 3.1 и USB-C, поэтому я просто взял б/у. четвертое издание в мягкой обложке за 14 баксов, для меня достаточно актуальное, включает в себя USB 3.0, и, USB OTG, в котором прописан протокол, когда хост может быть и устройством, и наоборот, что бы ответить на этот вопрос. Я знаю, что ОП был много лет назад, но просто хотел упомянуть, что я нашел справочный материал полезным.
Хорошая статья, которую стоит прочитать: cdn-learn.adafruit.com/downloads/pdf/…

Ответы (2)

В чем именно разница между USB-хостом и устройством?

Хост инициирует всю связь по шине, устройство отвечает только по запросу хоста. Подробности смотрите в спецификациях на usb.org .

Когда два устройства подключаются [...]

Один должен вести себя как хост, а другой как устройство. Подробности можно найти в спецификациях USB OTG.

Может ли одно устройство действовать как хост, а также как устройство?

Например, многие телефоны и планшеты Android могут (требуется Android 3+). «Магия» заключается в кабеле / ​​адаптере On-the-Go, который переключает телефон в режим хоста, подтягивая контакт ID к GND.

Ссылка на спецификации USB OTG не работает
Глубокая ссылка удалена

Как и Стефан, я пришел сюда за ответом. Чего только я здесь не нашел! Проведя небольшое исследование, вот что я нашел.

С хост-контроллером вы сможете взаимодействовать со всеми USB-устройствами, а с контроллером USB-устройства вы можете просто взаимодействовать с хост-контроллером.

В большинстве случаев USB-хост — это USB на стороне ПК, а USB-устройство — это USB в вашей мыши, клавиатуре, флэш-памяти и т. д.

Все USB-транзакции управляются хостом. и Устройство отвечает только на транзакции Хоста.

Надеюсь, это поможет.

Непонятно, что вы добавляете, чего еще не было сказано много лет назад.
Он дал чуть более обстоятельный ответ с конкретными примерами, а не отправил вас на первую страницу длинного и сложного документа. Выбранный ответ мог бы, по крайней мере, уварить его лучше