реклама на сайте
подробности

 
 
> STM32F107 USB OTG в режиме Peripherial Device, Как правильно подключить VBUS
EugenyAM
сообщение Oct 3 2012, 03:57
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 14-10-08
Из: Omsk
Пользователь №: 40 929



Устройство на STM32F107 с собственным источником питания.
Для диагностики используется USB интерфейс в режиме Peripherial Device only (виртуальный COM)
Подключение к хосту непостоянное: пришли - подключились - выполнили действия - отключились.
Контроллер USB OTG использует VBUS для определения момента подключения к хосту.
Если просто соединить +5V с USB и ногу VBUS - при отключенном БП можно получить фантом.
Каким образом правильно завести VBUS с USB?
Может кто знает про аппноту по этому вопросу?

Обмен сделан на базе примера Virtual COM Port от ST, нижний уровень работы с USB не трогался.
Бывает, что устройство при длительном подключении самопроизвольно уходит в SUSPEND.
(ранее замечал подобное за STM32F103, там вопрос решился примением кабеля с ферритовым фильтром).
Сейчас программно отслеживается ситуация:
(Кабель_подключен && bDeviceState==SUSPENDED) и выполняется USB_Cable_Config(DISABLE), затем USB_Cable_Config(ENABLE).
В принципе помогает, но процедура коннекта активно вызывает прерывания и на это время отваливается прием данных по UART
(нарушаются таймауты приема очередного байта).
Как корректно перевести USB в рабочее состояние?

Сообщение отредактировал EugenyAM - Oct 3 2012, 03:58
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 14:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01344 секунд с 7
ELECTRONIX ©2004-2016