Jump to content

    
Sign in to follow this  
kostyan1

STM32F429 usb не подтягивает DP к плюсу

Recommended Posts

Народ, помогите решить очередной квэст от стм: есть две платы одинаковые, одинакого прошиты. На одной usb стартует, на другой нет!

Есть еще дисковери плата для 429 го камня - там usb тоже нормально стартует.

 

За основу взят код с примера со стандартной либы для vcp. Подтяжка DP к плюсу включается установкой бита FDMOD регистра OTG_FS_GUSBCFG в единицу. Так вот, на "рабочей" плате подтяжка включается и всё собственно работает. На "нерабочей" - подтяжка не включается! Пропай и прозвон от разъема до цпу - проверено. Ноги юзаются HS: PB14, PB15. Поменяли камень - тоже самое. Включал первое включение - сначала питание, потом кабель усб, при этом плата потребляла порядка 130 мА. После прошивки 50-60. Первая плата вроде столько же потребляла после первого включения. Сделал эксперимент, перекинул усб на ноги PA11, PA12, перекомпилил код под эти ноги - подтяжка появилась, плата енумеруется. НО вовремя прочитал тред про ВОЗМУЩАТЬСЯ и про пин РА12! Еррата была у самого рев.6, качнул последнюю рев.8 - ага, черным по белому написано "лучше юзайте PB14, PB15 ноги под усб". Может кто сталкивался, что это такое: выгорает пин при первом включении (плата организованна так, что питание на проц коммутируется пятью вольтами от усб разъема)? Или же какойто бит где то не установлен? Или какойто пин кудато не подтянут?

Share this post


Link to post
Share on other sites
Народ, помогите решить очередной квэст от стм: есть две платы одинаковые, одинакого прошиты. На одной usb стартует, на другой нет!

Есть еще дисковери плата для 429 го камня - там usb тоже нормально стартует.

 

За основу взят код с примера со стандартной либы для vcp. Подтяжка DP к плюсу включается установкой бита FDMOD регистра OTG_FS_GUSBCFG в единицу. Так вот, на "рабочей" плате подтяжка включается и всё собственно работает. На "нерабочей" - подтяжка не включается! Пропай и прозвон от разъема до цпу - проверено. Ноги юзаются HS: PB14, PB15. Поменяли камень - тоже самое. Включал первое включение - сначала питание, потом кабель усб, при этом плата потребляла порядка 130 мА. После прошивки 50-60. Первая плата вроде столько же потребляла после первого включения. Сделал эксперимент, перекинул усб на ноги PA11, PA12, перекомпилил код под эти ноги - подтяжка появилась, плата енумеруется. НО вовремя прочитал тред про ВОЗМУЩАТЬСЯ и про пин РА12! Еррата была у самого рев.6, качнул последнюю рев.8 - ага, черным по белому написано "лучше юзайте PB14, PB15 ноги под усб". Может кто сталкивался, что это такое: выгорает пин при первом включении (плата организованна так, что питание на проц коммутируется пятью вольтами от усб разъема)? Или же какойто бит где то не установлен? Или какойто пин кудато не подтянут?

 

Если софт один и тот же и платы идентичны, могу предположить что косяк с кварцем или емкостями на кварце. Была похожая проблема с 407, Но там мы сами платы собирали... емкостей не хватило, запаяли другие, пару часов потратили чтобы понять что в этом проблема была.

 

Как следующий этап диагностики проблемы, предлагаю попробовать загрузить USB bootloader, если не грузиться значит 100% проблема в железе.

Share this post


Link to post
Share on other sites

Самое интересное, что подтянул резистором линию DP к плюсу - и о чудо, усб работает: проходит енумерация, данные гоняются в обе стороны. Но кварцы посмотрю, спасибо за версию, запаять могли что нибудь не то, такое бывает.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this