В уже далеком 1986 году у меня появилась мечта. Вернее, МЕЧТА –
построить свою собственную микро-ЭВМ «Радио-86РК», схема которой была
опубликована в журнале «Радио» (и который уже неоднократно упоминался на
Хабре, например, здесь —
habrahabr.ru/post/172405/ ).
До этого я уже немного разобрался с микропроцессорной техникой по серии
публикаций несколькими годами ранее в том же «Радио» о постройке
микро-ЭВМ «Радио Микро 80». К сожалению, схемотехнически «Микро 80» была
крайне сложной (более 200 микросхем), поэтому повторить ее мне было
практически нереально как из-за сложности постройки, так и из-за
невозможности достать детали.
Так что до поры до времени мне оставалось только писать программы на
машинных кодах в тетрадке в клеточку и мечтать о волшебнике в вертолете
любого цвета, который вдруг подарит мне эту самую «Микро 80».
Ситуация в какой-то степени изменилась после публикации статей о «Радио
86РК». 86РК был намного проще – содержал «всего лишь» 29 микросхем.
Только если до этого я четко понимал, что шансов нет вообще, то тут
вроде возможность получить собственную микро-ЭВМ теоретически появилась,
но практически вопрос с деталями все равно был почти нерешаем.
Немного поясню – в то время все было дефицитом, и радиодетали не были
исключением из этого правила. Мало того, многие детали в принципе не
поступали в розничную продажу. Тем не менее, достать можно было все. В
крупных городах были места (часто возле магазинов типа «Юный техник» и
т.д.), где стоило постоять с отсутствующим видом минуту-вторую, как к
тебе подходили крутившиеся неподалеку «товарищи» и невзначай спрашивали –
«Что-то нужно ?». Естественно, такая деятельность была совершенно
незаконна, и регулярно пресекалась соответствующими органами
правопорядка. Также, как в любом криминальном бизнесе, всегда
существовала опасность, что тебя целенаправленно «кинут», «разведут» или
вообще «подставят». Соответственно, мне, как жителю маленького села,
этот вариант мало подходил – и логистически был крайне сложен, да и
просто страшно было. Других же вариантов (при отсутствии
родственников/знакомых, работающих на предприятиях, где могла быть
требуемая номенклатура деталей) просто не было.
Поэтому настроение у меня только испортилось – уж лучше четко знать, что
это сделать невозможно, чем постоянно мучиться, прикидывая, нельзя ли
как-нибудь извернуться и найти необходимые комплектующие. В таких
мучениях прошло пару лет, я поступил учиться в ВУЗ в одном из крупнейших
городов Союза, и призрак 86РК стал более отчетливым. Скооперировавшись с
приятелем, мы сделали вылазку в фирменный магазин-салон «Электроника»,
без труда привлекли внимание находившихся там «коммерсантов» и стали
обладателями практически полного комплекта всего необходимого для сборки
РК – от микросхем до платы и кнопок клавиатуры.
Далее все пошло как-то не так. Сейчас мне даже сложно понять/вспомнить,
почему у нас не получилось. Факт остается фактом – тот компьютер так и
не заработал.
У меня было много детских мечт/желаний совершенно разных масштабов и
важности, и большинство из них воплотились в реальность. Однако пару
месяцев назад я вдруг осознал, что вроде остается еще одна
нереализованная, но прочно засевшая где-то в глубине сознания мечта –
все-таки построить «Радио 86РК». Причем не купить, а именно построить
самому, причем максимально приближенно к тому, что я мог сделать больше
20 лет назад.
К настоящему моменту я уже почти 20 лет не брал в руки паяльник и
осциллограф, так что имевшиеся кое-какие навыки были подрастеряны и
подзабыты. Ничего – я решил, что так даже будет интереснее.
Сначала нужно было определиться с некоторыми базовыми вещами. Во-первых,
конкретная схема устройства. Понятно, что есть совсем оригинальная
схема, опубликованная в «Радио» в 1986 году, но даже к ней потом
неоднократно публиковались исправления/добавления. Кроме того, одним из
самых слабых мест 86РК была оперативная память. В базовом варианте ее
объем был 16К (именно – шестнадцать КИЛОбайт), и организована она была
на 8 микросхемах 565РУ3. Даже новые РУ3 работали не очень надежно, а уж
как будут работать изделия более чем 20-летней давности (новые,
естественно, давным-давно не выпускаются) можно было уверенно
предположить. С другой стороны, совсем уж отходить от оригинала не
хотелось – ведь можно было просто собрать эмулятор на ПЛИС или даже AVR.
Поэтому на просторах интернета была найдена схема с использованием
современной SRAM памяти. Помимо уменьшения количества корпусов самой
памяти (вместо 16 штук РУ3 для 32К версии нужна только одна) также
выбрасывалась пара микросхем, обеспечивавших работу старой памяти. Тем
не менее, все остальное (в том числе адресное пространство памяти)
абсолютно соответствовало оригиналу, т.е. любые программы для
оригинального 86РК смогут работать на этом варианте, даже если они
обращаются к аппаратным ресурсам напрямую.
Второе большое решение было связано с выбором того, на какой плате все
это делать. Для найденной схемы также приводилась очень симпатичная
печатная плата, которую, к тому же, можно было купить. Однако мне
показалось, что это будет как-то нечестно – слишком просто. Ведь в том
же месте можно было купить вообще собранный компьютер… Поэтому было
решено пойти, наверное, самым сложным путем – макетная плата с монтажом
проводом МГТФ.
Дальше нужно было выбрать схему блока питания. Варианты были от
использования самой оригинальной схемы (довольно бестолковая реализация
классического БП) до использования стандартного БП формата ATX. 86РК
(вернее, микропроцессор 580ВМ80) требует 3-х напряжений питания (+5, -5 и
+12 В) и многие блоки питания от обычной PC-шки обеспечивают это. В
конце концов, решился на использование стандартного модуля питания,
устанавливаемого на плату. На вход такого подается что-то от 9 до 36 В,
на выходе получаем три нужные напряжения, да еще с желаемой
последовательностью включения/выключения.
Последний вопрос, на обдумывание которого я потратил некоторое время –
что делать с клавиатурой. Так и подмывало сделать печатную плату,
попробовав ЛУТ (лазерно-утюжная технология) для оригинальной клавиатуры,
но, в конечном итоге, стало интересно немного разобраться и с
современными технологиями тоже, поэтому решил оставить адаптер PS/2
клавиатуры, построенный на микроконтроллере ATMega 48. Фактически, этот
адаптер подключается к 86РК и имитирует оригинальную матричную
клавиатуру 86РК, тогда как с другой стороны у этого адаптера находится
самая обычная современная PC клавиатура с интерфейсом PS/2 (USB
реализовать заметно сложнее). Любопытно, что вычислительная мощность
этого микроконтроллера заметно выше, чем всего компьютера 86РК…
Наконец, пришло время заняться покупкой разных хреновин, фиговин и
фигнюшечек. Мне это всегда нравилось – как говорится, экипировка важнее
всего. Не важно, что не знаешь, как ее правильно одеть, зато смотришься
круто! Да и появляется чувство, что ко всему готов и все можешь :)
Скажу сразу, бюджет мероприятия меня не волновал вообще, главное было
потратить минимум времени и нервов на поиск всего необходимого. Поэтому
было решено купить все в интернет-магазине «Чип и Дип». На всякий
случай, покупалось все в двойном количестве – вдруг что-то сломанное или
не работает, а у меня как раз творческий порыв! В основном, обошлось
без больших проблем, хотя некоторые накладки были. А вот по ценам не
могу не высказаться – наверное, если бы я потратил немного времени и
прошелся (виртуально или физически) по другим местам, то 90% основных
комплектующих можно было бы купить раз в десять дешевле – и это не
преувеличение. Дело в том, нужные мне микросхемы в современных условиях
практически не применяются, поэтому понятие «рыночная цена» на них
просто отсутствует. Так что найти их можно от «бесплатно» (просто
поискав на соответствующих форумах) до «Чип и Дип» (т.е. даже странно
дорого – в валюте там ошиблись, что ли ?). При этом я понимаю, что это
дело самого магазина, и не жалуюсь, просто констатирую факт.
Вообще, конечно, сайт «ЧиД» — страшное место. Думаю, если бы в детстве у
меня появилась возможность приобрести в таком все, что душа пожелает,
то у меня просто случился бы разрыв сердца. Даже сейчас мне было сложно
оторваться от обосновывания самому себе, почему мне обязательно нужно
прикупить еще воон ту фигнюшку. Сам сайт сделан вполне нормально и
удобно, с приличным количеством информации. По крайней мере, ничего даже
близко похожего у других российских продавцов комплектующих я не
увидел.
Как уже сказал, с целью уменьшения нервотрепки и экономии времени
абсолютно все необходимое я нашел в «Чип и Дип». Все, за исключением
чуть ли не самого главного – макетной платы. С некоторым удивлением я
обнаружил, что нужного мне размера платы (а именно хотелось минимум
20х20 см) не найти вообще нигде. Пришлось обратиться к Google и уже
через 10 минут я заказал плату размером 10х10 дюймов в компании Twin
Industries, USA. С учетом срочной пересылки все это мне обошлось в
стоимость недорогого планшетника, но гулять так гулять!
Пока разбирался с платами, пришли первые доставки из «Чип и Дип». И
снова не могу не высказаться насчет цен на некоторые позиции. Чтобы
было, где хранить мои сокровища, я заказал несколько кассетниц. Цена
изначально показалась очень завышенной, но была надежда получить за эти
деньги что-то совсем гламурное. К сожалению, даже моя детская кассетница
из спичечных коробков выглядела (и работала) лучше. Я честно не
понимаю, как такое … можно даже пытаться продавать за такие деньги!
Причем дело не только (и не столько) во внешнем виде — качество
изготовления и эргономика использования просто кошмарные!
Кроме деталей, мне также нужны были инструменты, ведь мой любимый 36В
паяльник бесследно исчез где-то в вихре перестройки. Решив начать именно
с паяльника, я понял, насколько все изменилось со времен моего детства.
Особого исследования на эту тему я не проводил, если честно – просто
заглянул в магазин и выбрал с полки то, что приглянулось по внешнему
виду – а именно паяльную станцию ERSA i-CON pico. Уже дома обнаружил,
насколько этот инструмент несравнимо лучше всего того, с чем приходилось
сталкиваться раньше. Понятно, что можно установить температуру жала,
которая будет выдерживаться с большой точностью даже в процессе пайки.
Можно даже загружать с SD-карты кривые поддержания температуры! Правда, я
так и не стал разбираться, зачем это может понадобиться обычному
человеку, но звучит круто! Я лучше остановлюсь на более явных вещах,
которые напрямую прочувствовал на себе.
Во-первых, размер и вес паяльника, а также качество кабеля выше всяких
похвал. В руках паяльник почти не чувствуется, кабель очень гибкий и
термоустойчивый – если случайно задеть жалом, то следов на изоляции не
остается вообще. Думаю, что ручка моего старого паяльника весила больше,
чем весь паяльник от ERSA, а уж насчет кабеля и говорить нечего –
толстый, жесткий и при задевании жалом немедленно плавился и мерзко
дымил.
Во вторых, прогрев жала практически моментальный (вроде пишут о 9
секундах). Нагревательный элемент расположен практически внутри жала,
поэтому нет потери времени на прогревание ненужных частей, да и
температура жала таким образом поддерживается несоизмеримо лучше. Заодно
нет прогрева ручки паяльника – мой старый паяльник после часа работы
было невозможно держать в руках, настолько нагревалась ручка. Здесь же
такое впечатление, что единственным источником прогрева ручки является
тепло моих собственных пальцев.
В третьих, широчайший выбор жал, к тому же необгораемых. Выбор настолько
широк, что я так и не смог окончательно решить, что мне больше подходит
для тех или иных операций. Кстати, смена жала занимает буквально
секунды. Необгораемость сильно экономила время, да и не приходилось
отвлекаться в самый неподходящий момент на чистку жала. Небольшое
отвлечение – как-то раз в детстве, ремонтируя телевизор и будучи
погружен в него почти по пояс, задумавшись, я автоматически попытался
очистить жало паяльника, лизнувши его языком. Больше недели я не мог
есть ничего твердого…
В четвертых, меня поразила мощность этого миниатюрного паяльника. Старый
паяльник при заметно больших размерах и в три раза большем весе был
мощностью 25 Вт. При покупке паяльной станции я даже не взглянул на
мощность, решивши, что для мелких деталей ватт 20, на которые, очевидно,
можно рассчитывать, будет достаточно, а для вещей покрупнее я прикуплю
что-то помощнее. Какое же было мое удивление, когда я обнаружил, что
мощность этого паяльника 80 Вт! Поэтому (при использовании
соответствующих жал) он мог полностью удовлетворить меня в части пайки
любых мыслимых деталей.
Следующим пунктом в наборе инструментов стояла нормальная настольная
лампа. На сайте «ЧиД» я увидел нечто, именуемое «Лампа настольная
бестеневая люминесцентная». Учитывая такое интересное название, а также
весьма немаленькую цену, я ожидал получить что-то в стиле High-Tech, при
этом приличного качества. Какое же было мое разочарование, когда мне
привезли эту самую лампу… Не только качество исполнения, а даже дизайн и
конструктивные решения такие кошмарные, что я не мог всерьез поверить,
что это выпускается серийно! Выключатель сломался после третьего
включения, что привело к необходимости разобрать лампу и еще больше
поразиться схемотехническим решениям (там даже стартера нет, а зажигание
ламп происходит за счет механического выключателя, на который нажимаешь
в момент включения – т.е. пока прижимаешь пальцем, на нити накала
подается напряжение). Кстати, я посмотрел в интернете производителя –
вообще это медицинская лампа, предназначенная для дантистов…
Если паяльник я выбирал просто по внешнему виду, то к выбору инструмента
для зачистки провода МГТФ я подошел серьезно – воспользовался
yandex’ом. К моему удивлению, стало понятно, что такого инструмента
просто не существует! Все существующие инструменты просто не могут
справиться с фторопластовой изоляцией, особенно если провод тонкий. В
детстве для этого с успехом использовались собственные зубы, но сейчас
этот вариант уже не устраивал. В конце концов остановился на термическом
способе – сначала кончик провода нагревается паяльником в канифоли
(чтобы на проводе осталась небольшая капля канифоли), а потом этот
кончик погружается на пару секунд в расплавленный припой. Для данной
процедуры некоторые знатоки рекомендовали модифицировать жало паяльника,
но я решил пойти дальше и приобрел целую паяльную ванну. Звучит громко,
но на деле это довольно небольшая штучка, которая, тем не менее,
оказалась практически идеальной для моих нужд. После некоторых
экспериментов была найдена температура, при которой зачищалось строго
необходимое количество провода практически независимо от времени
погружения. Кроме того, провод сразу же оказывался хорошо залуженным,
что тоже ускоряло работу. Считаю, что данное решение сэкономило мне
очень много времени и нервов.
Правда, с таким способом очистки есть один неприятный нюанс – при
нагреве выше определенной температуры фторопласт разлагается на
составляющие, в числе которых находится и боевое отравляющее вещество
фосген. Я, конечно, понимал, что количество этих веществ такое, что даже
при годе непрерывной зачистки проводов я вряд ли наберу хоть как-то
опасное количество газа, но доставать домашних лишними запахами не
хотелось. Поэтому я с радостью понял, что это очень хороший повод
прикупить еще одну игрушку на сайте «ЧиД» — «Дымопоглотитель на
штативе». Это просто небольшой вытяжной вентилятор, который втягивает
воздух через сменный угольный фильтр. Вообще устройство вроде отработало
нормально – уровень запахов от пайки и чистки проводов при
использовании дымопоглотителя реально был намного ниже, чем без него. Да
и появившийся к концу проекта белый налет на фильтре тоже заставил
подумать о том, что без дымопоглотителя этот налет был бы в воздухе (а
потом и в наших легких). Единственное – уровень шума устройства заметно
выше, чем хотелось бы. Особенно учитывая то, что дымопоглотитель
вынужден был находиться прямо возле моей головы, через пару часов голова
начинала пухнуть от шума вентилятора.
Последним устройством, которое я прикупил для данного проекта, был
программатор микросхем ChipProg-48. Понятно, что можно было обойтись
намного более простым и дешевым устройством (или просто собрать самому,
что я когда-то делал), но захотелось получить прибор, который может
вообще все. Изделие российского производства, сделано вполне нормально,
ПО тоже выглядит более-менее. Прелесть устройства в том, что практически
не существует серийной микросхемы, которую этот программатор не может
прошить. А даже если появляется что-то совсем новое, то обновление ПО
программатора решает эту проблему.
Наконец, можно было начать процесс сборки. Все микросхемы решил ставить в
панельки – мысль о потенциальной необходимости перепаять микросхему, к
которой уже припаяно от 10 до 100 проводов, не внушала мне радости
(никогда не любил переделывать уже сделанное).
Первым этапом была установка панелек, разъемов и блокировочных
конденсаторов. Времени это много не заняло, и до этого совершенно чистая
макетная плата вдруг преобразилась и стала уже на что-то похожа.
Следующим этапом развел провода питания и установил 3 светодиода,
показывающих наличие питания на процессоре. Вообще хотелось сделать
красиво, поэтому для питания решил использовать провод заметно толще,
чем необходимо. К сожалению, красоты это не добавило, а вот проблемы
создало. Такой провод в паяльной ванне не чистился, поэтому приходилось
использовать кусачки, а это куча потерянного времени. Да и сам монтаж
такого провода тоже посложнее, чем тонкого МГТФ. К моменту, когда это
стало понятно, было уже поздно что-то переделывать, поэтому пришлось
доводить дело до конца.
После монтажа проводов питания проверил пробником правильность
соединений и не удержался, чтобы не подать питание на плату. Не только
ничего не задымилось, но даже все три светодиода засветились, что
дополнительно вдохновило – хоть что-то заработало!
Дальше пошел процесс монтажа основных проводов. Для этого использовал
МГТФ сечением 0.05 кв.мм., хотя, наверное, стоило взять 0.03 – было бы
еще прикольнее. После монтажа большей части проводов понял, что можно
было все делать на плате размером поменьше – осталась куча пустого
места. Хотя, на мой взгляд, так выглядит слегка интереснее.
Закончив практически со всеми проводами, соединяющими микросхемы,
доустановил оставшиеся элементы – небольшое количество резисторов,
транзисторов и конденсаторов, а также блок питания.
Во время установки «рассыпухи» добавил еще несколько монтажных проводов,
и с удивлением осознал, что на этом монтажная часть процесса вроде
закончена.
Если честно, в это как-то не верилось, но прозвонка шин адреса и данных
не обнаружила никаких ошибок в этой части монтажа, остальное я решил
проверять уже на этапе запуска.
Подошло время воспользоваться программатором. Запрограммировать нужно
было микросхемы знакогенератора 573РФ2 и монитора 573РФ6. К сожалению,
сразу же выскочила проблема. С РФ6 программатор вообще работать
категорически отказался – при начале программирования останавливался и
сообщал о неисправной ножке. Причем обе имеющиеся в наличии микросхемы
вели себя одинаково. Я так и не разобрался окончательно, в чем было дело
– микросхемы действительно неисправны, программатор неправильно
работает, или же я неправильно программатором пользуюсь. Просто съездил в
магазин и купил импортную микросхему, которая прошилась без малейших
проблем.
С РФ2 тоже возникла похожая проблема. Программатор сразу же заявил о
неисправной ножке (хотя как можно определить неисправность того
конкретного входа, я не понимаю), но при этом запрограммировал
микросхему, и проверка содержимого показала, что программирование было
успешным.
После заминки с ПЗУ все было готово к установке микросхем в панели. Как и
ожидалось, импортные микросхемы стали в импортные же панели идеально, а
вот российские корпуса с метрическими размерами лезли в дюймовые панели
не очень охотно. Впрочем, это известная и, чаще всего, не очень
серьезная проблема.
Наконец, наступил торжественный момент включения питания. Я понимал, что
такая конструкция, собранная проводами на макетной плате, сразу
заработать не может в принципе, поэтому даже не стал подключать
видеовход телевизора. Главное, после включения питания вроде ниоткуда не
пошел дым, ну и хорошо. Далее я взял осциллограф и посмотрел на
основные сигналы на процессоре. К моему удивлению, они были похожи на
что-то работающее, поэтому я решил уж взглянуть, что происходит на
видеовыходе. Самое странное, что и на видеовыходе осциллограф показал
наличие вполне осмысленного сигнала, с импульсами строчной и кадровой
разверток. Учитывая, что в 86РК видеосигнал формируется
видеоконтроллером, требующим программирования настроек, а также участия в
работе системы прямого доступа к памяти, наличие такого сигнала
говорило о том, что в системе много чего (если не вообще все) работает
правильно. Не веря самому себе, подключил телевизор и через несколько
секунд наблюдал надпись, которая неоднократно снилась мне в 1986 году –
«РАДИО-86РК», стрелочка и мигающий курсор!
С одной стороны, было радостно, но, с другой стороны, и немного грустно –
мечта исполнилась, а значит, ее больше нет. Может, не нужно было вообще
за это браться, пускай бы все так и оставалось?
На сладкое, решил придать устройству немного более законченный вид.
Сначала почитал, как резать оргстекло, потом купил все в том же «ЧиД»
кусок оргстекла, резак, стойки на плату и ножки для радиоустройств и
пустил все это в дело.
Ну, и в довершение, записал на ПЗУ диск одну программку, чтобы
продемонстрировать домашним, что это все-таки самый настоящий компьютер!