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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> STM32 USB Device example, не могу запустить
controller_m30
сообщение Sep 3 2013, 14:31
Сообщение #16


Местный
***

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



Цитата(ADA007 @ Sep 1 2013, 15:47) *
Аппаратная платформа своя...собственно сам контроллер подключенный к usb и стабилизатор питания, больше ничего нет.
А кварц на 8 Мгц есть? С конденсаторами 27 pf и резистором 1М, как в схеме на Olimex-овскую борду. В примере-то наверняка настройки PLL приведены для кварца из отладочной платы. А если кварц другой - то дела не будет.
Цитата(ADA007 @ Sep 3 2013, 15:15) *
Попутно еще вопрос...сопротивление на DP 1,5к сигнализирует о том, что устройство готово принимать данные от хоста. Похоже, что у меня устройство не готово принимать данные? или как?
Не. Резистор только сигнализирует о наличии устройства на шине USB. А готовность/неготовность к приёму данных устройство сообщает по шине (пакетами ACK или NACK).
Обнаружив резистор на шине, Хост выдаёт состояние RESET, потом состояние SUSPEND, потом снова RESET, и только после этого присылает первый SETUP-дескриптор. Если Хост не получит подтверждения приёма дескриптора (пакет ACK) - то повторит RESET и SETUP-пакет ещё два раза и отключится от шины несмотря на резистор. Чтоб снова активизировать Хост - нужно резистор отключить и снова подключить (типа вынули флешку и снова вставили).

В некоторых USB-девайсах резистор 1,5к наглухо впаян между 3,3в и DP, но это требует от устройства быть готовым к запросам Хоста немедленно сразу-же после установки в разъём.
Отключаемый резистор позволяет контроллеру: не спеша настроить внутренние регистры, подождать пока стабилизируется PLL, и только по готовности включить резистор и ждать от Хоста команд.

Просто Хост обнаружив резистор, делает только три попытки связаться с девайсом, и если девайс не успел ответить - Хост отключается от шины.
Go to the top of the page
 
+Quote Post
ADA007
сообщение Sep 3 2013, 15:07
Сообщение #17


Местный
***

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



Цитата(controller_m30 @ Sep 3 2013, 17:31) *
А кварц на 8 Мгц есть? С конденсаторами 27 pf и резистором 1М, как в схеме на Olimex-овскую борду...

Да....кварц именно 8 MHz,а вот обвязки не было... (вот это я совсем уже 01.gif). Повесил 1М и 2х20пФ - все стало работать,как часы. До этого, когда девайсы на AVR-ках лепил на скорую руку и так катило 16МГц ставил просто на пины и работало... Спасибо за помощь, всем участникам!
Кстати, уже не первый раз встречаю схемное решение с 1М между ногами кварца, но ни как не могу понять тайного смысла этого резюка.Может кто объяснит? С кондерами-то все понятно, но 1М зачем? sad.gif
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 3 2013, 16:17
Сообщение #18


Гуру
******

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



Цитата(ADA007 @ Sep 3 2013, 18:07) *
С кондерами-то все понятно, но 1М зачем? sad.gif

http://www.nxp.com/documents/data_sheet/74LVC1GX04.pdf
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Sep 5 2013, 17:24
Сообщение #19


Местный
***

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



Цитата(ADA007 @ Sep 3 2013, 18:07) *
Повесил 1М и 2х20пФ - все стало работать,как часы. До этого, когда девайсы на AVR-ках лепил на скорую руку и так катило 16МГц ставил просто на пины и работало...
Оно может и в данном случае работать без обвязки, но тогда настройки PLL пришлось бы подобрать индивидуально, под уникальные параметры такой схемы включения кварца.
А раз настройки PLL берутся в готовом виде - то и обвязку кварца (и сам кварц), лучше всего повторить один-к-одному с проектом-исходником.
А также и напряжение питания процессора - именно 3.3v, а не, допустим, 3.0v или 2.8v.
Go to the top of the page
 
+Quote Post
smk
сообщение Sep 7 2013, 06:41
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Дисконнект нормальный. У меня работает, только 100к вместо 36к. Вы его принудительно включите или проверьте в программе какой точно пин используется.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Sep 9 2013, 15:25
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Цитата(ADA007 @ Sep 3 2013, 15:15) *
Попутно еще вопрос...сопротивление на DP 1,5к сигнализирует о том, что устройство готово принимать данные от хоста.


В хосте DP и DМ притянуты к земле резисторами 15К.
Присоединение к DP/DМ резистора 1,5К говорит о том, что на шине появилось устройство FULL/LOW Speed готовое работать.

При отладке, нужно в начале отсоединить резистор, сделать паузу порядка секунды па потом присоединятся.
Go to the top of the page
 
+Quote Post
A.Lex
сообщение Sep 19 2013, 07:43
Сообщение #22


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 27-12-11
Пользователь №: 69 107



Чтобы не плодить тем: контроллер STM32F207, пытаюсь запустить USB FS (сигналы DM, DP, VBUS), VCP. USB инициализацию типа проходит, но USART1 не инициализирован, на DP и DM 4,5В. Попытка найти причину привела к открытию, что файл инициализации СОМ-порта usbd_cdc_vcp.c в проекте есть, но нигде нет ссылок на его функции. В доке CD00289278.pdf на библиотеку STM32_USB-Host-Device_Lib_V2.1.0, вообще описаны usbd_cdc_xxx_if (.c, .h): (i.e. usbd_cdc_vcp_if (.c, .h)) которых нет.


Если есть рабочий проект или опыт, пните меня в нужном направлении.

Сообщение отредактировал A.Lex - Sep 19 2013, 07:54
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 19 2013, 09:32
Сообщение #23


Гуру
******

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



Цитата(A.Lex @ Sep 19 2013, 10:43) *
Если есть рабочий проект или опыт, пните меня в нужном направлении.

Лично использовал проект Mass-Storage для этого МК, взятый с сайта ST. Все работает. Только прошлось подправить GPIO, ибо их проект был рассчитан на МК в корпусе "X", а у меня был МК в корпусе "Y".

Вообще, подозревать выкладываемые на сайтах разработчиков примеры в неработоспособности надо в самую последнюю очередь. Если с готовым проектом что-то не так, то почти наверняка дело не в проекте, а в том, что вы упустили из виду какую-то мелкую особенность ...
Go to the top of the page
 
+Quote Post
A.Lex
сообщение Sep 19 2013, 10:58
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 27-12-11
Пользователь №: 69 107



Спасибо, буду копать дальше.
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Sep 19 2013, 11:48
Сообщение #25


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(A.Lex @ Sep 19 2013, 03:43) *
Чтобы не плодить тем: контроллер STM32F207, пытаюсь запустить USB FS (сигналы DM, DP, VBUS), VCP. USB инициализацию типа проходит, но USART1 не инициализирован, на DP и DM 4,5В. Попытка найти причину привела к открытию, что файл инициализации СОМ-порта usbd_cdc_vcp.c в проекте есть, но нигде нет ссылок на его функции. В доке CD00289278.pdf на библиотеку STM32_USB-Host-Device_Lib_V2.1.0, вообще описаны usbd_cdc_xxx_if (.c, .h): (i.e. usbd_cdc_vcp_if (.c, .h)) которых нет.


Если есть рабочий проект или опыт, пните меня в нужном направлении.

Есть там ссылки. Непрямые. Там несколько структур с каллбэками, заполняются в USB_Init() в app.c в примере.

Как раз сейчас его усиленно копаю.


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
A.Lex
сообщение Sep 19 2013, 13:53
Сообщение #26


Частый гость
**

Группа: Участник
Сообщений: 138
Регистрация: 27-12-11
Пользователь №: 69 107



Спасибо.

Примеры и документация кривые.... или это я тупой?


Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 19 2013, 15:10
Сообщение #27


Гуру
******

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



Цитата(A.Lex @ Sep 19 2013, 16:53) *
Примеры и документация кривые.... или это я тупой?

Документация - барахло. А примеры просто заумно-сложные, как впрочем и сам USB - движок на STM. Ну и сам стиль программирования мне не понравился ...
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Sep 19 2013, 15:50
Сообщение #28


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(kovigor @ Sep 19 2013, 11:10) *
Документация - барахло. А примеры просто заумно-сложные, как впрочем и сам USB - движок на STM. Ну и сам стиль программирования мне не понравился ...


А у кого простой движок?


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 19 2013, 16:00
Сообщение #29


Гуру
******

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



Цитата(A. Fig Lee @ Sep 19 2013, 18:50) *
А у кого простой движок?

Проще чем у AT89C5131 я еще нигде не видел.
Очень понравилось семейство LPC214x, а также АТМЕЛовские ARM7 и ARM9 с USB. Кроме того, и LPC и ATMEL предоставляют гораздо более и простые и понятные, чем у ST, примеры ...
Go to the top of the page
 
+Quote Post
agate
сообщение Sep 24 2013, 20:11
Сообщение #30


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 19-06-10
Пользователь №: 58 021



Я запускал USB na stm32f103 за основу взят Кеил HIDUSB примеp. Для дебага я использовал Линух хост и hidtool утилиту из V-USB проэкта. Я переделал утилиту под свои задачи. Все работает.
Go to the top of the page
 
+Quote Post

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

 


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


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