Skip to content

4.5 · Шина данных и tri-state

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

🎣 Крючок + прогноз (5 мин)

«В SAP-1 восемь блоков обмениваются байтами. Тянуть 8 проводов от каждого к каждому — это 8×7×8 ≈ 450 проводов. Прогноз: как обойтись восемью?»

🧠 Теория (12 мин)

Шина — 8 общих проводов, к которым подключены все блоки. Проблема: два выхода на одном проводе — конфликт (один тянет к 1, другой к 0 — короткое замыкание через выходы!). Решение — tri-state: третье состояние выхода «Z» — отключён, как будто провода нет.

Железное правило шины: в каждый момент говорит ровно один. Все остальные — в Z. Кто говорит — решают сигналы ~OE (output enable, активен нулём).

Корпус: 74HC245 — 8 tri-state буферов (пины: A-сторона, B-сторона, DIR — направление, ~OE).

🔧 Практика (22 мин)

Мини-шина на два источника

Два 74HC245: входы A — от двух разных DIP-байтов, выходы B обоих — на одни и те же 8 линий (шина) → LED-линейка. DIR=1 у обоих. Кнопки на ~OE каждого.

Прогноз → проверка

Активен первый — шина показывает байт №1; второй — байт №2; оба ~OE=1 — шина «пустая» (LED тускло/хаотично: линии висят! чем лечится висящая линия? — подтяжками, урок 1.1: поставьте сборку 10 кОм).

Нарушение правила ⭐

Под присмотром учителя: на 1 секунду откройте оба буфера с разными данными. Ничего не взорвётся (74HC терпелив), но данные на шине — мусор из «перетягивания». Сформулируйте, почему в настоящей машине это недопустимо, и запишите правило шины в бортжурнал.

⭐⭐ Приёмник

Добавьте регистр 74HC377 входами на шину: по фронту он забирает то, что сейчас звучит. Передача «источник → шина → регистр» — это и есть каждый второй такт работы процессора.

✅ Чек-лист

  • Объясняю tri-state и правило «говорит один»
  • Переключаю источники шины сигналами ~OE
  • ⭐⭐ Передал байт из источника в регистр через шину