m07-01 теория 5 мин

0 и 1 — это уровни напряжения

Цифровая схема не знает «истины» и «лжи» — она знает напряжение. Логическая единица это уровень выше порога, ноль — ниже.

Пороги зависят от семейства:

3.3 В CMOS (ESP32, STM32): вход выше 0.7 × 3.3 = 2.31 В — единица, ниже 0.3 × 3.3 = 0.99 В — ноль.
5 В TTL (74LS, старые): выше 2.0 В — единица, ниже 0.8 В — ноль.
5 В CMOS (74HC): выше 3.5 В — единица, ниже 1.5 В — ноль.

Между порогами — запрещённая зона: вход не знает, что это, и может вести себя непредсказуемо. Именно поэтому нельзя оставлять вход «в воздухе» — он попадёт в эту зону и начнёт ловить наводки.

Выход даёт не идеальные уровни: у 3.3-вольтовой схемы «единица» может быть 3.2 В под нагрузкой и 2.8 В при токе 10 мА. Отсюда запас: разработчик смотрит, что вход следующего чипа надёжно понимает выход предыдущего. 3.3 В выход → 3.3 В вход — всегда работает. 3.3 В выход → 5 В TTL-вход — работает (2.31 > 2.0), но с малым запасом. 5 В выход → 3.3 В вход — не работает, нужно согласование.

Ещё два параметра: ток втекает/вытекает (обычно 4–20 мА на вывод) и ёмкость входа (единицы пикофарад). На высоких частотах ёмкость начинает ограничивать: чем больше нагрузка, тем медленнее фронт.

На практике: если схема «иногда работает», первым делом смотри уровни осциллографом. 1.7 В на цифровом входе — это не ноль и не единица, это проблема.

Зачем

Без порогов нельзя понять, почему 3.3 В не видит 5-вольтовую логику и почему «висит в воздухе» — это плохо.

Сделай сейчас

Найди в даташите ESP32 таблицу DC Characteristics и выпиши Vih и Vil. Сравни с порогами 74HC при 5 В — увидишь, почему прямое соединение не работает.

Проверь себя

Вход 3.3 В микроконтроллера, на нём 1.7 В. Что покажет программа?

Ничего предсказуемого: уровень в запрещённой зоне, чтение может давать то 0, то 1, дребезг и нагрев. Нужна подтяжка к питанию или земле.

Пройти тест 5 заданий
0 из 102 · 0%
Источники
  1. Wikipedia: Logic gate
    логические уровни
  2. Espressif: ESP32 Datasheet
    пороги 3.3 В