murmur 0 11 марта, 2021 Опубликовано 11 марта, 2021 (изменено) · Жалоба STM32H7 Все пины порта C настроены на выход, и на все пины подан меандр. Вот осциллограмма со здорового пина А вот с проблемного пина - PC2 Причем пин отпаян от контактной площадки и приподнят над ней. До этой операции на осциллограмме всегда был ноль, хотя дорожка ведет в никуда (к микросхеме, которая пока не напаяна). Вот настройка GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_2; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); Вот что видно в отладчике Как видно, в регистрах нормального пина PC0 и проблемного PC2 - все идентично (в остальных, не приведенных в скринах) все так же. Резюмируя - нога отпаяна, посторонние влияния, коротыши, исключены. С регистрами тоже все в порядке, никакой "жучок" их состояния не портит. Вопрос - контроллер на выброс? Или могут быть другие неочевидные, но труднопроверяемые наугад причины - настройки питания и бог знает еще чего, неисправные блокировочные конденсаторы.... Уж очень не хочется возиться с перепайкой да и выкидывать недешевый камень. К слову - на абсолютно идентичной плате впаян STM32F7 - с ним проблем нет, значит как минимум ошибок монтажа нет. P.S. - в настроенном на альтернативную функцию режиме ( ULPI_DIR) пин тоже не работает.... Изменено 11 марта, 2021 пользователем murmur Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SII 0 11 марта, 2021 Опубликовано 11 марта, 2021 · Жалоба Разве что если не подали питание на одну из питающих ног, к которой привязан и этот -- но тогда подобное поведение будет у всей группы ног, подключённых к общему питанию (это не обязательно ноги одного порта). Но, скорей всего, нога таки убита (статикой, например -- у меня такое было, но с совершенно другим МК и лет 10 назад). Ну а на выброс или нет -- зависит от того, насколько дохлая нога реально нужна. ADD. Если он с открытым стоком (OD вроде ж это означает?), то надо обеспечить подтяжку к питанию. Вы её сделали? ADD2. А нет, OD -- это выходные данные, а не открытый сток, который явным образом нигде, похоже, не задаётся... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasil_Riabko 0 11 марта, 2021 Опубликовано 11 марта, 2021 · Жалоба PC2 - имеет особенность не знаю за все но для STM32H750 I/O structure _ FT_a таб.7 DS12556 Rev 4 Direct channels are connected to analog I/Os (PA0_C, PA1_C, PC2_C and PC3_C) to optimize ADC performance. Посмотрите RM0433 Rev 6 10.3.13 Analog configuration почитайте может причина в этом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
murmur 0 11 марта, 2021 Опубликовано 11 марта, 2021 · Жалоба 24 minutes ago, Vasil_Riabko said: PC2 - имеет особенность не знаю за все но для STM32H750 I/O structure _ FT_a таб.7 DS12556 Rev 4 Direct channels are connected to analog I/Os (PA0_C, PA1_C, PC2_C and PC3_C) to optimize ADC performance. Посмотрите RM0433 Rev 6 10.3.13 Analog configuration почитайте может причина в этом Да я уже в общем то контроллер сдула. Новый не напаяла но вы меня так пугаете. Перспективой переделывать плату. Это намёк на что? На то, что нога железно присоединена к АЦП? И настройками это не вырубить? Вряд ли - у этой ноги есть альтернативная функция - ULPI_DIR, она есть только на этой ноге, стало быть как то это можно отключать. Но я АЦП не использую. Так что вряд-ли причина в этом. К тому же на другой плате я уже использовала USB HS на данном контроллере и именно эту ногу, проблем не было. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
murmur 0 12 марта, 2021 Опубликовано 12 марта, 2021 · Жалоба Да... это была сгоревшая нога. После смены контроллера проблема исчезла Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
murmur 0 12 марта, 2021 Опубликовано 12 марта, 2021 · Жалоба Было бы смешно, если бы не было так грустно... Как я написала выше, проблема исчезла. Это значит, что после смены контроллера я получила на ноге меандр. Напаяла я обратно USB3300, с которой посредством сгоревшей линии контроллер и связывается - не определяется флешка... Дай, думаю, проверю, вдруг не пропай где - меняю код, вывожу на все ноги меандр. И что вы думаете - через какое-то время та же самая нога сдыхает. Начинаю понимать, что моё предположение о том, будто нога была убита статикой, в результате чего свзяка STM+USB3300 не работала, оказался неверным. Скорее всего проблема первично локализовалась в USB3300, а попытка включить все ноги в режим меандр выжигала одну из ног. Лезу в даташит. Из даташит узнаю, что линия DIR оказывается дёргается не контроллером, а микросхемой USB3300, то есть, она является мастером, а не STM. А вход DIR у Stm32 является именно входом Отсюда вопрос - мог ли, исходя из особенностей схемотехники портов ввода-вывода, подобный конфликт убить ногу контроллера? Иными словами, если есть две микросхемы, обе ноги которых расстроены на выход, то возможен ли выход из строя одной из них, если на этих выводах появятся разноименные сигналы? Насколько я знаю, ногу Stm32 можно припаять к земле и подать на неё логическую 1, при этом с ней ничего не случится... Что скажете? К сожалению, в даташите на USB3300 нет ничего про схемотехнику линий управления... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 12 марта, 2021 Опубликовано 12 марта, 2021 · Жалоба 19 minutes ago, murmur said: Отсюда вопрос - мог ли, исходя из особенностей схемотехники портов ввода-вывода, подобный конфликт убить ногу контроллера? Едва ли: гарантированную смерть драйвера вызывает подача напряжения выше VCC, но не конфликт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SII 0 12 марта, 2021 Опубликовано 12 марта, 2021 · Жалоба 44 minutes ago, murmur said: Отсюда вопрос - мог ли, исходя из особенностей схемотехники портов ввода-вывода, подобный конфликт убить ногу контроллера? Иными словами, если есть две микросхемы, обе ноги которых расстроены на выход, то возможен ли выход из строя одной из них, если на этих выводах появятся разноименные сигналы? Ну, классические ТТЛ-микросхемы в таких случаях дохли, из-за чего там и нельзя было параллелить выходы (если они не с открытым коллектором). С КМОПами, по идее, тоже будет проблема: если один из транзисторов включает питание, а второй -- землю, потечёт большой ток, ограниченный только сопротивлением открытых транзисторов (оно очень небольшое) и сопротивлением дорожки, ног и т.п. проводников (которое вообще можно считать практически нулевым). Так что, вполне вероятно, Ваша проблема именно отсюда и проистекает... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 12 марта, 2021 Опубликовано 12 марта, 2021 · Жалоба Насколько я знаю, ногу Stm32 можно припаять к земле и подать на неё логическую 1, при этом с ней ничего не случится... Сотрите, здесь и начинающие ведь бывают... Никогда так не делайте! Push-pull-выход на землю "накоротко" - над вами чёрно пошутили. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
murmur 0 13 марта, 2021 Опубликовано 13 марта, 2021 · Жалоба Вот ведь как... Все было дело в неисправной USB3300. Поменяла её, поменяла Stm32, все заработало, осциллограммы в норме, инициализация usb проходит, класс MSC регистрируется. 8 hours ago, Obam said: Сотрите, здесь и начинающие ведь бывают... Маленькие дети! Ни за что на свете! Не подключайте, дети, push pull к земле... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 13 марта, 2021 Опубликовано 13 марта, 2021 · Жалоба 11 часов назад, murmur сказал: Иными словами, если есть две микросхемы, обе ноги которых расстроены на выход, то возможен ли выход из строя одной из них, если на этих выводах появятся разноименные сигналы? У вас теперь есть целых два полуживых контроллера с целой кучей еще живых ног. Замкните две любых ноги, подайте противофазные меандры, повторите с другими ногами, наберите статистику. Потом расскажете нам - нам тоже интересно, а лишних H750 нету. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 61 13 марта, 2021 Опубликовано 13 марта, 2021 · Жалоба Да можно просто использовать их. Всего то одна ногп отвалилась. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
murmur 0 13 марта, 2021 Опубликовано 13 марта, 2021 · Жалоба 3 hours ago, Сергей Борщ said: Замкните две любых ноги, подайте противофазные меандры, Вот как раз в подобном случае вероятность перегорания наименее вероятна. В моей ситуации было 2 особенности 1. Вторая микросхема была "чужеродна". 2. Вторая микросхема к тому же была и неисправна. У нее есть еще ноги, которые только на выход, почему у контроллера перегорела в обоих случаях именно DIR 3 hours ago, x893 said: Всего то одна ногп отвалилась. Вот именно. У меня есть куда воткнуть оба контроллера, ну подумаешь, USB нельзя использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 13 марта, 2021 Опубликовано 13 марта, 2021 · Жалоба 15 часов назад, SII сказал: Ну, классические ТТЛ-микросхемы в таких случаях дохли, Уж да ладно ? От менее 30 mA ? 13 часов назад, Obam сказал: Никогда так не делайте! Push-pull-выход на землю "накоротко" - над вами чёрно пошутили. Дубовые 5-вольтовые (PIC, AVR) такое выдерживают, хоть ток у драйвера будет солидный. Долго ли - не проверял. STM32 нежнее - может быть и в самом деле убивает ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 13 марта, 2021 Опубликовано 13 марта, 2021 · Жалоба 34 минуты назад, murmur сказал: Вот как раз в подобном случае вероятность перегорания наименее вероятна. Почему вы так считаете? "Противофазный меандр" означает, что когда на одной ноге ноль - на второй единица и наоборот. Если они такие нежные, что вылетают от внешней микросхемы, постоянно выдающей один уровень - то уж от такой встряски одна из ног точно поломается, а именно это мы и хотим узнать. 41 минуту назад, murmur сказал: ну подумаешь, USB нельзя использовать А там нет встроенного FS-трансивера как у младших моделей? Не всегда же необходим HS. Или его нога тоже на этом выводе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться