Микроэвм своими руками
Добавил пользователь Владимир З. Обновлено: 05.10.2024
В 1989-1990 годах в приложении к журналу "Юный техник" был опубликован цикл статей о радиолюбительском компьютере "ЮТ-88" на основе процессора КР580ВМ80. Отличительной особенностью была возможность сборки компьютера поэтапно.
Компьютер минимальной конфигурации
Сначала предлагалось собрать компьютер в так называемой "минимальной конфигурации" - 1КБ ОЗУ, 1КБ ПЗУ, вывод информации на 6-разрядный семисегментный светодиодный индикатор. Ввод информации с клавиатуры из 17 клавиш (16 клавиш для ввода 16-ричного числа и одна клавиша "шаг назад" для перемещения на один байт назад). В ПЗУ размещалась простая программа-монитор, которая, несмотря на малый объём, позволяла программировать в 16-ричных кодах и даже загружать/выгружать программы на ленту. К слову, несмотря на кажущуюся убогость такого программирования, я сам когда-то начинал знакомиться с ассемблером для Z-80 программируя в 16-ричных кодах, и не считал это сильно неудобным. В компьютере была своя система прерываний, один раз в секуду. Это нужно было для хода программных часов, при этом время могло выводиться на индикаторы.
Компьютер не имел возможность воспроизводить звук, но это легко обходилось тем, что можно было выводить звук через магнитофонный порт. Для этого включали магнитофон на запись в режиме паузы. Одной из первых программ, демонстрирующих возможности компьютера, была программа "гамма" для проигрывания звуков различной тональности.
Немного о схемотехнике компьютера "минимальной конфигурации":
Схема проста - процессор КР580ВМ80, задающий генератор КР580ГФ24, шинный формирователь КР580ВК38, буферы шины адреса КР580ИР82, ПЗУ на двух КР556РТ5, ОЗУ на двух КР541РУ2, адресный дешифратор на К155ИД3. В компьютере вся память была разбита на сегменты по 4КБ, и таким образом одной К155ИД3 можно было делать выборку для любого из 16 сегментов памяти (или портов). Для уменьшения количества корпусов в качестве формирователей кода нажатой клавиши использовались две КР556РТ4, а для индикатора использовалась К155РЕ3, запрограммированная как преобразователь 4-разрядного двоичного кода в код для семисегментного индикатора. Индикаторы были включены в динамическом режиме, для чего автором остроумно были использованы две микросхемы ОЗУ К155РП1:
Не знаю как тогда, в 1989 году, но сейчас я эти раритеты не смог найти, пришлось делать замену, но об этом позже. Ещё было пару микросхем мелкой логики. И всё.
Уже потом выяснилось, что К155РП1 вроде бы можно заменить на К155ИР32 или ИР26 без доработок, т.е. "один в один". К155ИР32 от ИР26 отличается только тем, что имеет выходы с открытым коллектором.
Пару слов о ПЗУ. В своё время, читая все эти публикации про самодельные компьютеры, у меня появлялся вопрос - а как же программировать ПЗУ? Уже потом, изучив этот вопрос более основательно, я смог найти и схемы программаторов, и в конце-концов сделать самому универсальный программатор для ZX-Spectrum, который "шьёт" почти все УФ-ПЗУ и ПЗУ 556-й серии. Но тогда вопрос о программировании ПЗУ стоял остро. Хорошо было тем, кто мог отдать ПЗУ на какой-нибудь завод и "по знакомству" запрограммировать его. Но с моей точки зрения было бы правильнее сначала дать хотя бы минимальную информацию об этом вопросе. К слову, статьи по программированию К155РЕ3 появились только в номере №2/1991, а по программированию КР556РТ4 - в №6/1991 журнала. Впрочем если не брать в расчёт ПЗУ, то в параллели с публикацией описания конструкции компьютера были даны справочные материалы по основным микросхемам компьютера.
Вдобавок ко всему в журнале были ошибки как в схемах, так и в описаниях, что осложняло сборку. К тому же многие радиолюбители испытывали сложности с приобретением некоторых микросхем (той же К155РП1). Поэтому в №12/1989 журнала была опубликована статья "Отвечаем на вопросы", где были исправлены ошибки предыдущих публикаций и была дана схема компьютера на элементной базе, которую было проще найти.
Для компьютера даже была разработана дополнительная прошивка ПЗУ для арифметических операций (№3/1989 "ЮТ-88 в роли калькулятора"). ПЗУ представляло собой библиотеку подпрограмм как для простых вычислений, так и для вычисления тригонометрических, показательных и логарифмических функций для чисел с плавающей запятой. Исходные данные записывались в определённые ячейки памяти, вызывалась нужная подпрограмма, результат помещался тоже в ячейки памяти. Для работы ЮТ-88 в роли калькулятора нужно было впаять в схему дополнительное ПЗУ на 2КБ.
Видеоконтроллер
Следующим шагом было оснащение компьютера видеоконтроллером и полноценной клавиатурой. Как ни крути, но на одних индикаторах далеко не уедешь. В №4/1989 журнала появилась статья "От индикаторов к экрану", где описывалось как добавить к компьютеру простой видеоконтроллер.
Схема похожа на схему замены КР580ВГ75 для "Радио-86РК" (Журнал "Радио" №5,6/1987г). Принцип работы видеоконтроллера таков - имеется своё собственное видео-ОЗУ объёмом 2КБ, к которому может обращаться как процессор, так и сам видеоконтроллер. Процессору отдан наивысший приоритет, т.е. в момент обращения процессора к видеопамяти вывод изображения на экран приостанавливается. Визуально это проявляется в небольших помехах (мусор на экране):
Your browser doesn't support HTML5 video. Here is a link to the video instead.
Книжка посвящена примитивной, даже скорее совсем примитивной микроЭВМ на процессоре К580ВМ80А отличается от всех что почти вся собрана на мелкой и совсем мелкой логике. Из за этого набрался 31 корпус.
Характеристики ее тоже простые:
ОЗУ 1Кб,
ПЗУ 0,25Кб,
ввод 12 кнопок,
вывод 24 светодиода.
Поиск в сети не принес того что кто то собрал эту железку. Собственно есть может в ней есть и ошибки. В книге схема нарисована по кускам, я попробовал ее собрать воедино.
просьба ее проверить и сообщить о всех неточностях.
Прекрасно понимаю что ее можно упростить, воткнув вместо СК на рассыпухе и Шинных буферов К589АП16 Настоящий СК К580ВК28/38 Вместо 4-х разрядных ОЗУ и ПЗУ 8 разрядные, так же заменить буферные К155ЛН1 на К580ИР82. Да и вообще поставить маложоркие 533 или 1533 серии. Но об этом позже.
Для начала давайте доведем до ума базовый вариант? Как такое предложение?
Когда-то давно, когда мои познания в области электроники были не столь внушительны, мне в руки попала замечательная книга В. Г. Бартенева "От самоделок на логических элементах до микроЭВМ". Собственно, первая часть, где описывались всевозможные конструкции на микросхемах, меня не очень заинтересовала. Но вот вторая. Здесь рассказывалось как, шаг за шагом, собрать своими силами ЭВМ. ПК в то время у меня не было, про интернет я вообще не знал, спросить совета было не у кого, но желание собрать свою, пусть и примитивную ЭВМ, взяло верх.
Со временем, бродя по барахолкам, доставал нужные микросхемы. Компьютер собирался на макетной плате, как и советовал автор книги. До сих пор с улыбкой вспоминаю то время, я даже не догадался, что перед впаиванием в схему, ПЗУ нужно предварительно запрограммировать! Мне казалось, что "все уже там есть". В конце - концов, проект был надолго заброшен. И вот, спустя много лет, вспомнил о давней мечте. Желание собирать все на макетке отпало сразу же отпало - это жесть (ИМХО).
К сожалению, печатных плат никто не делал (а может и делал, единственный рабочий вариант этого компьютера я нашел тут). Пришлось потратить неделю на эту работу. Печатку, как обычно, разводил в Sprint Layout (пора бы освоить что-нибудь посерьезнее, типа Kicad'a, но пока как-то желания нет). Оригинальную схему немножко изменил: заменил две микросхемы К541РУ2 на одну КР537РУ10, вместо двух ПЗУ КР556РТ5 поставил одну М27128. Если что - можно будет подкорректировать прошивку.
Как выяснилось, половина микросхем, сохранившаяся от предыдущих экспериментов, оказалась нерабочей. Поехал на радио рынок покупать новые. Приезжаю, значит, даю продавцу список с нужными деталями. Тот рассматривает его секунд 20, потом с удивленным видом поворачивается ко мне и говорит: "Ну ты меня и удивил. Это такое старье, что я даже не помню, когда я в последний раз видел эти микросхемы". Судя по надписям на микросхемах тот же вывод напрашивался сам собой. Год выпуска К155РП1 аж 1982. Неудивительно, что сейчас найти их очень трудно.
Первый, собранный вариант ЮТ-88 выглядел так:
После некоторых раздумий подкорректировал рисунок платы. Вывел на системный разъем все сигналы выборки адресного пространства с дешифратора DD7 и сигнал WAIT с 24 ножки процессора. Теперь схема выглядит так:
Рисунки будущей платы
Сейчас занимаюсь отладкой программатора для ПЗУ. Продолжение следует.
16.05.2013 Ура! Пришла готовая ПП с завода!
05.06.2013 И все-таки нашел один "косяк" на плате - забыл на дешифратор DD7 подать сигнал выборки (общий провод на ножки 18 и 19). Ну да ладно, поставлю маленькую перемычечку. После включения стала сильно греться РУ10. Вначале не понял в чем дело, но потом, когда начал измерять напряжение на выводе 18 (CS), оказалось, что там уровень соответствующий лог. 0. Т.е. микросхема всегда находилось в состоянии выдачи информации на шину данных, даже когда процессор не обращался к ОЗУ. Совсем забыл, что К155ЛА8, с помощью которой осуществляется выборка ОЗУ, имеет выход с открытым коллектором. Пришлось поставить резистор 1 кОм между выводом 18 DD12 и шиной +5В. Под него даже дырки не пришлось сверлить. Один вывод воткнул в переходное отверстие, второй подпаял прямо к дорожке на плате. Больше недочетов замечено не было. Для питания использовал БП АТХ от компьютера. В разъеме блока питания нужно поменять провод -12В (синий) на -5В(белый), а то погорит схемка.
06.06.2013 Наконец то! Сбылась мечта детства! Компьютер заработал! Вот он:
10.11.2013 Записал небольшое видео, демонстрирующее работу микроЭВМ
27.11.2013 Замена микросхем К155РП1 на КР1533ИР32
"Простейшая микро-ЭВМ" и другая литература.
Существует интересная книжка, где изложены базовые принципы построения ЭВМ. Предлагаемый в книге компьютер чем-то напоминает "Радио-86РК", только еще проще, без КР580ВГ75.
В качестве устройства вывода предложен индикатор на светодиодах.
"Книга в доступной форме рассказывает о простейших ЭВМ на базе микропроцессоров, что позволяет создать эти машины в школьном кружке радиолюбителей или дома. Составляющие рассматриваются комплексно и иллюстрируются примерами. Основная цель - помочь разобраться в том, что такое микропроцессор, как он работает, как необходимо его программировать и как на его основе создавать различные устройства."
Буреев Л. Н., Дудко А. Л., Захаров В. Н. Простейшая микро-ЭВМ: Проектирование. Наладка. Использование. — М.: Энергоатомиздат, 1989. — 216 с. — (Научно-популярная библиотека школьника).
ZX Evo r.C Leningrad-2012 Pentagon 1024SL 2.2 ZXM Phoenix r.4 Speccy 2010 Байт Дельта-С МК-161 MaxiMite
Читайте также: