Сигналы шины расширения ZX Spectrum

ZX Land #05

Ты и твой SPECTRUM

Наверняка многим из читателей хотелось бы поиграть со своим SPECCY по-другому. В этой статье я расскажу вам, что и как можно делать с вашим компьютером.

А теперь коротко — что находится на шине:

(Черта над сигналом означает, что на нём активен низкий уровень.)

********************************
*№  * верх         * низ       *
********************************
*1. * НЕ ЗАНЯТО    * A11       *
*   *              *           *
*2. * A10          * A9        *
*   *              * ------    *
*3. * A8           * BUSACK    *
*   * ----         * -----     *
*4. * RFSH         * ROMCS     *
*   * --           *           *
*5. * M1           * A4        *
*   *              *           *
*6. * -12V(ПРИМ.)  * A5        *
*   *              *           *
*7. * +12V(ПРИМ.)  * A6        *
*   * ----         *           *
*8. * WAIT         * A7        *
*   *              * -----     *
*9. * -5V          * RESET     *
*   * --           * -----     *
*10.* WR           * BUSRQ     *
*   * --           *           *
*11.* RD           * U(ПРИМ.)  *
*   * ----         *           *
*12.* IORQ         * V(ПРИМ.)  *
*   * ----         *           *
*13.* MREQ         * Y(ПРИМ.)  *
*   * ----         *           *
*14.* HALT         * VIDEO(ПРИМ.*
*   * ---          *           *
*15.* NMI          * ЗЕМЛЯ     *
*   * ---          * -----     *
*16.* INT          * IORQE     *
*   *              *           *
*17.* D4           * A3        *
*   *              *           *
*18.* D3           * A2        *
*   *              *           *
*19.* D5           * A1        *
*   *              *           *
*20.* D6           * A0        *
*   *              *           *
*21.* D2           * CK        *
*   *              *           *
*22.* D1           * ЗЕМЛЯ     *
*   *              *           *
*23.* D0           * ЗЕМЛЯ
             ЩЕЛЬ
*24.* НЕ ЗАНЯТО    * +9V(ПРИМ.)*
*   *              *           *
*25.* D7           * +5V       *
*   *              *           *
*26.* A13          * A12       *
*   *              *           *
*27.* A15          * A14       *
*******************************

Сигналы с пометкой «ПРИМ.» могут отсутствовать в некоторых моделях — лучше проверить.

Это описание нужно переписать и повесить над кроватью в комнате.

А теперь — описание выводов Z80 на краевом разъёме. Возможно, оно слишком сложное, но проще объяснить я не сумел.

A0–A15 — адресная шина.

По адресной шине процессор передаёт адрес ячейки памяти или номер порта. Следует помнить, что номер порта передаётся по восьми младшим линиям адресной шины.

D0–D7 — шина данных процессора. По этой шине процессор отправляет данные в память или порты либо получает их оттуда.

M1 — сигнал, обозначающий цикл выборки команды процессором Z80.

Каждый цикл выполнения команды начинается с выборки команды из памяти. Во время цикла выборки формируется сигнал:

M1 = 0

Это отличает данный цикл от других циклов процессора. В тактах T2 и T3 этого цикла по адресной шине передаётся содержимое счётчика команд PC, после чего появляются сигналы:

MREQ = 0
RD   = 0

Они подключают память к шине данных. Процессор считывает данные с шины данных при переходе от T2 к T3. В тактах T3 и T4 выбранная команда декодируется и, если для её выполнения не требуются дополнительные обращения к памяти или порту, выполняется. В эти же такты происходит обновление динамической памяти: формируются сигналы

RFSH  = 0
MREQ  = 0

а на биты 0–6 адресной шины подаётся содержимое регистра R.

При выборке следующих байтов команды или во время её выполнения происходит чтение данных из памяти либо запись данных в память.

Циклы чтения и записи состоят из трёх тактовых интервалов. В такте T1 цикла чтения процессор формирует сигналы:

A0–A15 = адрес памяти
MREQ   = 0
RD     = 0

В такте T2 состояния выходов не изменяются. В первой половине такта T3 процессор считывает данные с шины данных, а во второй половине этого такта перестаёт формировать сигналы:

MREQ и RD

В такте T1 цикла записи процессор формирует сигналы:

A0–A15 = адрес памяти
MREQ   = 0
D0–D7  = выходные данные

Во второй половине такта T2 процессор формирует сигнал:

WR = 0

В такте T3 процессор перестаёт формировать сигналы:

MREQ и WR

Цикл выполнения команды ввода-вывода отличается от циклов чтения и записи тем, что вместо сигнала

MREQ

формируется сигнал

IORQ

а между тактами T2 и T3 автоматически вставляется цикл ожидания.

MREQ — выходной сигнал, обозначающий, что по адресной шине передаётся адрес памяти.

IORQ — выходной сигнал, обозначающий, что по младшим линиям адресной шины передаётся адрес порта.

RD (Read) — выходной сигнал, обозначающий чтение из памяти или порта.

WR (Write) — выходной сигнал, обозначающий запись в память или порт.

BUSRQ — входной сигнал запроса на освобождение шин процессором.

Если памятью пользуется не только процессор, то в момент, когда другое устройство хочет что-либо прочитать из памяти, оно должно получить «свободную» шину. Для этого, когда устройству нужно выполнить какие-либо операции с памятью, оно должно сформировать сигнал:

BUSRQ = 0

Процессор считывает этот вход в последнем такте цикла выполнения команды. Если…

При BUSRQ = 0 процессор переводит шину в состояние высокого импеданса и генерирует сигнал BUSAK = 0. Состояние входа BUSRQ проверяется на каждом такте. Когда на нём снова появляется 1, процессор сбрасывает сигнал подтверждения и возобновляет цикл команд.

На этом пока всё. Продолжение — во второй части...

Mały

Поделитесь вашим мнением о статье