PDA

Просмотр полной версии : Гибрид Специалист Экспресс и SP-580



HardWareMan
03.02.2023, 22:09
История такова. Был у меня Экспресс. Я его помаленьку грейдил, но в итоге время взяло своё - плата стала рассыпаться и он умер. Вот последнее фото, которое я успел сделать, когда он ещё работал:
https://i.ibb.co/NWBw7wS/Whats-App-Image-2023-02-03-at-22-56-37.jpg
В общем и целом, я какое-то время побыл без реального Спеца. А потом решил, что пора сделать ему замену. При этом, я помню, что на кружке были игры от SP580, которые были адаптированы под Экспресс и работали, даже с фирменной загрузкой экрана. Но я хотел пойти дальше и оценить софт для SP-580 в родном для него окружении, так родился проект гибрида. Так как старый Экспресс должен был послужить донором, то выбор процессора, ОЗУ и портов ввода-вывода не стоял. Но плату хотелось сделать по-проще, поэтому решил использовать EPM7128 в корпусе PLCC84. Спроектировал, нарисовал и отправил на изготовление.
https://i.ibb.co/6s2ss8c/1.png
https://i.ibb.co/9vS45zM/2.png
Приехала плата, собрал её.
https://i.ibb.co/jD3c3C0/IMG-1506.jpg
Пока ехала плата пописывал прошивки для CPLD. Отлаживал сначала на симуляторе в самом Quartus'е. Когда приехала плата продолжил отладку на живом экземпляре. В итоге всё работает как задумано. А задумано оно следующим образом.

Первая плисина, что стоит у ОЗУ, является, собственно, контроллером памяти. Она, по сути, только генерирует тайминги для всей схемы, работает с ОЗУ и формирует изображение на видеовыход. В этом гибриде цвет не предусмотрен, т.к. в Экспрессе и SP-580 он не был изначально. Эта же плисина формирует инверсные сигналы фаз тактирования для КР580ВМ80А по стандартной схеме формирования 12в импульсов а так же формирует 500кГц для генератора -5в. Плата требует +5в и +12в, как и Экспресс, ведь она предназначается для замены Экспресса и соответствующий блок питания там уже есть. А ещё, контроллер ОЗУ формирует ТТЛ сигналы F1 и F2 процессора, которые идут в контроллер устройств. На F2 удобно синхронизировать сигналы, а F1 позволит вытаскивать слово состояния процессора для расширенной адресации, если это мне понадобится. Просто потому что ПЛИС и свободные ноги. Кстати, первый вывод у ОЗУ так же разведён в ПЛИС и использовать РУ7/42256 можно. Т.е., организовать 256КБ без проблем, но повторюсь, в оригинальных машинах было только 64КБ (48КБ доступной).

Вторая плисина это маппер устройств. В ней реализованы оба маппера для режима Экспресс и SP-580. Так же там реализован контроллер SPI, причём, он на медленных скоростях способен тормозить процессор через сигнал RDY, что позволит упростить и ускорить процедуру обмена данными по SPI. Так же этот маппер соединяет системный ППА и таймер ВИ53, который есть в SP-580, согласно схемы этого компьютера. И при этом аппаратно изолирует его в режиме Экспресс, исключая необходимость обязательного его заглушения в этом режиме. Я использовал FLASH в корпусе DIP32 для организации ROM диска. С этого же диска стартует гибрид. В обоих конфигурациях ПЗУ может быть подключено как одна из 16 страниц в первые 32КБ (16 страниц для 512КБ FLASH). В ней можно хранить дополнительно какой-либо софт, причём он может работать из нее а само ПЗУ может быть обновлено самим процессором - все сигналы заведены. Так же в ПЛИС маппера есть регистр защиты от записи 8 верхних областей ОЗУ с шагом по 2КБ (C000,C800,D000,D800,E000,E800,F000,F800) для имитации ПЗУ. При старте содержимое оригинальных ПЗУ копируется с ROM диска по своим адресам (C000-C7FF и F800-FFFF для режима SP-580 или в C000-CFFF для Экспресса) и включается блокировка записи. При этом неиспользуемые области по умолчанию не защищены от записи (как и имеющееся оборудование) и если там нет оборудования согласно мапперу то там кусок ОЗУ, которое так же можно использовать.

Использование ПЛИС позволило реализовать детектор холодного пуска. Как работает запуск этого гибрида опишу ниже. При включении (подаче питания) у ПЛИС взводится флаг CLD. Загрузчик его анализирует и принудительно запускает выбор режима. Экран выбора режима выглядит вот так:
https://i.ibb.co/wBxNsqW/0204001849.png
При нажатии на пробел стрелочка меняет своё направление, показывая на выбранный режим. Нажатие на ВК запускает выбранный режим. Теперь, если нажимать сброс, то гибрид будет автоматически запускать именно выбранный режим и таким образом работа на нём не будет отличаться от работы на оригинальном компьютере. Но если нажать на сброс зажав при этом шифт, то можно вызвать выбор режима не выключая питание. Работа в самих режимах абсолютно ничем не отличается от работы на оригинальных компьютерах при использовании соответствующих образов ПЗУ.

На данный момент это всё. Это пока что доказательство концепта и рабочий прототип. Я хочу продумать варианты загрузчика, возможно будет выбор необходимого образа ПЗУ, в том числе и с карты, как это было мной сделано уже считай почти 10 лет назад. Есть конкретные сомнения по видеовыходу, который ещё надо подобрать и привести к полному стандарту, чтобы его брали все устройства без проблем. Магнитофонный компаратор тоже требует адаптации, ну и прочие детские болезни. Все нюансы, вопросы и предложения предлагаю обсудить. Так же есть десяток пластинок, которые были в составе заказа плат, если кому интересно.

После доведения устройства до нормального состояния к повторению вся инфа будет выставлена здесь и/или на гите. У меня пока всё.

fifan
04.02.2023, 20:54
Очень интересный гибрид получился!

Возникли вопросы:
1. Из фото видно, что все ключи микросхем ориентированны в одном направлении, а вот у ПЛИС контроллера памяти название повёрнуто. С чем это связано. Ведь можно же с лёгкостью переназначать пины.
2. Чем вызван выбор частота кварцевого генератора в 32 МГц?
3. Под какую микросхему поставлена панелька под 14 пинов?

Ждём дальнейшего продолжения темы! :)

HardWareMan
05.02.2023, 07:48
Очень интересный гибрид получился!
Спасибо.

1. Из фото видно, что все ключи микросхем ориентированны в одном направлении, а вот у ПЛИС контроллера памяти название повёрнуто. С чем это связано. Ведь можно же с лёгкостью переназначать пины.
Если ты заметил, то обе ПЛИСины не в общем фарватере ключей. Но если ещё внимательнее приглядеться, то замечаешь, что первыми пинами они обе смотрят на генератор. А связано это с одной штукой, которую переназначить нельзя:
https://i.ibb.co/qJDv0bg/image.png
И тактовые "рельсы" лучше не удлинять и не изгибать лишний раз.

2. Чем вызван выбор частота кварцевого генератора в 32 МГц?
Поставил то, что было под рукой. Но технически подойдёт любой гена с частотой кратной 8МГц, но больше её: 16, 24, 32, 48. У контроллера памяти есть свободные ноги. Скорее всего, я туда подключу пару джамперов и можно будет выбирать типа кварца. А возможно - и тип развёртки: мне уже сделали предложение дополнить выход стандартом VGA, пусть ЧБ, но чтобы можно было подключить к монитору. Так что, возможно, ревизия Rev.C будет уже уметь в него (сделаю по аналогии с МХ2).

3. Под какую микросхему поставлена панелька под 14 пинов?
Это DA1, компаратор. Я планировал его под К554СА3, но оказалось, что они у меня кончились, но есть их аналоги LM311, а они DIP8 и SOIC8. Под второй корпус я уже наутюжил себе переходников:
https://i.ibb.co/93L9gS2/image.png
Но в ревизии C скорее всего будет под DIP8 LM311, так как они доставаемы.

Ждём дальнейшего продолжения темы! :)
Облизательно будет. Из планов:

1. Важное, разместить на плате стабилизатор 5в на LM2576/LM2596 которые с суффиксом 5, чтобы питать плату от одного источника в 12в.

https://i.ibb.co/W6jT19N/Whats-App-Image-2023-02-05-at-10-33-51.jpg
https://i.ibb.co/yhFJfHb/Whats-App-Image-2023-02-05-at-10-34-03.jpg
https://i.ibb.co/LZKGQCF/Whats-App-Image-2023-02-05-at-10-34-10.jpg
Судя по показаниям датчика тока, покупной БП формата "зарядка" на 12в 1А хватит и на весь компьютер и на подключаемые устройства к дополнительному ППА с запиткой от компа (5в).

2. Rev.B будет только с ТВ стандартом и поселится вместо умершего Экспресса и скорее всего дорабатываться никак не будет. Rev.C будет уже с использованием SMD компонентов и, вероятнее всего, другого форм-фактора. Нужно подумать, правда, какого. Так же скорее всего будет заменена память на более плотную в плане корпусов. Возможно применение SRAM, только нужно будет регистр-защелку типа 573 предусмотреть, однако это всё равно 2 корпуса против 8 сейчас.

3. Надо подумать над формирователем F1/F2 для процессора. Я помню были изыскания для ухода от классической схемы с резистором, она же потребляет неплохо, нагревая сопротивления. Да и форма сигналов мне не нравится. Про -5 пока ещё не придумал, пусть остаётся как есть.

4. Есть ненулевая вероятность реализовать 5-8 цвет для Rev.C, но за это надо проголосовать, насколько это в принципе необходимо. Ведь SB-580 всегда был строго ЧБ, но он может запускать программы от Экспресса (те, что не используют монитор а только ПСПЗУ/BIOS), которые поддерживают цвет. 16 цвет внедрять смысла нет, это не МХ.

Пока как-то так.

fifan
05.02.2023, 09:02
По 2-му пункту предлагаю посмотреть корпус из ряда форм-факторов самого малого размера. Выбрать из стандарта (https://ru.wikipedia.org/wiki/Nano-ITX). Размеры платы и расстояния между крепёжными отверстиями известно.

derfliegenddehollander
26.02.2023, 12:28
"5-8 цвет для Rev.C" - голосую за 8мь цветов! Было бы неплохо в целом.

fifan
26.02.2023, 19:21
"5-8 цвет для Rev.C" - голосую за 8мь цветов! Было бы неплохо в целом.

А сделать переключаемые 5/8 цветов как в Специалисте МХ2 или всегда 8 цветов?

derfliegenddehollander
01.03.2023, 14:34
Я думаю "всегда 8-мь цветов"!