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

 
 
> STM32 USB Device example, не могу запустить
ADA007
сообщение Sep 1 2013, 12:47
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



[indent][/indent]Приветствую всех!
Разбираюсь с аппаратным USB на stm32f103vct6. Не получается запустить пример проекта работы с usb wacko.gif.

Аппаратная платформа своя...собственно сам контроллер подключенный к usb и стабилизатор питания, больше ничего нет.
Софт брал отсуда ТЫЦ (USB-Mass_Storage-MCU Flash). Просматривая код, я понял что это просто обрезанная версия Mass_Storage из STM32_USB-FS-Device_Lib_V3.3.0. Я так понимаю я должен был на выходе получить стандартное устройсво mass storage с объмом памяти flash контроллера?

Переконфигурировал пины под себя - залил...и застрял на строке main.c => while (bDeviceState != CONFIGURED);
Далее просматривая код, я нашел всего 2-е функции, где этой переменной присваивается значение CONFIGURED. И по-моему я ни в одну из них не попадаю по ходу работы...

Подскажите, кто как боролся в стандартной библиотеке с данным примером? У всех работало сходу? sad.gif

ЗЫ: Управление usb_disconnect пином организовано так (в отличие от схемы, приведенной в архиве китайского автора для fure bull) из-за разных схем - пробовал управлять disconnect-ом в инверсии - результат тот же. Свой проект прилагаю.

Прикрепленные файлы
Прикрепленный файл  USB_MS.tar.gz ( 5.37 мегабайт ) Кол-во скачиваний: 16
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kovigor
сообщение Sep 1 2013, 16:55
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(ADA007 @ Sep 1 2013, 15:47) *
Свой проект прилагаю.

Схема дисконнекта у вас странная, очень. Q4 включен как эмиттерный повторитель, но база у него положительнее, чем коллектор, а с эмиттера вы пытаетесь снять сигнал, по уровню превышающий имеющиеся на коллекторе 3.3В. Зачем так делать ? Подключите коллектор Q4 не к 3.3В, а к пяти, идущим от USB - хоста, т.е., к линии USB_Power.
P.S. Пример от STM должен работать, по идее. Не вы первый его используете. Я запускал их пример на STM32F207, подправив ножки в соответствии с тем, что пример был рассчитан на корпус "X", а у меня был МК в корпусе "Y". В итоге все заработало. Минимальную работоспособность выложенного на сайте ST проекта, думаю, можно гарантировать ...
Go to the top of the page
 
+Quote Post
ADA007
сообщение Sep 1 2013, 17:34
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(kovigor @ Sep 1 2013, 19:55) *
Схема дисконнекта у вас странная, очень...

Я её тоже не сам придумывал - содрал с оф. платы olimex .
И на easyelectronix.ru тоже ее в пример приводили.
С прогой буду дальше мучатся...жду ваших советов, куда копать?
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 1 2013, 18:09
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(ADA007 @ Sep 1 2013, 20:34) *
С прогой буду дальше мучатся...жду ваших советов, куда копать?

D+ и D- не перепутаны ?
Go to the top of the page
 
+Quote Post
ADA007
сообщение Sep 1 2013, 18:46
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(kovigor @ Sep 1 2013, 21:09) *
D+ и D- не перепутаны ?

Тоже по началу так думал....но нет...несколько раз проверил, DM - 70 pin, DP - 71 pin + подтяжка 1,5к через схему disconnect.
И все-таки не могу понять когда переменной bDeviceState должно быть присвоено значение CONFIGURED?
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 1 2013, 19:02
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(ADA007 @ Sep 1 2013, 21:46) *
И все-таки не могу понять когда переменной bDeviceState должно быть присвоено значение CONFIGURED?

Я в этих примерах разбирался давно, деталей не помню. К тому же, USB в STM сложный, как космический корабль.
Вы не с того конца к проблеме подошли. Configured, надо полагать, присваивается тогда, когда устройству назначена конфигурация (хостом). А для этого оно должно чуть ли не полностью пройти энумерацию. Поставьте BusHound и посмотрите, чем ваше устройство обменивается с хостом на этапе энумерации, и обменивается ли вообще. Запустите USBView и посмотрите, есть ли ваше устройство в системе и как именно оно там распознано ...
Go to the top of the page
 
+Quote Post
ADA007
сообщение Sep 2 2013, 14:38
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266



Цитата(kovigor @ Sep 1 2013, 22:02) *
Поставьте BusHound и посмотрите...

Поставил, посмотрел - при подключении устройства windows пишет, что найдено неизвестное устройство, в bushound - ни одного события по данному устройству не было. Что-то меня дернуло коротнуть линию DP на gnd несколько раз - имитируя подключение устройства - и в системе определилось mass storage, в budhound - появились события.
Подумал, что дело в схеме disconnect. Переделал как у китайского автора на одном pnp транзисторе = результат тот же...устройство тупо висит на линии и никакой активности, определяется как неизвестное. Попробовал тупо 1,5к которое на DP висит на vcc посадить - эффект тот же.

На сколько я помню устройство должно подключиться к usb и подтяжкой 1,5к система определяет, что появилось новое устройство и посылает ему reset. После этого устройство должно снять подтяжку 1,5к с DP и потом снова подключить. Далее начинается инициализация...

Не пойму.Почему я делаю disconnect вручную - все работает, а программно disconnect не работает ? ЧЯДНТ?
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Sep 2 2013, 15:57
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



Цитата(ADA007 @ Sep 2 2013, 17:38) *
На сколько я помню устройство должно подключиться к usb и подтяжкой 1,5к система определяет, что появилось новое устройство и посылает ему reset. После этого устройство должно снять подтяжку 1,5к с DP и потом снова подключить. Далее начинается инициализация...
Не пойму.Почему я делаю disconnect вручную - все работает, а программно disconnect не работает ? ЧЯДНТ?

Не должно устройство отсоединять резистор 1,5к. Отсоединение резистора равнозначно извлечению устройства из разъёма USB (кстати можете пользоваться программным отключением резистора для имитации физического переподключения).
Обмен с хостом происходит при подключенном резисторе.

А состояние RESET лишь сигнализирует устройству, что оно должно сбросить все свои программные переменные, и некоторые регистры USB-модуля в начальное положение. Но не отключать резистор.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ADA007   STM32 USB Device example   Sep 1 2013, 12:47
- - Flexz   ЦитатаПодключите коллектор Q4 не к 3.3В, а к пяти,...   Sep 1 2013, 18:24
|- - kovigor   Цитата(Flexz @ Sep 1 2013, 21:24) А так м...   Sep 1 2013, 18:26
- - Alex11   Проверьте, все-таки, работает ли у Вас подключение...   Sep 2 2013, 19:25
|- - ADA007   Цитата(Alex11 @ Sep 2 2013, 22:25) Провер...   Sep 3 2013, 12:15
|- - kovigor   Цитата(ADA007 @ Sep 3 2013, 15:15) Помоги...   Sep 3 2013, 12:29
||- - ADA007   Цитата(kovigor @ Sep 3 2013, 15:29) Повто...   Sep 3 2013, 12:57
||- - kovigor   Цитата(ADA007 @ Sep 3 2013, 15:57) может ...   Sep 3 2013, 13:05
|- - misyachniy   Цитата(ADA007 @ Sep 3 2013, 15:15) Попутн...   Sep 9 2013, 15:25
|- - A.Lex   Чтобы не плодить тем: контроллер STM32F207, пытаюс...   Sep 19 2013, 07:43
|- - kovigor   Цитата(A.Lex @ Sep 19 2013, 10:43) Если е...   Sep 19 2013, 09:32
||- - A.Lex   Спасибо, буду копать дальше.   Sep 19 2013, 10:58
|- - A. Fig Lee   Цитата(A.Lex @ Sep 19 2013, 03:43) Чтобы ...   Sep 19 2013, 11:48
|- - A.Lex   Спасибо. Примеры и документация кривые.... или эт...   Sep 19 2013, 13:53
|- - kovigor   Цитата(A.Lex @ Sep 19 2013, 16:53) Пример...   Sep 19 2013, 15:10
||- - A. Fig Lee   Цитата(kovigor @ Sep 19 2013, 11:10) Доку...   Sep 19 2013, 15:50
||- - kovigor   Цитата(A. Fig Lee @ Sep 19 2013, 18:50) А...   Sep 19 2013, 16:00
|- - agate   Я запускал USB na stm32f103 за основу взят Кеил HI...   Sep 24 2013, 20:11
|- - A.Lex   Спасибо всем за помощь! Сегодня принял волево...   Oct 30 2013, 05:23
- - controller_m30   Цитата(ADA007 @ Sep 1 2013, 15:47) Аппара...   Sep 3 2013, 14:31
|- - ADA007   Цитата(controller_m30 @ Sep 3 2013, 17:31...   Sep 3 2013, 15:07
|- - kovigor   Цитата(ADA007 @ Sep 3 2013, 18:07) С конд...   Sep 3 2013, 16:17
|- - controller_m30   Цитата(ADA007 @ Sep 3 2013, 18:07) Повеси...   Sep 5 2013, 17:24
- - smk   Дисконнект нормальный. У меня работает, только 100...   Sep 7 2013, 06:41


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

 


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


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