|
|
  |
USB интерфейс HID устройство со стороны микроконтроллера, прошу помочь разобраться |
|
|
|
Mar 19 2012, 13:13
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(smk @ Mar 19 2012, 15:11)  С нуля... Вы мне льстите. Конечно я разбираю готовые проекты (Ваш и Custom_HID от ST). Собрал платку с контроллером. Какая-то жутко путаная штука этот USB. Впечатление такое, что разработчики попытались объять необъятное и теперь все вслед за ними делают тоже самое. С нуля очень трудно. Я, когда начинал, вообще не мог понять, как работает шина. Пришлось собирать аппаратный сниффер (Для FS/LS), захватывать реальные транзакции на шине и в деталях разбираться, какие биты, почему и зачем передаются ... Дополнение:Вот, со времен работы со сниффером остались файлы. Посмотрите, как выглядят временные диаграммы энумерации: http://zalil.ru/32906383
|
|
|
|
|
Mar 20 2012, 08:26
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(smk @ Mar 19 2012, 22:41)  Какая-то жутко путаная штука этот USB. Впечатление такое, что разработчики попытались объять необъятное и теперь все вслед за ними делают тоже самое. Начать с того, что разработал его индус. При всем моем уважении к индусам, голова у них как-то по-другому работает. Вот Зигби, например, тоже там индусы намудрили - черт ногу сломит. Ну а потом USB продвигалось путем многолетнего коллективного творчества. Что порядка и стройности не прибавило. Но на самом деле не так уж все плохо. В основе USB лежат довольно простые идеи. Которые, однако, никто доходчиво изложить не может, мне, по крайней мере, не встречалось. Помню меня тоже оторопь брала, когда начинал.
|
|
|
|
|
Mar 20 2012, 09:33
|
Местный
  
Группа: Участник
Сообщений: 202
Регистрация: 10-04-05
Из: Санкт-Петербург
Пользователь №: 4 011

|
Цитата(=AK= @ Mar 20 2012, 12:26)  Но на самом деле не так уж все плохо. В основе USB лежат довольно простые идеи. Которые, однако, никто доходчиво изложить не может, мне, по крайней мере, не встречалось. Помню меня тоже оторопь брала, когда начинал. А как, на Ваш взгляд, вот это описание: http://microsin.ru/content/view/1107/44/
Сообщение отредактировал Slash - Mar 20 2012, 09:33
|
|
|
|
|
Mar 20 2012, 12:52
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(Slash @ Mar 20 2012, 20:03)  Бегло посмотрел, тоже не понравилось. Беда всех описаний (и этого тоже) USB состоит в том, что все валят в одну кучу, из-за этого получается огромный ком инфы, не прожуешь. И никто не дает инфу внятными легкоусваевыми кусочкам. Я бы начал с того, что сказал: в центре USB находится хост, все остальные устройства логически присоедены к нему, образуя звезду. Устройства между собой обмениваться не могут, по своей инициативе инфу посылать не могут. Хост - полный хозяин: хост спросил - устройство ответило. Только так, и никак иначе. Все опросы инициирует хост. Опросы происходят циклами. Длительность цикла постоянная, 1мс для LS и FS, или 125мкс для HS. Цикл начинается с того, что хост посылает никому не адресованный токен Start Of Frame (SOF). После этого хост опрашивает периферийные устройства, причем делает это в определенном порядке: сначала опрашивает контрольные пайпы, потом "прерывания" и изохронные пайпы, и напоследок, по остаточному принципу, балк пайпы. Порядок опроса определяется планировщиком хоста, который динамически реагирует на запросы и ответы и выстраивает список опроса. Вот это самая суть. Ее надо разжевать подробнее, с картинками, и т.п. А потом вокруг этого ядра слоями наворачивать менее значимые подробности.
|
|
|
|
|
Mar 20 2012, 13:03
|
Частый гость
 
Группа: Свой
Сообщений: 93
Регистрация: 13-01-12
Из: Гатчина
Пользователь №: 69 333

|
Цитата(=AK= @ Mar 20 2012, 16:52)  И никто не дает инфу внятными легкоусваевыми кусочкам. Вот тут боле менее кусочки. Еще помнится у nxp для какого-то lpc2xxx была отличная апликуха - пусть азы, но для въезда самое то. А вот по репортам hid я ничего внятного в сети, к сожалению, не находил.
|
|
|
|
|
Mar 20 2012, 15:07
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(smk @ Mar 20 2012, 17:10)  Да, был для LPC2141...48. Для старта указанный мной Гук - самое оно. Четко, кратко, правильно, да еще и с картинками. Если дружите с английским, то почитайте еще книги Jan Axelson ... Кстати, а я вам какой исходник давал ? Для LPC ? Или для AT91 ? P.S. А еще было описание с картинками у Cypress, его тоже многие хвалили, вот только ссылку я не припомню ... P.P.S. Диаграммки-то гляньте, которые я выложил. Это полезнее всяких картинок
|
|
|
|
|
Mar 24 2012, 07:02
|

Местный
  
Группа: Свой
Сообщений: 256
Регистрация: 7-07-04
Из: Ukraine
Пользователь №: 291

|
Идем на http://www.obdev.at/products/vusb/download.html, качаем V-USB и в libs-host все есть что надо... Просто и со вкусом.
--------------------
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|