Во-первых я предлагаю определиться с терминологией.
Запись в память через системный разъем, минуя проц - это называется "прямой доступ к памяти", он же DMA. Поэтому, как бы ни было реализовано то, что хочет автор - это будет DMA.
Во-вторых, в начале 90х в Харькове известным железячником V.M.G. был изобретен девайс "Диджитайзер", то есть плата видеозахвата. Она в реальном времени отправляла в экранную область оцифровку изображения, поступавшего на плату по видеовходу. Можно откопать схему этого устройства (оно было реализовано на рассыпухе) и покурить, как там что сделано.
В-третьих, проц действительно лучше всего останавливать сигналом BUSRQ. Можно вообще посадить BUSRQ на землю, тогда проц все время будет остановлен, и шина будет в нашем распоряжении.
Чтобы управлять доступом в память, нужно генерировать следующие сигналы: адресная шина (A0-A15), шина данных (D0-D7), шина управления: MREQ, RD, WR. Итого 27 сигналов минимум. Некоторые из них (A15, A16, BUSRQ) можно посадить на постоянный уровень, так как они не изменяются. Если ног микроконтроллера не хватает для управления остальными - можно организовать мультиплексирование адреса и данных на одной шине, как это сделано, например, в 8051. Использовать регистры типа ИР22, ИР23, ИР27.
Что касается разрешения конфликтов между устройством на шине Z80 и видеоконтроллером - то лучше для простоты начать с безвейтовых клонов: Пентагон, Орель БК-08. Такие клоны гарантируют цикл доступа в память при обращении процессора без задержек, по крайней мере, каждые два такта процессора. Потренировавшись на таких клонах, можно перейти к оригинальному синклеру или клонам с вейтами.
Если необходимо синхронизироваться со схемой спека, и есть доступ только к 3.5МГц на системном разъеме - то для повышения частоты можно использовать ФАПЧ (PLL). Многие микроконтроллеры имеют встроенный ФАПЧ для умножения частоты, например, dsPIC33. Правда, надо обязательно смотреть датащит на предмет минимальной и максимальной входной частоты ФАПЧ, иначе умножить не получится.
А вообще, для данной задачи, в синхронизации нет особой необходимости. Следует выдерживать "консервативные" длительности импульсов обращения к памяти, с запасом, чтобы сработало при любых фазовых соотношениях тактовой частоты спектрума и микроконтроллера. Иногда будет возникать метастабильность, и схема будет глючить, но это будет происходить не так уж часто, а автор сказал, что сбои ему не критичны.




Ответить с цитированием