Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
11 / 11 / 1
Регистрация: 21.05.2013
Сообщений: 70

Работа USB

16.09.2013, 14:40. Показов 2536. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Нужна помощь в осознании принципа работы USB.
Как я понимаю принцип работы.
Подключаем мы устройство к порту. Хост периодически осматривает свои владения. При подключении нового устройства, он первым же пакетом посылает ему дескриптор установки адреса. Устройство, пусть будет микроконтроллер, какой - неважно, настраивает нулвую конечную точку на готовность передачи, Получает данные адреса, записывает в определенный регистр. Затем опять встает в готовность. Хост при следующем запросе видит, что она готова и посылает запрос на получение дескриптора устройства, потом аналогично на получение дескриптора конфигурации.
Это, как я думаю, должны быть обязательные запросы. А как дальше происходит принцип работы? Надо, например, послать дескриптор интерфейса или передать массив данных. Что нужно для этого сделать?
Вот этого я не пойму.
Буду очень благодарен, если объясните на пальцах, поэтапно.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.09.2013, 14:40
Ответы с готовыми решениями:

Работа с USB в микроконтроллерах
имею микроконтроллер с USB и UART портами. нужно написать прошивку для преобразования входных сигналов. как лучше обработать поток бит? на...

Работа с USB в PIC на ASM
ValeryS, Здравствуйте, если Вас не затруднит, помогите разобраться пожалуйста с протоколом USB у PIC на ассемблере. Код программы и как это...

Работа с USB CDC устройством.
Привет форумчане! Выручайте! Я запутался! Имеется собранное устройство на основе V-USB AVRCDC. В системе определяется как COM порт. ...

5
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
16.09.2013, 14:54
...на пальцах расписывать долго. Но вы можете подсмотреть временные диаграммы обмена в любом из стандартов USB1, 2...

Библиотеки для работы с USB. Нижний и верхний уровень
USB термометр и дистанционка в одном флаконе. Часть 1
1
11 / 11 / 1
Регистрация: 21.05.2013
Сообщений: 70
18.09.2013, 14:28  [ТС]
Спасибо за ссылки, из спецификации понял в какой последовательности что происходит.
Но осталось пара вопросов все-равно, которые хотелось бы уточнить.
1. Хост, как я понял постоянно опрашивает разные конечные точки устройства с рандомными запросами, кроме как случая, когда точка определена на работу по прерываниям. Следовательно, чтобы была работа, нужно просто настраивать точку на готовность работать и ждать пока брат запросит необходимую инфу.
2. Немного не понял, что нужно отправить хосту, чтоб он просто увидел неизвестное устройство. Как я понял, хватит дескриптора устройства. Или нужно еще остальные дескрипторы отправлять?

Добавлено через 5 минут
Немного оффтоп, может кому, кто просматривает тему, пригодится. По тексту спецификации есть неплохой документик "USB in a nutshell Craig peacock". вместо 600страниц - 30. Описаны основные моменты из спецификации.
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
18.09.2013, 16:01
что нужно отправить хосту, чтоб он просто увидел неизвестное устройство
достаточно подтянуть через сопротивление одну из DATA шин к плюсу питания, что и используется МК на нижнем уровне для реинициализации.
1
11 / 11 / 1
Регистрация: 21.05.2013
Сообщений: 70
28.09.2013, 12:59  [ТС]
Спасибо, увиделось.
Теперь у меня не проходит енумерацию. при подключении происходит такая штука (на картинке во вложении).

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

Думаю, лишним не будет пример подключения телефона.
Весь процесс нумерации отсутствует у меня. И перед ним еще какие-то 2 запроса, как я понял, это установка адреса идет, которой тоже почему-то нет.
Миниатюры
Работа USB   Работа USB  
0
11 / 11 / 1
Регистрация: 21.05.2013
Сообщений: 70
03.10.2013, 09:10  [ТС]
Появилась возможность скинуть код.
Микроконтроллер 1986BE91T. Миландровский.
Еще немного помучил, понял, что после того, как хост сбрасывает шину, устройство не принимает ниOSFT пакет ни ничего более. ПО крайней мере флаги приема не выставляются.
Вложения
Тип файла: zip USB.zip (32.0 Кб, 35 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.10.2013, 09:10
Помогаю со студенческими работами здесь

USB плата видеозахвата. Работа с TVP5150AM
Здравствуйте форумчане! Передо мной стоит задача: разработать USB плату видеозахвата. Есть аналоговая видеокамера (охранная) и...

STM32F205 Работа с USB
Товарищи возникла проблема с работой по USB и STM32F205. Создал я, значит, дескриптор на три устройства: MSC, CDC #1 & RNDIS (CDC #2)...

работа с током usb
привет всем. 1) как отключить питание ЮСБ(через виндовс, можно, то там выходит апаратная зависимость, да и задержки\глюки винды не...

Низкоуровневая работа с USB
Пытаюсь разобраться с USB у STM32F103 на низком уровне (т.е. без сторонних библиотек) и столкнулся с проблемой. Мои действия: 1) У...

Работа с адаптером USB-to-CAN slavna на ПК
Кодил ли кто нибудь на ПК, для адаптеров USB-to-CAN: http://www.mcutool.ru/products/connecti ... sbcan.aspx или тойже фирмы какой нибудь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru