Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: поднять USB на Olimex STM32-H103
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
klen
Здравствуйте.
Запустил FreeRTOS на STM32-H103.
хочу поднять USB, чтение и запись делать через очереди в двух задачах Tx/Rx.

читал апноут по поставляемой st библиотеке - добился того что девайс заработал, дескрипторы читаюются, могу записать блок с писи в девайс, немогу считать, непойму как инициировать передачу блока данных с девайса sad.gif . Далее как указал выше хочу все в две задачи прикрутить.
использую на писи библиотеку порт libusb
научите как это сделать. примеров в либе как это сделать для custom dev BULK нету sad.gif

нy еще вопрос, из этой платы задумал сделать САУ для авиамодели - подсоеденить через уарт Zigbee модемчик для обмена, 12 каналов таймеров использовать для ШИМ на 6 электродвигатели приводов, 6 каналов ацп на обратную связь по положению привода, посередине PID фильтр, 6 какнала ацп на 3 акселерометра и 3 гироскопа. хочу упоковать с использованием FreeRTOS - архитектурно удобно. как думаете во что уперется можно?
ababkin
u menia VCOM primer rabotaet na stm32h103 pod Ubuntu. Sozdaet /dev/ttyACM0 descriptor kotorii ya pol'zuyu cherez minicom
tak chto mozhete posmotret' v kod sootvetstvuyuschego draivera. VCOM pol'zuet BULK transfer

Alex

Цитата(klen @ Feb 16 2009, 10:25) *
Здравствуйте.
Запустил FreeRTOS на STM32-H103.
хочу поднять USB, чтение и запись делать через очереди в двух задачах Tx/Rx.

читал апноут по поставляемой st библиотеке - добился того что девайс заработал, дескрипторы читаюются, могу записать блок с писи в девайс, немогу считать, непойму как инициировать передачу блока данных с девайса sad.gif . Далее как указал выше хочу все в две задачи прикрутить.
использую на писи библиотеку порт libusb
научите как это сделать. примеров в либе как это сделать для custom dev BULK нету sad.gif

нy еще вопрос, из этой платы задумал сделать САУ для авиамодели - подсоеденить через уарт Zigbee модемчик для обмена, 12 каналов таймеров использовать для ШИМ на 6 электродвигатели приводов, 6 каналов ацп на обратную связь по положению привода, посередине PID фильтр, 6 какнала ацп на 3 акселерометра и 3 гироскопа. хочу упоковать с использованием FreeRTOS - архитектурно удобно. как думаете во что уперется можно?
klen
Цитата(ababkin @ Feb 16 2009, 22:59) *
u menia VCOM primer rabotaet na stm32h103 pod Ubuntu. Sozdaet /dev/ttyACM0 descriptor kotorii ya pol'zuyu cherez minicom
tak chto mozhete posmotret' v kod sootvetstvuyuschego draivera. VCOM pol'zuet BULK transfer

Alex


спасибо, я буду разбиратся. мне хочется BULK для castom девайса. наличие класса уже предпологает протокол обмена и ограничения, я же все по сырому сделать хочу. Тем немение в примере должно быть место кода где инициируется пеердача данных с девайса а в USB модуль - это то что я пока неосилил.
ig_z
Цитата(klen @ Feb 16 2009, 09:25) *
положению привода, посередине PID фильтр, 6 какнала ацп на 3 акселерометра и 3 гироскопа. хочу упоковать с использованием FreeRTOS - архитектурно удобно. как думаете во что уперется можно?


Не в тему, а гироскопы в авиамодельках вроде бы представляют собой керамические пластины с интеграторами. Если будут стоять акселерометры то зачем гироскопы? Кроме того, если я правильно понимаю, стабилизировать нужно очень быстрые возмущения, а траекторией полета должен рулить все таки пилот.

И еще мне кажется, что акселерометров д.б. 3*2=6 штук включенных по диференциальной схеме для стабилизации вращательных возмущений.

А где есть форумы по конструированию систем управления/стабилизации авиамоделей? Интересно было бы на досуге почитать.
klen
Цитата(ig_z @ Feb 17 2009, 23:39) *
Не в тему, а гироскопы в авиамодельках вроде бы представляют собой керамические пластины с интеграторами. Если будут стоять акселерометры то зачем гироскопы? Кроме того, если я правильно понимаю, стабилизировать нужно очень быстрые возмущения, а траекторией полета должен рулить все таки пилот.

И еще мне кажется, что акселерометров д.б. 3*2=6 штук включенных по диференциальной схеме для стабилизации вращательных возмущений.

А где есть форумы по конструированию систем управления/стабилизации авиамоделей? Интересно было бы на досуге почитать.

вся это бойда нужна чтоб стабилизировать модель и управлять ею по перегрузкам.

гироскопы нужны чтоб воспользоватся акселерометрами - они мерят проекцию суммы вектора инерционного ускорения и вектора G на оси чуствительности , чтоб отделить собсна сами перегрузки от ветктор G, с помощью гироскопов определяется направление G в системе координат связанной с измерительной платформой.

кстате гироскопы тоже еще то гавно - дрейф до нескольких градусов в минуту, поэтому их нада постоянно корректировать - этот момент самое интересное !!!

по диф схеме нужно не 6 а 4 гироскопа - получится по два в двух осях , в третей будет 4. Это конечно будет работать для измерения угловых скоростей, а перегрузки как мерить? всеравно нужны гироскопы. Или нада отказатся от автоматического управления и оставить только прастранственную стабилизацию.

по моделям книг таких нет, есть по САУ самолетов и ракет smile.gif
ig_z
Цитата(klen @ Feb 18 2009, 09:04) *
по диф схеме нужно не 6 а 4 гироскопа - получится по два в двух осях , в третей будет 4. Это конечно будет работать для измерения угловых скоростей, а перегрузки как мерить? всеравно нужны гироскопы. Или нада отказатся от автоматического управления и оставить только прастранственную стабилизацию.

Собственно я это и хотел уяснить. С моей точки зрения проще(возможно правильнее) было бы на акселерометрах сделать пространственную стабилизацию, а курсом управлять с помощью пилота, либо по GPS. Этим двоим достаточно будет оценивать положение в пространстве и направление скорости полета. Замкнув обратную связь получим автопилот с человеком внутри или без онного.
klen
тема закрыта.

поднял USB на за запись и чтение через BULK и CONTROL точки.
_3m
Цитата(klen @ Feb 22 2009, 17:30) *
тема закрыта.
поднял USB на за запись и чтение через BULK и CONTROL точки.

Как вы добились работы bulk передачи ?
У меня задача аналогичная вашей: работать через libusb запросами bulk in и bulk out (дальше будет свой драйвер под линукс).
На основе On-The-Go host and device library реализую vendor specific class.
Сейчас проходит енумерацию, работает bulk out. Bulk in не работает.
Bulk in делаю по аналогии с cdc из библиотеки.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.