controller_m30 1 3 сентября, 2013 Опубликовано 3 сентября, 2013 · Жалоба Аппаратная платформа своя...собственно сам контроллер подключенный к usb и стабилизатор питания, больше ничего нет.А кварц на 8 Мгц есть? С конденсаторами 27 pf и резистором 1М, как в схеме на Olimex-овскую борду. В примере-то наверняка настройки PLL приведены для кварца из отладочной платы. А если кварц другой - то дела не будет.Попутно еще вопрос...сопротивление на DP 1,5к сигнализирует о том, что устройство готово принимать данные от хоста. Похоже, что у меня устройство не готово принимать данные? или как?Не. Резистор только сигнализирует о наличии устройства на шине USB. А готовность/неготовность к приёму данных устройство сообщает по шине (пакетами ACK или NACK). Обнаружив резистор на шине, Хост выдаёт состояние RESET, потом состояние SUSPEND, потом снова RESET, и только после этого присылает первый SETUP-дескриптор. Если Хост не получит подтверждения приёма дескриптора (пакет ACK) - то повторит RESET и SETUP-пакет ещё два раза и отключится от шины несмотря на резистор. Чтоб снова активизировать Хост - нужно резистор отключить и снова подключить (типа вынули флешку и снова вставили). В некоторых USB-девайсах резистор 1,5к наглухо впаян между 3,3в и DP, но это требует от устройства быть готовым к запросам Хоста немедленно сразу-же после установки в разъём. Отключаемый резистор позволяет контроллеру: не спеша настроить внутренние регистры, подождать пока стабилизируется PLL, и только по готовности включить резистор и ждать от Хоста команд. Просто Хост обнаружив резистор, делает только три попытки связаться с девайсом, и если девайс не успел ответить - Хост отключается от шины. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ADA007 0 3 сентября, 2013 Опубликовано 3 сентября, 2013 · Жалоба А кварц на 8 Мгц есть? С конденсаторами 27 pf и резистором 1М, как в схеме на Olimex-овскую борду... Да....кварц именно 8 MHz,а вот обвязки не было... (вот это я совсем уже :01:). Повесил 1М и 2х20пФ - все стало работать,как часы. До этого, когда девайсы на AVR-ках лепил на скорую руку и так катило 16МГц ставил просто на пины и работало... Спасибо за помощь, всем участникам! Кстати, уже не первый раз встречаю схемное решение с 1М между ногами кварца, но ни как не могу понять тайного смысла этого резюка.Может кто объяснит? С кондерами-то все понятно, но 1М зачем? :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 3 сентября, 2013 Опубликовано 3 сентября, 2013 · Жалоба С кондерами-то все понятно, но 1М зачем? :( http://www.nxp.com/documents/data_sheet/74LVC1GX04.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
controller_m30 1 5 сентября, 2013 Опубликовано 5 сентября, 2013 · Жалоба Повесил 1М и 2х20пФ - все стало работать,как часы. До этого, когда девайсы на AVR-ках лепил на скорую руку и так катило 16МГц ставил просто на пины и работало...Оно может и в данном случае работать без обвязки, но тогда настройки PLL пришлось бы подобрать индивидуально, под уникальные параметры такой схемы включения кварца. А раз настройки PLL берутся в готовом виде - то и обвязку кварца (и сам кварц), лучше всего повторить один-к-одному с проектом-исходником. А также и напряжение питания процессора - именно 3.3v, а не, допустим, 3.0v или 2.8v. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 7 сентября, 2013 Опубликовано 7 сентября, 2013 · Жалоба Дисконнект нормальный. У меня работает, только 100к вместо 36к. Вы его принудительно включите или проверьте в программе какой точно пин используется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
misyachniy 0 9 сентября, 2013 Опубликовано 9 сентября, 2013 · Жалоба Попутно еще вопрос...сопротивление на DP 1,5к сигнализирует о том, что устройство готово принимать данные от хоста. В хосте DP и DМ притянуты к земле резисторами 15К. Присоединение к DP/DМ резистора 1,5К говорит о том, что на шине появилось устройство FULL/LOW Speed готовое работать. При отладке, нужно в начале отсоединить резистор, сделать паузу порядка секунды па потом присоединятся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A.Lex 0 19 сентября, 2013 Опубликовано 19 сентября, 2013 (изменено) · Жалоба Чтобы не плодить тем: контроллер 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)) которых нет. Если есть рабочий проект или опыт, пните меня в нужном направлении. Изменено 19 сентября, 2013 пользователем A.Lex Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 19 сентября, 2013 Опубликовано 19 сентября, 2013 · Жалоба Если есть рабочий проект или опыт, пните меня в нужном направлении. Лично использовал проект Mass-Storage для этого МК, взятый с сайта ST. Все работает. Только прошлось подправить GPIO, ибо их проект был рассчитан на МК в корпусе "X", а у меня был МК в корпусе "Y". Вообще, подозревать выкладываемые на сайтах разработчиков примеры в неработоспособности надо в самую последнюю очередь. Если с готовым проектом что-то не так, то почти наверняка дело не в проекте, а в том, что вы упустили из виду какую-то мелкую особенность ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A.Lex 0 19 сентября, 2013 Опубликовано 19 сентября, 2013 · Жалоба Спасибо, буду копать дальше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A. Fig Lee 0 19 сентября, 2013 Опубликовано 19 сентября, 2013 · Жалоба Чтобы не плодить тем: контроллер 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 в примере. Как раз сейчас его усиленно копаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A.Lex 0 19 сентября, 2013 Опубликовано 19 сентября, 2013 · Жалоба Спасибо. Примеры и документация кривые.... или это я тупой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 19 сентября, 2013 Опубликовано 19 сентября, 2013 · Жалоба Примеры и документация кривые.... или это я тупой? Документация - барахло. А примеры просто заумно-сложные, как впрочем и сам USB - движок на STM. Ну и сам стиль программирования мне не понравился ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A. Fig Lee 0 19 сентября, 2013 Опубликовано 19 сентября, 2013 · Жалоба Документация - барахло. А примеры просто заумно-сложные, как впрочем и сам USB - движок на STM. Ну и сам стиль программирования мне не понравился ... А у кого простой движок? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 19 сентября, 2013 Опубликовано 19 сентября, 2013 · Жалоба А у кого простой движок? Проще чем у AT89C5131 я еще нигде не видел. Очень понравилось семейство LPC214x, а также АТМЕЛовские ARM7 и ARM9 с USB. Кроме того, и LPC и ATMEL предоставляют гораздо более и простые и понятные, чем у ST, примеры ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
agate 0 24 сентября, 2013 Опубликовано 24 сентября, 2013 · Жалоба Я запускал USB na stm32f103 за основу взят Кеил HIDUSB примеp. Для дебага я использовал Линух хост и hidtool утилиту из V-USB проэкта. Я переделал утилиту под свои задачи. Все работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться