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 смайлов.

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

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

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

Загрузка...

  • Сообщения

    • Здравствуйте. В повышающем преобразователе Вальдемар главной сложностью является правильная намотка трансформатора. И на разных сайтах по разному написано. Подскажите пожалуйста, какие бы порекомендовали намоточные параметры для трансформатора от компьютерного бп (обычный, квадратный, стоячий трансформатор высотой в в 3-4 см)?
    • А это как? - спросить извиняюсь. Вставить лейку в ухо за тысячи километров что ли, или подсказать, где там, рядом с Вами, можно приобрести упаковку А-церумена? Избавьте, сударь, от этого - поскольку я всякой батвой, обостряющей чутьё не увлекаюсь, просто предлагаю Вам обзавестись для проведения натурных испытаний изделием, именуемым, как "Одиссей-У-010 стерео Hi-Fi" и самому проверить с каким ВК он более стабилен в работе, при этом обладая более качественным звуком - с кривыми до безобразия шиклаями, или же с классической тройкой, сделанной хотя бы из тех же транзисторов. Я это проделывал десятки раз, и могу утверждать - звук "нативного" Одиссея-У-010, имеющего дикий хвост нечётных гармоник в спектре, может нравится только тем, кому медведь от рождения на ухо наступил.
    •  Мэйд ин Чайна написано. Но там сейчас у всех заводы.
      Про 53 - партия, Р - грейд по Н21 эмиттера в курсе. Покороче писал - у всех изначально была 53 партия (кроме одного затесавшегося 52-й партии). А по Н21 все тоже одинаковые. 52(затесавшийся родной), 71, 53, 53, далее тоже заменённый 71-й. 53, 72, 53, 53, далее заменённый 08-й. Ещё дополнительная  плата на 2 канала есть, но там уже 52-53.
    • Но даже на импорте искажения довольно велики.
    • Люмень, медь, главное не ферромагнетик. Так что Не совсем то, но "Работать то будет!" (с) 
    • @Гость Kirill   На стр. 29 данной темы форума я уже описывал процедуру компиляции файлов программы применительно к версии AVR Studio 4.18. Повторяю это описание. Компиляцию файлов программы выполняем в следующей последовательности: 1. Создаём отдельную папку, куда копируем все ассемблерные файлы программы. Название папки не должно содержать кириллицы. Итак, в папке лежат файлы: HD44780_driver.asm
      I2C_hard_driver.asm
      User_set.asm
      WH1602_ATMega8_enc.asm
      m8def.inc 2. Запускаем AVR Studio 4.18,  открываем новый проект, в окошко с названием проекта вводим WH1602_ATMega8_enc, ставим птичку в чекбоксе "Create initial file" . Указываем путь к нашей папке  и жмём кнопку "Next". Попадаем в следующее окно, где выбираем платформу AVR Simulator и контроллер ATMega8, после чего нажимаем кнопку "Finish" и попадаем в открытый проект. 3. Подаём команду "Build" и компиляция готова, в указанной Вами папке будет вновь созданный HEX-файл.
    • Добрый день.
      Почитайте тут решение Вашего вопроса
      https://boilervdom.ru/kotly/kody-oshibok/kody-oshibok-gazovyx-kotlov-master-gaz-chto-delat-dlya-ustraneniya-neispravnosti.html#a5 Замкнуть контакты можно, только для проверки