Поскольку у меня нет никаких аппаратных средств, где можно было бы проверить
работоспособность процессоров
1801ВМ2 методом замены, я озадачился такое
несложное устройство сконструировать, поскольку имеющиеся в доступе
1801ВМ2
чаще всего происхождения неизвестного, и хотелось бы убедиться в их годности,
прежде, чем что-либо на них собирать.
По изучению доступной документации и различных советов здесь на форуме, у меня
вырисовалась следующая схема для проверки работоспособности процессоров
1801ВМ2:
Смотреть
Задающий генератор (
DD1.1 - DD1.3) особенностей не имеет, разве что при низкой
частоте кварцевого резонатора могут понадобиться ещё пара конденсаторов для
устойчивого запуска и работы на основной частоте.
В принципе, и мультивибратор здесь должен подойти - такой пример у нас есть.
Триггер
DD4.1 формирует на прямом выходе тактовый сигнал
CLCI для процессора
вида меандр, инверсный выход триггера (
/CLCI) используется для стробирования
второй половины микросхемы
155ТМ2, участвующей в формировании сигнала
/RPLY.
Сам сигнал
/RPLY формируется как задержанный RC-цепочкой сигнал обращения к
памяти (
DIN или
DOUT), привязанный по фазе к
/CLCI.
К процессору сигнал
/RPLY я подвел элементом
DD5.1 с открытым коллектором, как
здесь советовали.
Цепь сброса и формирования сигналов запуска процессора (
DCLO,
ACLO) сделана
по образцу, приведенному в журнале
МПСС (элементы
DD2.2 - DD2.4).
Сигнал подтверждения "
приема адреса"
AR сформирован из сигнала
/SYNC цепью на
2-х вентилях без инверсии (
DD7.2, DD7.3) для того, чтобы при необходимости между
ними можно было добавить времязадающую RC-цепь.
Вентиль
DD3.2 типа И-НЕ отслеживает обращения процессора к памяти (
/DIN или
/DOUT),
но поскольку нас временно интересует только чтение из памяти, то вместо
/DOUT
перемычкой
S2 на втором входе вентиля задана логическая единица.
По сигналу чтения памяти с выхода
DD3.2 включаются вентили
DD5.2, DD5.3 с открытыми
коллекторами, которые на увешанной резисторами шине адреса/данных процесора выставляют
логический "0" в разрядах
AD5,
AD7.
Процессор считывает это число как
00A0h (или
000240о), что есть код операции
NOP.
Буферные регистры
DD8,
DD9 фиксируют по умощненному повторителем сигналу
/SYNC текущий
адрес, по которому процессор считывает очередной код операции. Поскольку этот адрес не
используется, буферные регистры адреса нагружены светодиодами, которые, собственно, и
индицируют сам факт целостности процессора при переборе им адресов ячеек памяти в
диапазоне
0000 - 0FFFFH и выполнении искусственно имитируемой команды
NOP.
Вход
WAKI подключен к общему проводу, что заставляет процессор рассматривать все своё
адресное пространство как непрерывную цепь ячеек памяти и не вспоминать о каких-либо
"
окнах обмена".
На все неиспользуемые входы процессора подан сигнал логической "1".
Как это всё должно, на мой взгляд, работать:
Вся обвеска процессора выполнена по схемам, представленным в литературе, обсуждаемой
здесь на форуме. И в принципе с этой обвеской можно реализовать далее любую из них.
Единственным аппаратным трюком является подача двух логических нулей на шину адреса/
данных процессора во время цикла чтения памяти для имитации кода команды
NOP.
Вторым трюком, не требующим аппаратной поддержки, является то, что в схеме никак не
обрабатывается запрос процессором стартового адреса из внешнего регистра.
По включению питания или сбросу процессор читает этот внешний регистр, но считает лишь
логические "1" по шине данных от притягивающих резисторов.
Поскольку шина данных работает инверсными сигналами, процессор начнет работу с адреса
0000h.
С этого адреса он получит команду
NOP, перейдет к следующему адресу - опять
NOP, и так -
во всём диапазоне адресов
0000 - 0FFFFH.
Мне кажется, я ничего существенного не упустил, но поскольку этот процессор для меня новый,
за любую конструктивную критику и замечания - буду благодарен.