January 12, 2021

О чем - сделаем компьютер своими руками шаг за шагом

Я расскажу вам как сделать свой собственный компьютер шаг за шагом: мы разработаем его структуру, блок-схему, а затем и принципиальную схему. Потом разработаем печатные платы, закажем их производство и купим необходимые комплектующие. Потом напишем системное ПО, соберем и отладим наш компьютер. И запустим на нем дисковую операционную систему.

Я с детства мечтал конструировать ЭВМ. Закончил университет по специальности вычислительные машины, комплексы, системы и сети. В 1998 году. Тогда было не до конструирования ЭВМ. А страсть осталась.
С тех пор было многое: самодельные компьютеры, игрушки, промышленные контроллеры, самоделки на МК. Но желание конструировать именно ЭВМ не пропало. Чтобы все "по взрослому": блок CPU, PIC, RAM, контроллеры ввода-вывода и т.п.

Недавно наткнулся на описание миниЭВМ АЮША. И меня зацепило.
Дальше - больше. Я стал изучать первоисточник, послуживший вдохновением автору АЮШИ - труды Гранта Сирила. Ну и конечно решил попробовать.
Сначала я решил повторить конструкцию Гранта Сирила с небольшими изменениями, а затем двигаться дальше: разработать модульный компьютер с поддержкой шины, PIC и изменяемой конфигурацией.

В оригинальную конструкцию Гранта Сирила я добавил буферизацию Шины Данных, параллельный порт на базе i8255 (КР580ВВ55), а так же вывел на внешний разъем внутреннюю шину. К сожалению, в процессе разработки печатной платы в погоне за уменьшением её площади я допустил, как оказалось, большую ошибку: исключил внешний разъем системной шины. Что серьезно ограничило возможности подключения внешних устройств.

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

Что у меня получилось: одноплатная микроЭВМ со следующими характеристиками:

  • CPU Z80 на частоте 7,3726 Mhz;
  • RAM 64K - статическая память полностью доступная для приложений;
  • ROM 32K - доступно 2 банка по 16К, выбирается перемычкой;
  • 1 или 2 (если не использовать видеоадаптер и адаптер клавиатуры PS/2) последовательных порта на скорости 115200Bps с сигналами RTS и CTS на базе Z80 SIO/2;
  • 3 8-битных последовательных порта на базе i8255 (КР580ВВ55);
  • Дисковый накопитель на базе CompactFlash card max емкостью 128Мбайт;
  • Адаптер клавиатуры PS/2 на базе ATMEGA 328;
  • Видеоадаптер на базе ATMEGA 328 c TV видеовыходом.

Пока я использую оригинальный BIOS Гранта Сирила. В дальнейшем планирую добавить в него ряд дополнительных функций, в частности автоматическую загрузку CP/M c CompactFlash card.

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