1. Введение: проблема совместного использования линий
В цифровых системах часто возникает задача передачи данных от нескольких источников к одному приёмнику (или наоборот) по общим проводникам. Без специальных мер это приводит к:
- конфликтам уровней (два выхода пытаются выставить разные значения на одну линию);
- перегрузкам по току и перегреву;
- искажению сигналов.
Решение:
- трёхсостоятельные буферы (tri‑state buffers) — выходы с третьим состоянием «отключено» (High‑Z);
- шинная архитектура — централизованная магистраль для обмена данными между устройствами.
2. Трёхсостоятельный выход: принцип работы
2.1. Три состояния выхода
- Логический «0» — активный низкий уровень (0 В или близкое значение).
- Логическая «1» — активный высокий уровень (например, 3,3 В).
- Высокоимпедансное состояние (High‑Z) — выход фактически отсоединён от линии (сопротивление > 1 МОм).
2.2. Управление состоянием
- Вход разрешения (OE, Output Enable) — сигнал, переводящий выход в High‑Z:
- OE = 1 → активный выход (0/1);
- OE = 0 → High‑Z.
- В некоторых микросхемах используется инверсный OE (например, /OE).
2.3. Электрическая модель
В состоянии High‑Z:
- транзисторы верхнего и нижнего плеча закрыты;
- ёмкость линии сохраняется;
- ток утечки минимален (микроамперы).
3. Шинная архитектура: основные понятия
3.1. Что такое шина
Шина — набор проводников (линий), по которым передаются:
- данные (Data Bus);
- адреса (Address Bus);
- управляющие сигналы (Control Bus).
Характеристики:
- разрядность (8, 16, 32, 64 бита);
- пропускная способность (бит/с);
- топология (общая шина, точка‑точка).
3.2. Участники шины
- Ведущее устройство (Master) — инициирует передачу (например, CPU).
- Ведомое устройство (Slave) — отвечает на запросы мастера (память, периферия).
- Арбитратор — разрешает конфликты при множестве мастеров.
3.3. Режимы передачи
- Запись (Master → Slave);
- Чтение (Slave → Master);
- Широковещательная рассылка (один ко многим).
4. Реализация трёхсостоятельных выходов
4.1. Схема на транзисторах
Базовый трёхсостоятельный буфер:
- два MOSFET (N‑ и P‑канальные) для уровней «0» и «1»;
- дополнительные транзисторы, отключающие оба плеча по сигналу OE.
Работа:
- OE = 1: N‑ и P‑MOSFET управляются входным сигналом;
- OE = 0: оба транзистора закрыты → High‑Z.
4.2. Примеры микросхем
- 74HC244 — восьмёрка трёхсостоятельных буферов;
- 74HC245 — двунаправленный трансивер с OE и направлением (DIR);
- SRAM/Flash‑память — выводы данных с tri‑state для подключения к общей шине.
5. Шинная архитектура на практике
5.1. Классическая шина данных (например, в микропроцессорах)
- CPU, память и периферия подключены к одной шине данных;
- только одно устройство активно на шине в каждый момент;
- остальные — в High‑Z.
Пример цикла чтения:
- CPU выставляет адрес на Address Bus.
- Активирует сигнал /RD (чтение).
- Память переводит свои данные на шину (OE = 1).
- CPU считывает данные, память переходит в High‑Z.
5.2. Двунаправленные шины
- Используют трансиверы (например, 74HC245) с управляемым направлением (DIR).
- DIR = 1: передача от A к B;
- DIR = 0: передача от B к A.
Применение:
- интерфейсы SPI, I²C (с tri‑state для мультимастерности);
- шины памяти DDR.
5.3. Мультиплексирование шин
- Одновременное использование линий для разных целей (например, адрес/данные);
- требует строгих временных диаграмм и синхронизации.
6. Преимущества трёхсостоятельных выходов и шин
- Экономия проводников — одна линия для множества устройств.
- Масштабируемость — легко добавлять новые устройства на шину.
- Гибкость — динамическое перераспределение ресурсов.
- Снижение энергопотребления — неактивные устройства в High‑Z не нагружают шину.
- Совместимость — стандартные интерфейсы (PCI, USB, CAN).
7. Проблемы и ограничения
7.1. Конфликты на шине
- Два устройства вышли на шину одновременно → короткое замыкание.
Решение: - жёсткая дисциплина доступа (арбитраж);
- мониторинг состояния OE.
7.2. Ёмкостная нагрузка
- Много подключённых входов увеличивают ёмкость шины → замедление фронтов.
Решение: - ограничение длины шины;
- буферизация.
7.3. Электромагнитные помехи (EMI)
- Высокоимпедансные линии чувствительны к наводкам.
Решение: - экранирование;
- терминальные резисторы.
7.4. Задержки распространения
- Сигналы проходят через несколько буферов → накопление задержек.
Решение: - оптимизация топологии;
- использование высокоскоростных буферов.
8. Проектирование с трёхсостоятельными выходами
8.1. Правила разводки плат
- Минимизация длины шин;
- симметричная трассировка дифференциальных пар;
- заземляющие плоскости для снижения помех.
8.2. Согласование импедансов
- Терминальные резисторы (50–120 Ом) на концах шины;
- контроль волнового сопротивления.
8.3. Управление OE
- Синхронизация OE с тактовым сигналом;
- избегание «гонок» при переключении.
8.4. Тестирование
- Проверка High‑Z состояния мультиметром (высокое сопротивление);
- осциллографирование фронтов;
- стресс‑тесты с множественными устройствами.
9. Альтернативы трёхсостоятельным выходам
- Мультиплексоры (MUX) — коммутируют один выход из множества.
-
- Нет риска конфликтов;
- – Требуется дополнительная логика управления.
-
- Открытые коллекторы/стоки (Open Collector/Drain):
-
- Простота (например, для I²C);
- – Низкая скорость, необходимость подтягивающих резисторов.
-
- Дифференциальные шины (LVDS, RS‑485):
-
- Высокая помехозащищённость;
- – Больше проводников.
-
- Последовательные интерфейсы (SPI, UART, PCIe):
-
- Меньше линий, высокая скорость;
- – Сложнее протокол.
-
10. Примеры применения
10.1. Микропроцессорные системы
- Шина данных 8086/8088 (три‑state буферы для памяти и периферии).
- Шины ISA, PCI (арбитраж и tri‑state).
10.2. Память
- SRAM, Flash — выводы данных с OE для подключения к CPU.
- DRAM — мультиплексированные адрес/данные шины.
10.3. Периферийные интерфейсы
- I²C — открытые коллекторы (аналог tri‑state);
- SPI — три‑state буферы для мульти-slave конфигурации.
10.4. ПЛИС (FPGA)
- Конфигурируемые I/O‑блоки с поддержкой tri‑state;
- Реализация шин внутри кристалла.
11. Современные тенденции
- Отказ от три‑state в высокоскоростных шинах (PCIe, DDR5) в пользу:
- дифференциальных сигналов;
- последовательной передачи.
- Интеграция арбитража в контроллеры (SoC, микроконтроллеры).
- Использование три‑state в низкоскоростных интерфейсах (GPIO‑расши



