Ручная настройка USB

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Ручная настройка USB

Сообщение YS »

Может кто-нибудь уже знает такие решения?
У ST есть примеры USB CDC для STM32 (именно USB-UART).
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Ручная настройка USB

Сообщение B@R5uk »

YS, а можете ссылочку кинуть?
Реклама
Аватара пользователя
Siarzhuk
Потрогал лапой паяльник
Сообщения: 353
Зарегистрирован: Вс янв 19, 2014 22:41:55

Re: Ручная настройка USB

Сообщение Siarzhuk »

B@R5uk писал(а):Я видел довольно извращённый вариант на 8-ой меге с ногодрыгом, но он страдает нарушением стандартов: мега не способна держать никакой режим, кроме самого медленного, а в нём не поддерживается (по стандарту) Bulk-отправка. Поэтому изобретатели этого чудесного решения нашли в дровах винды дыру и заэксплойтили её. Разумеется, для других систем/более новых версий винды такое решение не прокатит.
Это не про V-USB речь? А подробностей про это "дырявое решение" не вспомните? Хочется посмотреть из академического интереса. Про доступ через hid.dll знаю - но где там bulk - В HID общение всё больше control запросами идёт.
B@R5uk писал(а):Хотелось бы что-нибудь грамотное либо с аппаратным USB, либо на более быстром контроллере (хотя за счёт быстроты МК ногодрыг извратом быть не перестанет).
Всякое уменьшение Энтропии в Подлунном - суть дело богоугодное и извратом быть не может по определению - речь скорее о осмысленности такого мучительно способа извлечения адреналина из недр межушного пространства, когда, к примеру, можно взять бюджетный PIC и, не приходя в сознание, собрать готовый пример из MLA, на любой вкус - CDC, MSD, HID, Audio. Или из Атмеловских с железной реализацией как вам уже подсказали. ;)
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Ручная настройка USB

Сообщение YS »

YS, а можете ссылочку кинуть?
У ST есть инструмент под названием STM32 CubeMX. Это кодогенератор, который позволяет настроить большинство периферии, включая USB, совершенно не используя мозг. В нем есть опция генерации кода USB HID и USB CDC.

Еще есть STM32Cube USB Device Library, тоже поддерживает CDC.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Ручная настройка USB

Сообщение B@R5uk »

Так ведь одной инициализации мало. Виртуальный последовательный порт должен принимать данные по UART (это я знаю как делается), формировать из них пакеты каким-то образом и отправлять по USB. Причём он делает это не когда заблагорассудится а по запросу хоста. То же самое и с приёмом. Хотелось бы разобраться в готовом решении, тем более, что оно типовое и востребованное.
Реклама
Аватара пользователя
Siarzhuk
Потрогал лапой паяльник
Сообщения: 353
Зарегистрирован: Вс янв 19, 2014 22:41:55

Re: Ручная настройка USB

Сообщение Siarzhuk »

B@R5uk писал(а):Причём он делает это не когда заблагорассудится а по запросу хоста.
Если это намёк на poll-природу USB коммуникаций, то, с точки зрения программы в устройстве, когда ему заблагорассудится оно и отдаст используемой USB библиотеке эти данные на отсылку, последняя запишет в interrupt endpoint соотвествующую статус-информацию, драйвер USB контроллерa на PC при следующем цикле опроса считает этот статус и дёрнет обработчик соответствующщего прерывания в драйвере устройства - драйвер-же устройства с урчанием в животе подорвётся читать пришедшие данные с bulk endpoint устройства. Иными словами, хотя опустошение ближайшего почтового яшика и производится раз в день по приезде почтовой машинки - это никоим образом не мешает нам опустить письмо в ящик когда нам заблагорассудится. Но, поскольку в названии темы речь о "ручной настройке", видимо подразумевается, что такой машинки (библиотеки) нету - значит придется самим звонить на почту (выставлять прерывание) и собственноручно передавать посылку приехавшему почтальону. ;)
Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR! ;-)
Реклама
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Ручная настройка USB

Сообщение YS »

Так ведь одной инициализации мало.
Вы, однако, недооцениваете мощь костыля под названием STM32 CubeMX.

Я уже писал выше, что готовый пример HID есть в поставке USB FS Device Lib. Окей, вот вам прямая ссылка на страницу. Но имейте в виду, что прямые ссылки на страницы сайта ST имеют свойство портиться со временем.

STSW-STM32121 - сама библиотека. Там есть пример CDC.
STSW-STM32102 - драйвер для Windows.
Хотелось бы разобраться в готовом решении, тем более, что оно типовое и востребованное.
Я вам сразу сочувствую, это будет непросто. К сожалению, вся политика STMicroelectronics построена на продвижении разнообразных протезов для мозга и никак не поощряет изучение того, как их продукция работает внутри. У них нет нормальных туториалов. Документация делится на два типа - это либо хардкорные мануалы (которые они, похоже, выкладывают только потому, что не выкладывать их было бы совсем некрасиво), либо красочные буклеты про то, как натыкать код мышкой. Промежуточное звено отсутствует совершенно.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

Re: Ручная настройка USB

Сообщение B@R5uk »

YS писал(а):драйвер для Windows.
Как так? Вроде же должно со стандартным работать?

Блин, оно там ещё не через CMSIS, а через HAL делается. Ненавижу эту хрень.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Ручная настройка USB

Сообщение YS »

Вроде же должно со стандартным работать?
Как уже было писано, Windows надо объяснить, что к данным VID/PID надо привязать имеющийся драйвер.
Блин, оно там ещё не через CMSIS, а через HAL делается.
Про политику ST я тоже уже писал. :)))

Хотя, кстати, ядро USB там написано на основе прямого доступа к регистрам. Каша, короче.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Ответить

Вернуться в «ARM»