verlaty

STM32 и подключение датчика USB

11 сообщений в этой теме

verlaty    0

Добрый день. Есть проект на STM32F3 (использую библиотеку HAL). Для настройки и управления устройством в нем реализован USB порт CDC (Communication Device Class). Возникла необходимость подключения Дальномера к устройству. Дальномер выдает данные по UART. И в принципе нет проблем считывать данные по этому каналу, но для этого надо выводить дополнительный разъем и это не нравится. Появилось желание использовать USB. Предполагаю использовать в Дальномере UART-USB преобразователь (что то типа FTDI) и подключать его к USB порту STM.
Вопрос: Как реализовать опрос датчика подключенного к USB порту контроллера.
Если кто то сталкивался с похожим вопросом направьте на путь истинный. Спасибо.

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


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

Найдите миллионы труднодоступных

электронных компонентов

Yurkin2015    317

Устройство постоянно подключено к компьютеру по USB?

А как физически будет подключаться дальномер к устройству? Через второй USB разъём? Или через USB хаб?

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

Ежели комп отключается от устройства, и в освободившийся USB разъём втыкается дальномер, то на устройстве запускается программа USB-host, и тогда уже сам проц STM32 инициализирует USB соединение и запускает чтение данных с дальномера. Останется только сообщить устройству, то оно уже больше не USB-slave, а как раз хост. Например, использовать для этого OTG разъём, где пятый пин будет замыкаться на землю при подключении дальномера, тем самым сообщая процу о необхожимости переключения.

Я бы не стал заморачиваться со всем эитм и просто бы запользовал UART.

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


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

Устройство мобильное. К компьютеру будет подключаться только для настройки, обновления ПО.  Есть необходимость подключения к нему различных периферийных устройств, одно из них дальномер. Чтение по UART самое простое, но все таки хочется прощупать возможность подключения через USB (это расширит возможность использования). Как правильно отметил " BARS_ OTG в этом МК нет. Теоретически можно любой пин подключить к пятому пину USB для инициализации подключения. Если вы знакомы с реализацией этого через программу USB-host - ткните носом где это можно почитать.  

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


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 415
4 часа назад, verlaty сказал:

Дальномер выдает данные по UART

что именно не устраивает в подключении напрямую по этому порту, кроме разъема? Гораздо проще и надежнее все будет

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


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

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

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

Другой режим когда это устройство используется локально (есть такое устройство, как стедикам - это носимое устройство  на которое крепится камера и стабилизирует положение камеры). В этом случае планируется подключать к приемнику маленький пульт управления (типа джойстика) который будет крепится на стедикаме.

Так же есть необходимость подключения кабеля управления затвором фотокамеры (делать снимок). 

В итоге получилось маленькое устройство (4 х 8 см) полностью облепленное разъемами (подключение питания, 3 разъема моторов, USB разъем, разъем затвора, антенна). Теперь еще надо подключить дальномер и проводной пульт управления.

Вот поэтому возникло желание использовать USB разъем для подключения периферийных устройств. В конце концов именно для этого создавался USB интерфейс.

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


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

Я бы упростил систему: USB убрать, вместо него поставить разъём UART. Всё остальное попеременно будет подключаться по UART: и джойстик, и дальномер, и компьютер через переходник USB-UART на славном чипе от FTDI.

Можно запользовать существующий разъём, 4 контакта: GND, Tx, Rx, +5В для питания джойстика или дальномера. Слушаем Rx и по первому принятому символу определяем, что в данный момент подключено.

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

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


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

Вот вспомнил еще один момент. Первоначальную прошивку делаю через DFU (загружаю свой bootloader, ну и можно начальную прошивку влить) потом уже через свою программку (своеобразная GUI ) заливаю, обновляю и настраиваю устройство.Так что пока что не готов окончательно отказаться от USB.

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


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

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

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

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

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

Загрузка...