Перейти к содержанию
    

STM32+USB

Все сижу в песочнице, копаюсь совочком и лопаткой...

Устал!

 

Взрослые дяденьки, помогите несмышленышу, пригоните бульдозер Катерпиллер, экскаватор Хитачи и десяток БЕЛАЗов!

 

И будет мне счастье, главное, чтоб от него успеть спастись :tongue: :biggrin:

 

 

Прошу уважаемых гуру помочь.

 

Разрабатываем дивайс.

STM32.

Сейчас F205 пока.

 

USB, втыкаемый в комп.

 

Что хотелось бы:

1). Автоматическое определение HID устройства.

2). Установка драйверов (например, как в модемах) из дивайса.

 

И в перспективе:

 

3). Автоматическая установка исполняемого приложения для работы с дивайсом.

4). Автоматическая установка плагина к браузеру для работы с дивайсом.

 

Здесь вопросы:

 

пп 1-2:

Номер HID устройства... MICROCHIP выпускает такие ПЗУ с номерами для быстрого старта проекта... есть ли что-то подобное для STM32?

Как грамотно организовать установку драйверов из дивайса?

 

пп 3-4: возможно ли это сделать из дивайса... или через интернет при установке драйвера? Как правильно это спроектировать?

Спасибо!

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1). Автоматическое определение HID устройства.

2). Установка драйверов (например, как в модемах) из дивайса.

 

3). Автоматическая установка исполняемого приложения для работы с дивайсом.

4). Автоматическая установка плагина к браузеру для работы с дивайсом.

 

0. Зачем вам STM ? Его есть смысл использовать только тогда, когда нужен USB HS. Зачем вам HS для HID ? А для установки драйверов - зачем ? Скажу сразу, что USB в STM - вещь, мягко (очень мягко) говоря - довольно сложная. И явно не для новичка, задающего такие вопросы. Сейчас сижу и в этом всем разбираюсь по примерам от ST. Я в USB и в МК далеко не новичок, но USB в STM - это что-то. Если HS не нужен, очень советую взять или LPC, например, LPC214x, или ATMEL (ARM7 или ARM9).

 

1, 2, 3, 4

Windows сама найдет HID - устройство. Для работы с вашим спец. устройством может потребоваться спец. ПО, и его должны предоставить вы. Для установки ПО/драйверов из устройства вам придется реализовать не только HID, но и Mass-Storage. Например, по умолчанию устройство включается в режиме Mass-Storage, в системе появляется новый диск, с него ставится ПО, и дальше тем или иным способом устройство отключается от шины, переключается в режим HID и уже в нем остается. Задача не самая простая, но вполне решаемая.

 

P.S.

ST дает все необх. вам примеры, вот они:

 

http://www.st.com/internet/com/SOFTWARE_RE...-device_lib.zip

Изменено пользователем kovigor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

HS USB на F2xx - это вообще отдельный вопрос, т.к требует применения внешнего PHY, а под него разводку желательно делать не двухслойную. Иначе глючить будет. Ну или вдруг OTG нужен.

Так что для начала- рекомендую остановится на обычном FS, который есть на любой отладочной плате.

Ссылку на библиотеку уж дали.

Про автоматическую установку драйверов и приложений- лучше забыть. Тут в основном виноваты антивирусы- блокируют автостарт с USB диска. Ну и пользователей сильно раздражает задержка от переэнумераций устройства- секунд 20-30 на старт устройства после втыкания это иногда слишком много. Т.е можете предусмотреть карточку с драйверами в устройстве, но старт в режиме флешки- только по отдельной кнопке на устройстве. Т.е теоретически можно сделать так- после втыкания устройство ждет появления своих драйверов со стороны компа, если за 20 секунд драйвера не появились- инициируется энумерация с массторадж устройством (лучше readonly CD-ROM) и автостарт с него по autorun.inf. Автопоиск драйверов на CD не сработает, т.к к этому моменту неопознанное устройство уже отвалится. НУ или надо всегда запускать и фантомный CD диск с драйверами (композитное устройство) но пользователю невсегда нарвится постоянное появление- пропадание диска в системе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что касается

Номер HID устройства... MICROCHIP выпускает такие ПЗУ с номерами для быстрого старта проекта... есть ли что-то подобное для STM32?
- так можно использовать Unique device ID register (96 bits). Производитель пишет: The unique device identifier is ideally suited:

● for use as serial numbers (for example USB string serial numbers or other end applications). (смотрите RM0033 Reference manual страница 1303)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос немного в сторону: есть ли какой-нибудь шанс на stm32f103 одновременно использовать usb и can? То есть нужно, чтобы контроллер общался через USB с компом и передавал бы данные другим контроллерам по CAN. В RM ясно сказано, что нельзя, ибо у них общая SRAM, но, может быть, это можно как-то обойти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на одних выводах.

 

Вроде как их можно посадить на разные, например для корпуса LQFP64 usb - 44/45, can можно вывести на 61/62

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все сижу в песочнице, копаюсь совочком и лопаткой...

Устал!

 

Взрослые дяденьки, помогите несмышленышу, пригоните бульдозер Катерпиллер, экскаватор Хитачи и десяток БЕЛАЗов!

 

И будет мне счастье, главное, чтоб от него успеть спастись :tongue: :biggrin:

 

 

Прошу уважаемых гуру помочь.

 

Разрабатываем дивайс.

STM32.

Сейчас F205 пока.

 

USB, втыкаемый в комп.

 

Что хотелось бы:

1). Автоматическое определение HID устройства.

2). Установка драйверов (например, как в модемах) из дивайса.

 

И в перспективе:

 

3). Автоматическая установка исполняемого приложения для работы с дивайсом.

4). Автоматическая установка плагина к браузеру для работы с дивайсом.

 

Здесь вопросы:

 

пп 1-2:

Номер HID устройства... MICROCHIP выпускает такие ПЗУ с номерами для быстрого старта проекта... есть ли что-то подобное для STM32?

Как грамотно организовать установку драйверов из дивайса?

 

пп 3-4: возможно ли это сделать из дивайса... или через интернет при установке драйвера? Как правильно это спроектировать?

Спасибо!

как успехи?

получилось?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

 

Перехожу с AT91SAM7 на STM32 . Вопрос : У STM32 есть USB- загрузчик , для прошивки устройств по USB ? Что-то не вижу в документации упомянаний.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перехожу с AT91SAM7 на STM32 . Вопрос : У STM32 есть USB- загрузчик , для прошивки устройств по USB ? Что-то не вижу в документации упомянаний.

 

У STM32F102, STM32F103, STM32L - нет (только через UART)

У STM32F105/107, F2xx, F4xx - есть DFU bootloader

 

Подробности тут

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...