Соображения при использовании внутренних подтягивающих / понижающих резисторов

11

Я работаю с микроконтроллерами STM32. Эти микроконтроллеры имеют возможность установить входной контакт как повышающий или понижающий:

введите описание изображения здесь

Раньше я давал внешнее подтягивающее или опускающее сопротивление везде, где это необходимо, но теперь мне интересно, могу ли я покончить с внешними компонентами и использовать функцию опускания самого микроконтроллера.

Будет ли это хорошо сделать?

Есть ли какой-то случай, когда я должен принять дополнительные меры предосторожности или вообще не использовать эту функцию?

Whiskeyjack
источник
2
Я использую внутренний pu / pd всякий раз, когда могу, и у меня не было проблем с sofar. Так что, если у вас нет веской причины не использовать встроенную функцию повышения / понижения, вы можете просто использовать их. Причиной отказа от внутреннего pu / pd может быть то, что к входу подключен длинный провод, который может соединяться с другими линиями, вызывая непредвиденное поведение. Внутренний pu / pd довольно слабый (для сохранения тока) и его легче нарушить, чем, например, резистор 10 кОм.
Bimpelrekkie
22
Небольшое примечание: он может не работать как подтягивание, пока микроконтроллер сбрасывается. Так что, если есть внешняя схема, в зависимости от того, постоянно ли она отключается, у вас могут возникнуть проблемы при запуске. Если это только что прочитано микро, это не проблема.
pjc50
1
@ pjc50, вы должны были опубликовать это как ответ, я не заметил ваш комментарий, пока не опубликовал свой ответ.
Джейсон С
1
Если вы не можете доверять подтягивающему резистору в микроконтроллере, вы не можете ничего доверять этому контроллеру. То, что вы хотите знать, если это полезно, хотя
Прохожий
1
@Whiskeyjack: Вы должны рассмотреть вопрос об изменении названия вопросов. Может быть "Соображения при использовании внутренних подтягивающих / понижающих резисторов" или что-то в этом роде.
Rev 1.0

Ответы:

15

Да ... Вы можете ... Это проверенная функция. Если вы видите структуру выводов в Справочном руководстве STM32, вы можете увидеть, что в нем есть необходимые компоненты -

Структура штифта STM32

Если это удовлетворяет вашим требованиям, вы можете отказаться от внешних компонентов.

Редактировать Помните, что при включении питания, булавки будут Tristated. Если это не мешает вашему приложению, это хорошо! Вот почему рекомендуется сначала инициировать раздел ввода-вывода, а затем продолжить работу с другими периферийными устройствами.

Swanand
источник
1
Правильно, но все же во время сброса это триста, верно?
Ситараман
1
Я ответил на вопрос "Должен ли я доверять раскрывающейся функции микроконтроллера?" и теперь сам вопрос изменился: - / И с новым вопросом Бенс Кауликс ответит точнее!
Суонанд
Вопрос: не вызовет ли нагрев микросхемы использование набора внутренних понижающих / понижающих резисторов?
Калеб Рейстер
16

В общем, прекрасно использовать внутренние подтягивающие или понижающие резисторы.

Недостатком является то, что вы можете забыть включить его с помощью программного обеспечения, что может вызвать небольшую головную боль. Внешние подтягивания всегда будут там. Поэтому не забудьте включить внутренние и сэкономить много печатных плат за счет уменьшения количества компонентов.

30 КΩ50 КΩ

введите описание изображения здесь

Вы должны всегда проверять, требуется ли вашему приложению определенное значение повышающего или понижающего резистора, прежде чем использовать внутренние резисторы. Например , не используйте их с I 2 C , так как эти значения будут слишком высокими для этого.

Бенс Кауликс
источник
12

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

Джейсон С
источник
10

Как уже говорили другие, внутренние подтягивания и опускания хороши, если:

  • Вы помните, чтобы настроить их,
  • они достаточно сильны,
  • Вы не заканчиваете тем, что боретесь с ними внешним натяжением, и
  • напряжение при запуске и сбросе не имеет значения.

Что касается последнего пункта, помните, что входы CMOS со средним уровнем напряжения могут вызывать значительный сквозной ток на их входной паре. Это может вызвать проблемы в системе с низким энергопотреблением во время запуска.

В целом, внешние тяговые резисторы приведут к более консервативному дизайну.

Ричард
источник
1
Что касается сквозных токов, возможно, было бы полезно взглянуть на вещи в перспективе, отметив, что для большинства микроконтроллеров уровни, как правило, намного ниже всего, что может привести к повреждению устройства, но они могут быть на несколько порядков выше лучшего устройства. Течение сна сна. В некоторых случаях такие токи не имеют значения; в других они абсолютный убийца.
суперкат
1
+1 за "напряжение при запуске и сбросе неважно". Вы должны гарантировать, что остальная часть вашей схемы находится в безопасном и спокойном состоянии во время запуска микроустройства. Это сложнее, чем кажется, если учесть, что сброс или быстрый цикл питания могут оставить остальную часть вашей схемы в неопределенном состоянии или оставить ее включенной и работающей без присмотра за ней микроэлемента.
Грэм
3

В дополнение к другим исключениям, перечисленным во всех ответах, внутренние подтягивающие резисторы во многих случаях слишком слабы для I²C .

Скотт Сейдман
источник
Конечно, некоторые (многие?) Микроконтроллеры имеют выводы с открытым стоком специально для I2C, которые вы можете настроить
Томас
1
Я не видел ничего, кроме слабых взлетов и падений, @Thomas
Скотт Сейдман