Потрібно, щоб кожний штифт IO мав власний резистор підтягування / опускання?


13

Дуже основне питання:

Чи повинен кожен IO-контакт мікроконтролера, який служить входом від перемикача або перемички, мати власний резистор підтягування / вниз?

Проста 3-контактна схема вводу-виводу

У цьому прикладі кожен штифт збивається резистором, потім витягується перемикачем 1P3T на VCC.

Здається, це просто, але чим більше використовуються штифти IO, чи більше резисторів потрібно абсолютно? Чи є якийсь розумний спосіб зменшити резистор?

Супутнє питання: Спільний підйомний резистор

Відповіді:


16

Відповідно до наведеної схеми, якби всі 3 входи мали спільний резистор, то будь-яка з ліній, що піднімаються високо через комутатор, підніме всі 3 лінії до високих, що суперечить меті конструкції - MCU не знає, яке положення перемикача вибрано.

Поширений спосіб зменшити кількість деталей , а не кількість резисторів, для таких конструкцій - це використовувати загальну шинорезисторну мережу або масив:
Загальний масив резисторів шини ( звідси )


Вони доступні як наскрізний отвір SIP / DIP, так і SMD, в різних числах резисторів, залежно від ваших потреб. Штифта шини підключена до землі, а інші штифти підключені до відповідних входів MCU, як на схемі. SIP резисторні масиви ( звідси )

Резисторні масиви SMD ( звідси )


8

У більшості MCU вбудовані додаткові резистори, що підтягуються (не вниз), для кожного штифта, тому нормально тягнути штифти вниз та вимикати (і мати справу з інверсією полярності в програмному забезпеченні).

Отже - ніяких резисторів не потрібно.

Щодо того, чому підтягування, а не вниз, це звичка, що залишилася від логічної схеми TTL 1970 року, де для виведення входу вгору потрібно було набагато менше струму, ніж резистор, який випадає, витратить більше енергії. Це більше не стосується сьогоднішньої логіки CMOS, але традиція підтягувань зберігається, так що ранні 5V CMOS-мікросхеми були сумісні зі старої логікою TTL.


Я вважав, що причина підтягування полягає в тому, що їх загальне використання було з відкритими колекторними виходами, і коли ви звикли йти в один бік, ви продовжуватимете шлях без поважних причин.
dunkers

Крім того, виходи TTL можуть заточувати 16mA, але джерело лише 800uA, тому підтяжка може використовуватися для додавання м'язів до виходу. Якщо ви не підключили його, вхід TTL підтягнеться сам, тому підтяжка з причин введення здається мені дещо дивною. (Вибачте, занадто довго чекали на редагування попереднього коментаря ...)
dunkers

"вхід TTL потягнув би себе" ... певною мірою так, але не достовірно - велика помаранчева книга вказує 40 мікрогамп Ih, щоб гарантувати Vin> 2.4V (для 7400; 20ua для 74LS) Залишаючи входи TTL відкритими, безумовно не рекомендується ніде я працював ...
Брайан Драммонд

1
Стягування проти підтягувань не просто історичне. За допомогою резистора, що підтягується, інша сторона вимикача може бути заземлена, що часто зручно.
Олін Латроп

1
Мікроконтролери сімейства мікроконтролерів TI MSP430 мають як внутрішні підйоми, так і падіння.
Перехожий

0

Ви ніколи не хочете залишати вхід для логіки відкритим, припускаючи, що вона потягнеться за собою вгору чи вниз. якщо вхід залишити відкритим, це трохи антени, а також піддається струмам всередині логічного пристрою. Таким чином, ви рухаєтеся вгору або вниз, щоб забезпечити чистий і передбачуваний вклад. Я дізнався це правило, працюючи в Fairchild Semiconductor у 1980-х.


1
Це не відповідає на запитання, яке було задано.
The Photon

Я думаю, що контекст початкового питання полягає в тому, що є кнопки та перемикачі, які є входами для MCU. Якщо штифт вводу / виводу не використовується, він може зробити висновок, а потім запустити низький (або високий) з мікропрограмного забезпечення. Це повинно вирішувати проблеми, що ховаються, і не потребує зовнішнього резистора.
Нік Алексєєв
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.