Еще несколько вопросов по поводу USB - PullRequest
1 голос
/ 16 июня 2010

несколько дней назад я спрашивал здесь о реализации USB. Теперь, если можно, хотел бы задать еще несколько вопросов, о которых я не совсем понял.

Итак, во-первых, если я прав, в Windows есть драйвер устройства для интерфейса USB, для физического устройства, которое отправляет и получает сообщение. Но что этот драйвер предлагает системе (пользователю)? Я имею в виду, протокол USB сделан таким образом, что его устройства адресуются. Таким образом, вы сначала адрес устройства, чем отправить сообщение на него.

Но насколько сложен контроллер устройства (HW) и его драйвер? Он настолько сложен, что это просто чип, который вы просто отправляете по адресу устройства и данным, и он записывает исходящие данные и входящие данные в некоторый внутренний регистр для чтения или через DMA непосредственно в память?

Или как его драйверы (SW) действительно работают? Есть ли в его драйвере дополнительные функции, такие как отправка _data в _device? Потому что я несколько внутренне надеюсь, что есть способ напрямую передать некоторые данные через USB, возможно, путем вызова самих драйверов USB? Есть ли какая-нибудь хорошая статья, учебник, о котором вы знаете, чтобы действительно объяснить, как работает вся эта логика? Благодарю.

1 Ответ

2 голосов
/ 16 июня 2010

Стек протоколов USB имеет несколько уровней и является довольно сложным.Вам действительно нужно прочитать хорошую книгу по USB (например, USB Complete ), чтобы понять, как все это сочетается.Суть в том, что вы хотите подняться как можно выше на стек протоколов, в идеале используя API системного уровня (например, если это устройство USB HID, тогда просто относитесь к нему как к любому другому устройству HID, а не думайте, если оноUSB-устройство - то же самое для устройств хранения данных и т. д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...