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

 
 
> usb stm32f401
juvf
сообщение Apr 2 2016, 15:28
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Что то не получается USB FS поднять. Как работает USB?
1) Подключается к компу кабелем USB Device
2)устройство на шине создает эффект присутствия.
3)Комп(хост) видит что на усб кто-то появился на начинает процедуру енумерации
4)в девайсе срабатывае прерывание УСБ. Сначало сработает такое прерыванеи, на него девайс должен ответить то и то
5)потом комп сделает то и то
6).... и т.д....

У меня комп видит девайс.... в уарт выводится отладочная информация
Код
USB Device Library v1.1.0 [FS]..
DCD_HandleUsbReset_ISR..
DCD_HandleEnumDone_ISR..
USB Device Library v1.1.0 [FS]..
DCD_HandleUsbReset_ISR..
DCD_HandleEnumDone_ISR..
USB Device Library v1.1.0 [FS]..
DCD_HandleUsbReset_ISR..
DCD_HandleEnumDone_ISR..
USB Device Library v1.1.0 [FS]..
DCD_HandleUsbReset_ISR..
DCD_HandleEnumDone_ISR..
DCD_HandleUSBSuspend_ISR..
> USB Device in Suspend Mode....


и комп не может выичитать пид и вид. USB постоянно ресетиться. почему? Плата дискавери на 401-ом. Демопроект работает, а свой не могу поднять.

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Fedor
сообщение Apr 2 2016, 19:59
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125



Как работает usb можно почитать на usb.org
как вариант, вывод отладочной информации в уарт в процессе инициализации usb мешает работе usb?
Go to the top of the page
 
+Quote Post
juvf
сообщение Apr 4 2016, 12:59
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045



Цитата(Fedor @ Apr 3 2016, 00:59) *
вывод отладочной информации в уарт в процессе инициализации usb мешает работе usb?
не должен. в прерывании в очередь отправляется указатель на сообщение, в фоновой задаче идет вывод сообщений в уарт
Цитата
Как работает usb можно почитать на usb.org
ну это все равно что "Почитай в инете"

На скрине вывод отладочной информации.....
1)>USB Device Connected... - устройство подключено
2)DCD_SessionRequest_ISR - попал в обработчик прерывания усб по флагу OTG_FS_GINTSTS.SRQINT. Вызывается из библиотеки DCD_SessionRequest_ISR()
3) DCD_HandleUsbReset_ISR - попал в обработчик прерывания усб по флагу OTG_FS_GINTSTS.USBRST
4) DCD_HandleEnumDone_ISR - попал в обработчик прерывания усб по флагу OTG_FS_GINTSTS.ENUMDNE
здесь вызвается обработчик этого прерывания в котором вызывается USB_OTG_EP0Activate(). USB_OTG_EP0Activate() возвращяет USB_OTG_OK. Вроде всё нормально...

ВНЕЗАПНО!!!
5)DCD_HandleUsbReset_ISR - опять попал в обработчик прерывания усб по флагу OTG_FS_GINTSTS.USBRST
в даташите на этот бит "The core sets this bit to indicate that a reset is detected on the USB." Почему ядро ресетится? Ему хост присылает команду отресетиться? Или у ядра какой вачдок срабатывает? Не могу понять.... Ну и далее всё по кругу.... емумдан-ресет-енумдан-ресет..... и в конце USB in SuspendMode!!!

Кто нибудь разбирался на низком уровне с USB? Почему так происходит?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
romas2010
сообщение Apr 4 2016, 18:07
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 63
Регистрация: 25-11-11
Пользователь №: 68 515



Цитата(juvf @ Apr 4 2016, 15:59) *
Кто нибудь разбирался на низком уровне с USB? Почему так происходит?


Поизучайте код,встаньте на отладку на то место,где происходит прием control ep0 в фазе setup,и далее идите пошагово и анализируйте ,что и сколько байт вы передаете хосту,и то ли вы передаете согласно спецификации USB
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- juvf   usb stm32f401   Apr 2 2016, 15:28
- - ViKo   Лучшая книга для изучения USB - Михаил Гук. Шины P...   Apr 3 2016, 06:05
- - esaulenka   Reset - это команда со стороны хоста. Виндовс при ...   Apr 4 2016, 19:14
|- - ig_z   QUOTE (esaulenka @ Apr 4 2016, 22:14) Вин...   Apr 5 2016, 11:11
- - www...   Компилятор Keil? Начальный код кубе генерили? Если...   Apr 5 2016, 04:32
|- - juvf   Цитата(www... @ Apr 5 2016, 09:32) Компил...   Apr 5 2016, 10:21
|- - jcxz   Цитата(juvf @ Apr 5 2016, 16:21) А как он...   Apr 5 2016, 10:34
|- - juvf   Цитата(jcxz @ Apr 5 2016, 15:34) Сделать ...   Apr 5 2016, 10:44
|- - jcxz   Даже аппаратный USB-контроллер сам никакие фреймы ...   Apr 5 2016, 10:55
|- - juvf   Цитата(jcxz @ Apr 5 2016, 15:55) Лог долж...   Apr 5 2016, 12:15
|- - jcxz   Цитата(juvf @ Apr 5 2016, 18:15) Где-то б...   Apr 5 2016, 15:01
- - juvf   где можно взять рабочий пример usb device cdc для ...   Apr 6 2016, 12:44
- - juvf   Разобрался я с усб.... ЦитатаОказалось, что генер...   Apr 7 2016, 06:39


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

 


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


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