Как я узнаю, нужен ли мне подтягивающий или понижающий резистор для вывода GPIO?

8

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

Как узнать, нужен ли мне подтягивающий или понижающий резистор для вывода GPIO, и если да, то как узнать, какой вариант подходит для моего приложения?

Дом
источник

Ответы:

6

Вам нужен подтягивающий или понижающий резистор на линии, уровень напряжения которой, по крайней мере, иногда «непредсказуем», например, плавающий вход, но также линия I2C.

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

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


источник
3

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

Руслан Герасимов
источник
0

Независимо от того, поднимаете ли вы это или опускаете, все зависит от вас и ваших потребностей.

Как упоминалось ранее

Если ваш код запускается по падающему фронту или a 0, вы можете использовать подтягивание, чтобы поддерживать высокий уровень, когда он не используется.

Если ваш код запускается с нарастающим фронтом или a 1, вы можете использовать опускание вниз, чтобы потенциал оставался равным 0, используя ваш внешний источник.

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

Как правило, потянув вниз, вы сэкономите несколько мА энергии.

Допустим, у нас есть 5k подтягивания при 5v, то есть 1mAна вывод; при разрядке батареи каждый мА драгоценен.

Когда мы опускаемся, мы, как правило, просто сжигаем шум ЭДС, потребляя незначительное количество мАс.

Мэтт Кларк
источник
не будет ли подтягивающий ток потреблять номинально ток, когда линия не находится на низком уровне, а также ток утечки, когда линия находится на высоком уровне?
Джон ОМ.
Обычно резистора повышающего / понижающего напряжения достаточно, чтобы получить желаемый сигнал «по умолчанию», типично Vin или Gnd. Для этого они обычно составляют около 10 кОм или около того, поэтому, если вы проводите линию в ВЫСОКОМ состоянии, когда подключен понижающий резистор, вы теряете только Vhigh / 10 кОм. Если Vhigh составляет 5 В, то это составляет 0,5 мА.
Чак