1. ВВЕДЕНИЕ.
Большинство компьютеров СПЕКТРУИ, получивших широкое
распространение в нашей страие, - самодельные, изготовленные
по одиой из разновидностей схем, которых существует около
десятка. Различные варианты схем с большей или меньшей сте-
пенью точности копируют работу фирменного СПЕКТРУМа. Напри-
мер, в одних схемах используются два поля памяти ОЗУ 16КХ8 и
32КХ8 (как в оригинале), в других схемах - общее поле памяти
ОЗУ - 48Кх8. В этом случае по разному решается (или не реша-
ется) задача полиой совместимости с оригиналом. Встречаются
отличия в реализации схем синхрогенератора, вывода изображе-
ния на телевизор, считывания с магнитофона, вывода звука.
Существует много отличий, связанных о имевшейся у разработ-
чиков элемеитиой базой и т.д.
В простейшем случае Вы имеете компьютер с объемом ОЗУ
48К, ПЗУ 16К, с устройством ввода/вывода - бытовым магнито-
фоном и, конечно, в такой конфигурации его можио использо-
вать как игровой, для усвоения элемеитарных иавыков и т.п.
Но для того, чтобы реализовать все потенциельные возможнос-
ти, заложенные в Ваш компьютер, его необходимо оснастить
всевозможными дополнительными устройствами ("примочками"). В
нашей книге пользователь СПЕКТРУМе (как самодельного, так и
фирменного) иайдет ряд схемных решений, цель которых - рас-
ширить возможности компьютера.
Ввиду большого резнообразия конструкций СПЕКТРУМа, не-
возможно описать подключение внешних интерфейсов с помощью
разъема платы или корпуса. Позтому для универсальности в
схемех указаны неименования сигналов микропроцессора, поль-
зуясь которыми, можно либо определить контакты разъема, ли-
бо, если нет разъема или его описания, припаяться непосред-
ственно к выводам микропроцессора. В компьютере СПЕКТРУМ ис-
пользуется один из лучших 8-ми разрядных микропроцессоров
Z80 (Z80A) или его отечественный аналог - КР1856ВМ1. Обозна-
чения его выводов приведены на рис. 1.
DO - D7 - шина данных,
восемь двунаправленных лнннй
с 3-мя состояннянн.Использу-
ется для ввода/вывода данных
микропроцессора, панятн н
периферийных устройств.
АО - А15 - шина адреса,
16 лнннй с 3-ня состояниями.
Используется для адресации
65535 ячеек памяти н 65535
портов ввода/вывода. В СПЕКТ-
РУМе возмошно обращение толь-
ко к 32 768 нечетным адресам
ввода/вывода, так как прн ну-
ле на шнне АО из-за неполной
дешифрации адреса всегда бу-
дет выбран 254-й порт ввода/
/вывода, который задейство-
ван в СПЕКТРУМе под чте-
ние/запись с магнитофона,
вывод звукового сопровожде-
ния, вывод цвета бордюра и
опрос клавиатуры. Прн адре-
сации портов ввода/вывода
чаще используют лнннй АО -
А7,т.е. 256 адресов. Заме-
тим, что прн этом на линиях
А8 - А15 присутствует содер-
жимое регистра В микропро-
цессора .
Til - выходной сигнал, активный в нуле. Показывает, что
ннкропроцессор производит выборку кода следующей операции из
памяти, а совместно с сигналом IORQ служит для подтверждения
прерывания.
MREQ - запрос памяти, выходной сигнал с 3-мя состояния-
ми. Нулевое состояние активно и свидетельствует о том, что
используется адресное пространство памяти, а не ввода/вывода.
IORQ - запрос ввода/вывода. Сигнал аналогичный MREQ, но
подтверждает использование адресного пространства ввода/вы-
вода , а не памяти.
RD - чтение.Выходной сигнал с 3-мя состояниями, активен
в нуле. Микропроцессор индицирует операцию чтения из памяти
или из устройства ввода/вывода.
WR - запись. То же, что RD, но для операции записи.
RFSH - регенерация. Выход микропроцессора. В нуле пока-
зывает , что на шине адреса с АО по А6 содержится адрес для
регенерации динамической памяти, которую микропроцессор Z80
производит самостоятельно во время декодирования кода опера-
ции.
HALT - останов. Выходной сигнал, активен в нуле. Указы-
вает на то, что микропроцессор выполняет команду останова
программы и до получения прерывания будет выполнять холостые
команды в состоянии останова для обеспечения регенерации па-
мяти .
WAIT - ожидание. Вход микропроцессора, активен в нуле.
Используется медленными устройствами памяти нлн ввода/вывода
для перевода микропроцессора в состояние ожидания до их го-
товности к передаче данных.
INT - прерывание. Вход микропроцессора, активен в нуле.
Может быть маскировано (запрещено) и разрешено соответствую-
щими командами микропроцессора. В СПЕКТРУМе каждые 20 не на
вход INT поступает аппаратно сформированный отрицательный
импульс, по которому микропроцессор переходит к выполнению
программы обслуживания клавиатуры, ннкрементнрует часы и так
далее.
NMI - немаскированное прерывание. Отрицательный фронт
на этом входе активизирует внутренний триггер NMI н автома-
тически присуждает микропроцессор произвести повторный за-
пуск(RESTART) с адреса 102 (0066 HEX).
RESET - сброс. Нуль на этом входе обнуляет счетчнк ко-
манд, регистры I и R, устанавливает режим прерывания 0 и
сбрасывает триггер разрешения прерывания. Во время RESET ши-
на адреса н шина данных находятся в 3-м состоянии, а все
сигналы управления неактивны.
BUSRQ - вход запроса на доступ к шнне, активен в нуле.
Микропроцессор завершает текущий машинный цикл, после чего
переводит шины адреса и данных, а также трехстабильные вы-
ходные сигналы управления в высокоонное состояние для того,
чтобы отдать управление этини шинани другин устройстван.
BUSACK - выход, нулей подтверждающий, что никропроцес-
сор передал управление шинани эапрашивающену устройству.
CLK - тактовый вход. В СПЕКТРУМе сюда подаются инпульсы
частотой 3,5 МГц.
2. БУФЕРИЗАЦИЯ ШИН КОМПЬЮТЕРА.
Фирменные и всевозножные варианты схен санодельных
СПЕКТРУМов, за редкин исключениен, инеют общий существенный
недостаток. Этот недостаток заключается в тон, что никропро-
цессор Z80 - сердце СПЕКТРУМа - не защищен никакини шинныни
форнирователяни, усилителяни или другини буферныни элемента-
ми. в фирненном конпьютере это обусловлено налым количествон
никросхен, подключенных к шинан никропроцессора (всего около
20), но и тан любая фирненная периферия, подсоединяеная к
краевону разъену платы, вынуждена на входе инеть буферные
элененты.
Санодельные конпьютеры и без того используют предельные
по нагрузочной способности режины микропроцессора, а, если
встает вопрос о дополнительной периферии, то тут уже без
усилителей шин не обойтись.
Зачастую с перегрузкой шин никропроцессора в санодель-
ных конпью^ерах связаны всевозножные неполадки. Бывает, что
не удается запустить правильно собранный конпьютер из-за раз-
броса паранетров даже для исправных никросхен. Напринер, Вы
вынинаете никропроцессор нз панельки и вставляете его в ис-
правный компьютер. Он оказывается в порядке, а на Вашей пла-
те - "не тянет".
Иногда компьютер работает, но часто "сбоит", сбрасыва-
ется, зависает, то после прогрева, то от помех по сети, то
при нажатии клавиш. Кстати, если работа конпьютера нарушает-
ся при нажатии клавиш, то по ним можно вычислить перегружен-
ную шину и буферизовать хотя бы одну ее. В общем, все эти
неисправности могут быть связаны с превышением предельного
уровня нагрузки микропроцессора, разработчики фирмы СИНКЛЕР
руководствовались, видимо, соображениями дешевизны, когда ие
заботились о периферии.
Пользователи же самодельных СПЕКТРУМов, особенно те,
которые не слишком озабочены их серийным производством, мо-
гут позволить себе "обвесить" компьютер буферными элементами
и затем нагружать на него всю мыслимую периферию.
Кстати сказать, когда в 1984 году разрабатывался один
из первых вариантов самодельных СПЕКТРУМов, впоследствии ок-
рещенный "Московским" вариантом, то в схему и плату компью-
тера были заложены буфера на К555АП6. Эти буфера можно по
желанию устанавливать при работе с периферией или. обходиться
без них, заменив их перемычками. Они не окружают микропро-
цессор, а работают только на внешний разъем.
Этот подход мы и рассмотрим. Он устраивает нас потому,
что не требует вмешательства в плату и схему компьютера и
обращается лишь к внешнему разъему. Правда, при этом внут-
ренние шины компьютера не будут буферизованы.
Для буферизации внутренних шин компьютера можно было бы
посоветовать следующий способ. Удалить микропроцессор и за-
менить его на небольшую плату, на которой установлен как сам
микропроцессор, так и буферные элементы, например, 4 штуки
К555АП6. Если у Вас запаяна панелька под микропроцессором,
то такой эксперимент провести будет не очень сложно. Хотя
существует одно проверенное правило - "лучшее - враг хороше-
го". Поэтому, если Ваш компьютер работает вполне устойчиво,
не сбоит и вообще не вызывает постоянных замечаний своей ра-
ботой, можно обойтись без вмешательства в схему компьютера,
а для подключения разветвленной периферии воспользоваться
внешней буферизацией.
Шины микропроцессора делятся на входные, выходные и
двунаправленные. Проще всего с входными шинами, такими как
WAIT, NMI, INT, RESET и так далее. Их вообще не нужно буфе-
ризовать .
Выходные сигналы, требующие усиления, это 16 линий шины
адреоа - А0-А15, а также сигналы управления, такие как RD,
WR,IORQ, MREQ и т.п.
«
Немного сложнее обстоит дело с двунаправленной шнной
данных D0-D7, потому что для ее буферизации требуется приме-
нение двунаправленных микросхем и управление переключением
направления передачи данных.
На рнс. 2 и 3 приведены схемы буферов шины адреса и уп-
равления, выполненные на распространенных мнкрссхемах
К589ИР12. Здесь и далее обозначения сигналов со штрнхом отно-
сятся к усиленный сигналам. Номиналы резисторов некритичны н
могут быть в пределах 10-20 ком.
Более сложная схена буфера шнны данных приведена на
рнс. 4. Правда, если заменить 4-х разрядный шинный формиро-
ватель К589АП16 на двунаправленный восьмиразрядный шинный
усилитель К555АП6, то схена будет выглядеть, по крайней мере,
более простой, да н количестве паек уменьшится. Сложность уп-
равления буферами объясняется стремлением достичь полной уни-
версальности в нх работе.
Здесь приняты меры к тону, чтебы не былс конкуренции на
шине данных внутри компьютера между внутренними источниками
и буферов, включенным на ввод данных по сигналу "на запись"
(WR без инверсии) н вовремя не переведенным в высоконмпе-
дансное состояние. Для этого служит сборка 8И-НЕ, выполнен-
ная на К555ЛА2. Сборка "отлавливает" те моменты, когда внеш-
ние устройства (устройства, находящиеся за буферсн) не выб-
раны, т.е. находятся в третьем состоянии, и отключает буфе-
ра от шнны. Кройе того, этот "диспетчер шнны данных" отклю-
чает CS на буферах еще н тогда, кегда от внешних устройств
поступает бе^т FF (все единицы, нн одного нуля на шнне дан-
ных), что, вообще говоря, неправильно. Но в этом случае роль
байта FF выполняет высокснмпедансный выход буфера и резисто-
ры R1-R8. Кстати, этн резисторы можно не ставить потому, что
они, как правиле, уже есть в компьютере. Чтобы это проверить,
нужно прочитать данные из незадействованного адреса внешнего
порта, н, если онн равны FF(255), то это говорит о подтяну-
тости шнны данных к плюсу.
Далее по схеме на рнс. 4. Если перемычка Е запаяна, то
буфер полностью универсален. При удалении перемычки буфер
становится зависимым от сигнала IORQ, т.е. буфер будет ра-
ботать только с внешними устройствами, адресованными как
порты ввода/вывода. От перемычек A,B,C,D зависит какие сиг-
налы используются в управлении буфером: непосредственно от
микропроцессора (в таком случае желательно в качестве инвер-
торов применить микросхемы нз серии ТТЛШ для уменьшения наг-
рузки на микропроцессор) или взятые после буфера сигналов
управления.
Если Вы установили в компьютер буфер шины управления,
то есть смысл использовать усиленные сигналы RD' и WR1. Опыт
показывает, что возникающая при буфернрованнм задержка около
30 не в данном случае несущественна.
Оставшиеся незадействованнымн два элемента 2ИЛИ-НЕ мож-
но использовать для выработки сигнала очень полезного при
работе с периферией, связь с которой устанавливается по пре-
рыванию. Этот сигнал INTA (аналогичен сигналу INTE микропро-
цессора КР580ИК80А(18080)) н служит для подтверждения полу-
ченного прерывания. У микропроцессора Z80 нет такого сигна-
ла, но сигналы Ml и IORQ свидетельствуют о выборке вектора
прерывания с шнны данных, поэтому их комбинация может слу-
жить в этом качестве.
На рнс. 5 представлена схема дешифратора адресов портов
ввода/вывода. Это также необходимая вещь, если Вы подсоеди-
ните к компьютеру периферию. Дело в том, что в фирменном н
почти во всех самодельных компьютерах СПЕКТРУМ очень грубо
дешифрируется адресное пространство ввода/вывода, а именно:
все четные адреса (при А0=0) задействованы под внутренний
порт с адресом 254, который "занимается" бордюром экрана,
магнитофоном, звуком н клавиатурой. Кроме того, по концеп-
ции фирмы под периферию, выпускающуюся для СПЕКТРУМа, заня-
ты адресные линии А5 н Аб.
Некоторые пользователи жалуются на неработающую перифе-
рию. Часто причина этого в том, что в схеме уже стоит какой-
либо грубо адресованный порг, и в результате возникают конф-
ликты иа шине, т.е. выбираются одновременно более одного ис-
точника .
Если Вы хотите избежать зтнх трудностей при Ваших экс-
периментах, используйте более точный дешифратор адресов. Де-
шифратор, изображенный на рнс. 5, рассчитан на 8 периферий-
ных устройств и при желании может быть расширен дальше, сле-
дующий дешифратор К555ИД7 можно присоединить, используя в
качестве сигналов выбора вывод 8 микросхемы DD3 н адресную
линию АЮ^н т.п.
Адресные лнннн А5,а6 ие используются, чтобы не конку-
рировать с уже разработанными периферийными устройствами с
"кемпстоновской" адресацией.
На рис. 6 приведена для примера буферная схема для шин
адреса, данных н управления, выполненная на микросхемах
К580ВА86. Адресную шину можно буфернровать полностью, доба-
вив еще одни элемент аналогичный DDI. Буфер в шине управле-
ния на DD3 тоже не нуждается в комментариях. Особенностью
этой схемы является управление переключением направления бу-
фера даииых иа DD2. В связи с тем, что направление передачи
даииых в микросхемах К580ВА86 нельзя изменять во время их
активного состояния, как это делалось в К589АП16, в схему
введен RS-триггер.
Как Вы могли заметить, даииая схема буферизации ие уни-
версальна. Оиа рассчитана иа работу с портами ввода/вывода и
управляется сигналами выбора CS тех внешних устройств, кото-
рые подклочеиы к вашему компьютеру. Если таких устройств не-
сколько, то для объедшиеиия их сигналов выбора CS можно при-
меннть сборку, например, 8И-НЕ, как показано на рисунке. Те-
перь при адресации к любому из внешних портов любой из сиг-
налов С? переведет буфер шнны данных, выполненный на микро-
схеме DD2, из высоконмпедансного состояния в активное. Нап-
равление передачи данных через буфер в зто время удерживает-
ся RS-трнггером, включенным сигналами WR или RD в одно из
двух состояний. Заметим, что так как на сборку сигналов CS
заводятся сигналы выбора только от устройств, подключенных
после буфера, то при выборе какого-либо внутреннего порта
буфер будет находиться в высоконмпедансном состоянии н таким
образом не возникает конфликта на шине данных.
Приведенные здесь схемы вполне работоспособны, но мы
ставили своей целью осветить общие подходы к буферизации шмн
микропроцессора. Пользователи СПЕКТРУМа могут использовать
эти подходы при разработке собственных схем внешних уст-
ройств. Применяемые Вами в качестве буферных элементов мик-
росхемы могут быть самыми разнообразными в зависимости от
возможности их приобретения, потребляемого тока, размеров н
т.п. Кроме упомянутых микросхем в качестве буферов часто
применяются: К155ЛН1,ЛН2,ЛНЗ,ЛН4,ЛН5 - буфера без выводов
разрешения. К155ЛН6; К155ЛП7,ЛП8,ЛП10 - буфера с выводом
разрешения. К531АПЭ,АП4; К155ИПб,ИП7; К555АП5,АПб - двунап-
равленные буфера с выводами разрешения н другие.