Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F4Discovery + USB HS USB3300
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
hd44780
Привет всем.
Вот обзавёлся тут физическим уровнем USB Hi-Speed - http://www.wvshare.com/product/USB3300-USB-HS-Board.htm
Подключил его к F4Discovery:
ULPI STM32F407
---- -------------
D0 - PA3
D1 - PB0
D2 - PB1
D3 - PB10 - микрофон (убран)
D4 - PB11
D5 - PB12
D6 - PB13
D7 - PB5
STP - PC0 - ключ питания USB FS (не мешает ???)
NXT - PC3 - микрофон (убран)
DIR - PC2
CLKOUT - PA5
RES - nRST (сброс платы)

Микрофон, висящий на ногах PC3, PB10 я выпаял.
Остался только ключ питания USB FS на ноге PC0. Его я не трогал. Вроде не мешает, да и убирать его не хочется, дабы не потерять работающий и проверенный USB FS.

Пошарился на предмет примеров работы с USB HS - глухо.
Нашёл здесь и на офсайте по ссылке выше т.н. "примеры" - некие "выжимки" из кода от ST-шной демоплаты STM3240G-EVAL, где USB HS идёт в комплекте.
Компилил их под мою модификацию проца (F407VGT6), проверял ноги интерфейса ULPI (вроде одни и те же) - ни один не пошёл. Светодиодики питания загораются, а толку - 0. Комп даже не видит этого устройства.
В исходниках до фигища мусора от той платы - хвосты дисплея, джойстика и прочая хрень. У меня, конечно, в схеме есть дисплей, он работает нормально, но хотелось бы сперва поднять этот USB, а потом уже совмещать его с дисплеем ....

К тому же на STM3240G-EVAL другой чип USB-HS - ISP1705AET от филипса (читал, что он уже снят с производства, правда это или нет - не знаю), могут быть какие-то отличия в инициализации, или ещё в чём-то..

На другом форуме нашёл похожую тему. Но кроме рассуждений про трафареты для печатных плат и одного-единственного радостного возгласа "фигнюсик заработал", я там не нашёл.
Правда, упоминалось ещё, что там надо убрать акселерометр, но зачем - непонятно, ноги совершенно другие, c ULPI они не пересекаются.
И есть некоторое кол-во "подчищенных" постов. Наверное, автор что-то из них повычищал sad.gif .

Вот вспомнился нюанс - когда я прошил пример с офсайта (скомпиленный под VGT6), на плате загорелся светодиодик питания USB FS - на ноге STP что-то дёрнулось (видимо появился 0, в доке на ключ stmps_21x1 я почему-то не нашёл, каким уровнем он включается, судя по схеме F4Discovery, включается нулём).

Когда прошил вроде бы тем же примером из вышеупомянутой темы на этом форуме - эта лампочка не включается. Значит, там что-то отличается, хоть вроде бы "всё одинаково".

Примеры все под keil, но я пишу под IAR.
В кейле у меня не фурычит отладка (то не может до программатора достучаться, то target опознать он не в силах), кокос терпеть не могу из-за его (или GCC-шных) "особенностей".
Там всё как-то не как у людей. Даже над проверенными, идеально работающими в том же IAR-е вещами приходится с бубном танцевать. Проходил уже .... Даже поиск строки по файлам через задницу сделан. Приходится иногда Far-ом искать, потому что эти гады обломились сделать ввод строки поиска руками, можно только указать её курсором в тексте. Козлы.

Спасибо.
kovigor
Цитата(hd44780 @ Jun 27 2013, 10:04) *
Вот обзавёлся тут физическим уровнем USB Hi-Speed ...

Я этот чип подключал в качестве PHY к STM32F207 и на получившейся связке гонял пример HS USB Mass-Storage от самого ST. Все работало (только пример был рассчитан на МК в корпусе X, а у меня был МК в корпусе Y, в результате линии ULPI и проч. у меня и в примере попадали на разные GPIO, и мне пришлось это исправить). Как я понял, вместо этого PHY можно было взять любой другой, ничего бы не изменилось. В исходниках нигде нет никакого кода, специфичного для PHY. Но !!!!! HS - не шутки !!! Проводки от платки с PHY до МК должны быть макс. короткими, монтаж нужно выполнить грамотно и аккуратно. Только в этом случае можно надеяться на то, что эта платка, подпаянная на проводках к вашей, хоть как-то заработает. Если вы спаяете платы кое-как, то почти наверняка вообще ничего не заработает. В идеале нужно разрабатывать настоящую ПП, по всем правилам.
hd44780
Про проводки я в курсе, спасибо, но хоть как-то он должен же шевельнуться ....

Я тут накопал ещё другое. Я сброс USB3300 подвёл к сбросу дискавери, там вроде активный уровень - низкий, а у USB3300 - высокий, мож она всё время в сбросе висит. Если так и есть, придётся ногой дрыгать ....
kovigor
Цитата(hd44780 @ Jun 27 2013, 11:23) *
Про проводки я в курсе, спасибо, но хоть как-то он должен же шевельнуться ....

Результат непредсказуем. Может и шевельнуться, но никаких причин надеяться на это нет. На моем макете проводки по длине не превышают 3-4 см., и то он иногда сбоит.
Сброс - да, проверьте ...
hd44780
Да, на дискавери на сбросе 1 торчит. Тут мой глюк, недосмотрел.
Сброс вообще можно не подключать. На модуле уже есть RC цепочка для Power-On-Reset.

Вечером отпаяю, проверю, стукну.

Скачал доку на этот ISP1705AET, сбрасывается нулём, как и предполагалось sm.gif
DASM
Цитата(kovigor @ Jun 27 2013, 12:31) *
Результат непредсказуем. Может и шевельнуться, но никаких причин надеяться на это нет. На моем макете проводки по длине не превышают 3-4 см., и то он иногда сбоит.
Сброс - да, проверьте ...

На самом деле важна не длина проводов, а разброс их длин (в купе с другими задержками). Так-то у меня параллельный интерфейс до 100 МГц с линией 35 см (!) работает. Но выравнивать сигналы то 1 нс пришлось. И конечно это на побаловаться.
hd44780
Что касается разброса - на дискавери все сигналы ULPI на одной стороне платы, кроме PB5 (D7). Те, что на одной стороне те коротенькие (3-4 см, можно ещё укоротить), а этот один длинный, никуда там от этого не деться пока....
DASM
Тогда удлините все до размера самомго длинного
kovigor
rolleyes.gif
Цитата(DASM @ Jun 27 2013, 15:16) *
Тогда удлините все до размера самомго длинного

Я свои платы для минимизации длины проводничков сложил "бутербродом", чтобы расстояния между MCU и PHY были минимальными. А насчет разницы в длинах вы, наверное, правы ...
DASM
Также крайне желательно навесить последовательные резисторы 30 ом прямо на выводы контроллера (выходные), которые пойдут на проводочки к PHY
_pv
Цитата(DASM @ Jun 27 2013, 16:39) *
На самом деле важна не длина проводов, а разброс их длин (в купе с другими задержками). Так-то у меня параллельный интерфейс до 100 МГц с линией 35 см (!) работает. И конечно это на побаловаться.

ну IDE жёсткие диски на полметровых проводах до 133МБайт/с вроде как могут в udma133, да и udma166 вроде даже бывает, правда по 16-ти разрядной шине да и DDR, так что 30-40МГц тактовая, но при этом отнюдь не баловство sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.