Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F висящие входы
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
RomanRom
В STM32F1xx есть два похожих режима: Reset State (вход висящий, но без тактирования GPIO) и Input Floating (вход висящий, но с тактированием GPIO).
Вопросы.
1) Можно ли оставлять висящие входы в STM32F1xx в принципе или их надо обязательно подтягивать внутренними резисторами или переводить в режим выхода?
2) Будет ли увеличиваться ток потребления в режиме с висящими входами, как в AVR (из-за наводок)?
3) Если подтягивать резисторами, то нужно ли включать тактирование GPIO или можно тактирование не включать?
4) Аналогичные вопросы для режима входа с альтернативными функциями
dac
1) нельзя, нельзя для любого мк, но некоторые прощают, стм32 не прощает. где то на форуме уже был крик души прошедшего по граблям.
и лучше на выход, встроенные подтяжки слабые.
2) см. п1
3) что бы подтянуть резистором, тактирование порта все равно придется включить.
4) см. п1
zöner
можно, по входам триггеры Шмитта (см.диаграмму порта в даташите) - сквозного тока не получится. На неподключенном входе обычно получается единица (вх.емкость заряжается от наводок)
RomanRom
В AVR-контроллерах, как мне помнится, тоже на входах стоят триггеры Шмитта, но там рекомендуют висящих входов не оставлять.

С другой стороны, если в STM32 подтягивающие резисторы включаются только при наличии тактировании GPIO, то без тактирования ток потребления микросхемы должен быть меньше, следовательно, входы можно оставлять висящими и они не будут приводить к "перебрасыванию" уровней от наводок.

Тогда чем отличается STM32 от AVR в части триггеров Шмитта?
Aner
можно, а иногда и нужно.
dac
делайте выводы
Aner
и где там про висящие входы?
Allregia
Помоему, лучше что можно - аналоговыми входами сделать.
paskal
Цитата(Aner @ Mar 17 2012, 18:25) *
и где там про висящие входы?

Наверно это:
Цитата(vlad_new @ Aug 21 2011, 17:02) *
К стате уж точно нельзя оставлять не использованные лапки во float. Первой же командой всегда перевести все лапы на Pull-Down ( подтяжка вниз).

dinam
Я ещё для проверки помехоустойчивости брал в руку иголку и тыкал на каждую ножку. Проверял чтобы программа все такие действия отрабатывала корректно. Думаю что если проведете подобный эксперимент у вас сразу отпадут подобные вопросы biggrin.gif
RomanRom
Хорошо, общее мнение склоняется к тому, что входы висящими оставлять нельзя.

Но тогда контрольный вопрос - зачем разработчик STM32F ввел специальный режим тактирования портов, утверждая, что это экономит энергию? Дело в том, что если не разрешить в программе тактирование, то все входы автоматически переходят в "подвешенное" Z-состояние. Может быть, наоборот, разработчик считает, что без тактирования помехи внутрь не проходят и все-таки можно оставлять неиспользуемые входы свободными?
Aner
Пин для подключения батарейки тоже заземлять предлагаете? Попробуйте и скажите ка что у вас получилось?
RomanRom
Цитата(Aner @ Apr 16 2012, 16:19) *
Пин для подключения батарейки тоже заземлять предлагаете? Попробуйте и скажите ка что у вас получилось?

Aner, пожалуйста, поясните, какое отношение имеет батарейка к конкретному вопросу про программное тактирование портов???
Aner
Как я понимаю, речь о висящих в воздухе свободные входы у STM32F, которые якобы "подвешивают" процессор.
Пин для подключения батарейки- это же вход, также как и пины для подключения часового кварца, хотя последнии можно пользовать как GPIO.
Тактирования портов "с боку".
RomanRom
Цитата(Aner @ Apr 16 2012, 16:46) *
Как я понимаю, речь о висящих в воздухе свободные входы у STM32F, которые якобы "подвешивают" процессор.
Пин для подключения батарейки- это же вход, также как и пины для подключения часового кварца, хотя последнии можно пользовать как GPIO.
Тактирования портов "с боку".

Висящие в воздухе пины не подвешивают процессор. По аналогии с ATmega больше проблем должно доставлять неконтролируемое увеличение тока питания при большом уровне внешних наводок. В ATmega действительно такой эффект есть и с ним борются внутренними или внешними pull-up резисторами.

В STM32F имеется режим тактирования портов, который отсутствует в ATmega. Вот и хочется узнать, может быть разработчик как раз и решил эту проблему. Напрашивается вариант - если в каком-либо порту A, B, C ни одна линия не используется, то можно задать Reset-State без тактирования для всего порта. Если хоть одна линия порта используется, то тактирование придется разрешить и остальные линии перевести в режим pull-up или pull-down
Aner
Если остальные линии перевести в режим pull-up или pull-down, это увеличит потребление только.
У меня не используемые порты отключены, ничего не виснет в 103, 107 процах.
RomanRom
Цитата(Aner @ Apr 16 2012, 17:10) *
Если остальные линии перевести в режим pull-up или pull-down, это увеличит потребление только.
У меня не используемые порты отключены, ничего не виснет в 103, 107 процах.

1) Каким образом программное подключение нагрузочных резисторов pull-up/pull-down по входу увеличивает ток потребления кристалла (имеется в виду, что к входу больше ничего не подключается извне)? Вы реально измеряли на сколько мА увеличивается ток?
2) Вы не тактируете неиспользуемые порты и оставляете в них висящими входы. Именно это я и предлагаю сделать. А по поводу тактируемых портов - что вы делаете со свободными выводами (или тоже их оставляете висящими в воздухе в режиме Input_Floating)?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.