Кошик

Ваш кошик порожній

Solder Demon
Зміст документації/Сигнали шини

Сигнали шини

Усі п’ять слотів шинної плати несуть ту саму 64-контактну шину розширення rosco_m68k, з’єднану пін у пін. Ця сторінка пояснює, що робить кожен сигнал, — для тих, хто проєктує карту або шукає несправність. Сітку пінів так, як вона виглядає на платі, дивись у розпіновці в кінці посібника зі складання.

Описи нижче стосуються основної плати rosco_m68k r2 з MC68010. Назви сигналів — як надруковано на шинній платі.


Що таке шинна плата, а що ні

Шинна плата пасивна: мідні доріжки, вузол живлення й більше нічого. Між слотами немає буферів, драйверів чи термінаторів. Кожен сигнал на шині йде прямо від процесора або логіки на основній платі.

Звідси три наслідки для тих, хто проєктує карти:

  • Кожна карта додає навантаження. Виходи основної плати не мають запасу струму. Використовуй входи CMOS або HCT і став буфер на карті, якщо вона вішає кілька входів на одну лінію.
  • Ніколи не живи світлодіод від лінії шини. Використай транзистор або зроби так, щоб пін втягував струм.
  • Спільні лінії треба ділити чемно. Лінії з відкритим колектором лише притягуються до нуля, ніколи не виставляються в одиницю (див. нижче).

Який слот

Слоти електрично однакові, тож будь-яка карта працює в будь-якому слоті. У проєкті плати слот BUS5 — крайній праворуч, найдальший від вузла живлення — позначено як рекомендований для основної плати.

Ніколи не вставляй і не виймай карту при ввімкненому живленні.


Довідка по сигналах

Напрямок — з погляду основної плати: вихід виставляє основна плата, вхід виставляє карта.

СигналПіниАктивнийНапрямокЩо робить
VCC2——+5 В для кожної карти. Див. Живлення та джампери.
GND6——Земля.
CLK4—вихідСистемний тактовий сигнал, 10 МГц, шпаруватість 50 %.
A1–A231, 3, 5 … 45 (непарні)високийвихідШина адреси. A0 немає: байти процесор обирає через UDS і LDS.
D0–D1538–64, див. розпіновкувисокийвхід/вихідШина даних, 16 біт.
AS47низькийвихідСтроб адреси: адреса на A1–A23 дійсна.
RW59—вихідЧитання/запис: високий рівень — читання, низький — запис.
UDS34низькийвихідСтроб старшого байта: цикл використовує D8–D15 (парний байт).
LDS32низькийвихідСтроб молодшого байта: цикл використовує D0–D7 (непарний байт).
DTACK57низькийвхідПідтвердження передачі даних: карта виставила дані на шину або забрала їх. Процесор чекає, доки не побачить DTACK.
BERR49низькийвхідПомилка шини: завершує цикл винятком замість даних.
FC0–FC220, 22, 24високийвихідКоди функції: користувач чи супервізор, програма чи дані. Усі три в одиниці — цикл підтвердження переривання.
IOSEL16низькийвихідВід дешифратора адреси основної плати: процесор звертається до простору вводу-виводу.
EXPSEL18низькийвихідВід дешифратора адреси основної плати: процесор звертається до простору пам’яті розширення.
MFPIEO14низькийвхідНа основній платі r2: запит переривання рівня 3. Назва лишилася від плат r1, де цей пін був виходом дозволу переривань MC68901.
IPL026низькийвхідНа основній платі r2: запит переривання рівня 5.
IPL128низькийвхідНа основній платі r2: запит переривання рівня 2.
IPL230низькийвхідНа основній платі r2: запит переривання рівня 6.
RESET36низькийвхід/вихідСкидання системи. Основна плата скидає шину при ввімкненні; карта може притягнути лінію до нуля, щоб скинути систему.
BR55низькийвхідЗапит шини: карта просить передати їй керування шиною.
BG51низькийвихідНадання шини: процесор звільнить шину наприкінці поточного циклу.
BGACK53низькийвхідПідтвердження надання шини: тепер шиною володіє карта.
VPA8низькийвхідДійсна адреса периферії: запускає повільний цикл у стилі 6800, синхронізований з E, або просить автовектор під час підтвердження переривання.
E10—вихідТактовий сигнал для периферії сімейства 6800, одна десята від CLK.
VMA12низькийвихідДійсна адреса пам’яті для периферії сімейства 6800, синхронно з E.

Лінії з відкритим колектором

Лінії переривань (піни 14, 26, 28, 30) і RESET (пін 36) спільні для всіх карт. Кожна має підтягувальний резистор на основній платі: 4,7 кОм на лініях переривань. VPA (пін 8) має підтягування 10 кОм.

  • Притягуй ці лінії до нуля лише через вихід з відкритим колектором або відкритим стоком, ніколи звичайним двотактним виходом.
  • Ніколи не виставляй їх в одиницю: карта, що виставляє одиницю, поки інша тягне до нуля, — це коротке замикання.
  • Не додавай власних підтягувальних резисторів: тих, що на основній платі, достатньо.

Переривання

Карта запитує переривання, притягуючи свою лінію до нуля, і тримає її, доки процесор не підтвердить. У циклі підтвердження FC0–FC2 усі в одиниці, а на A1–A3 — рівень, який підтверджується. Тоді карта відповідає одним із двох способів:

  • Векторне: виставляє номер вектора на D0–D7 і подає DTACK.
  • Автовекторне: подає VPA замість DTACK; процесор бере фіксований вектор для цього рівня.

Перш ніж відповідати, карта має перевірити, що A1–A3 збігаються з її власним рівнем. Кілька карт можуть ділити один рівень, але тоді кожна має ще й знати, чи це вона просила.

Перш ніж обрати рівень, перевір, які рівні вже займають твої карти: див. карту пам’яті й таблицю IRQ у rosco_m68k hardware projects. Рівень 7 не маскується: залиш його для того, що справді цього потребує.

Захоплення шини

Карта, яка хоче сама керувати шиною, наприклад для DMA, використовує BR, BG і BGACK:

  1. Карта притягує BR до нуля.
  2. Процесор відповідає сигналом BG.
  3. Коли AS в одиниці, карта притягує BGACK до нуля, відпускає BR і керує шиною.
  4. Закінчивши, карта перестає керувати шиною й відпускає BGACK.

Поки шиною володіє карта, виходи адреси, даних і керування процесора перебувають у високоімпедансному стані.

Периферія сімейства 6800

VPA, E і VMA дозволяють 68010 працювати зі старою периферією 6800. Карта подає VPA; процесор тоді виконує повільний цикл синхронно з E і подає VMA, коли адреса дійсна. Ці цикли значно довші за звичайні, тож використовуй їх лише для мікросхем, яким це потрібно.

Дешифрування адреси

IOSEL і EXPSEL надходять від дешифратора адреси основної плати й дають карті простий спосіб дізнатися, до якої частини адресного простору йде звернення. Карта все одно дешифрує лінії адреси всередині цього простору, щоб відповідати лише на своїх адресах і ніколи не накладатися на основну плату чи іншу карту.


Лінії EXT: гребінка 2×8

Гребінка 2×8 під кожним слотом несе 16 запасних ліній, від EXT1 до EXT16. Непарні номери — в лівому ряду, EXT1 угорі, як і на гребінці 2×32.

Лінії EXT з’єднують п’ять слотів пін у пін і більше нікуди не йдуть: ні на основну плату, ні на живлення. Через них карти можуть обмінюватися сигналами між собою, не займаючи ліній шини, наприклад передавати приватне переривання чи сигнал вибору мікросхеми. Стандарту на їх використання немає: якщо дві карти використовують одну лінію, вони мають домовитися, що вона означає.