Дошли все-таки мои руки до нерабочей платы БК-0010-01, которая продолжительное время валялась у меня в барахле. Мысленно я уже распрощался с ней навсегда, поскольку одна мысль о возможности покопаться в этом царстве микросхем своими кривыми ручонками, приводила меня в животный страх. Люди, обсуждающие вопросы ремонта БК, кидающиеся друг в друга заклинаниями типа «реплай», «синк», «ноль-тридцать-седьмая» и т.п. для меня являются натурально магами и волшебниками во плоти. Вместе с тем, перечитывая по нескольку раз описания процессов собственноручных ремонтов БКшек, наподобие таких, ощутил на себе исключительно мотивирующее действие этих увлекательных рассказов. В один прекрасный момент у меня, что называется, зачесались руки и я решил – пора! С чего начать? Да с самого простого. А что сделать проще всего? Правильно, проще всего потратить деньги. Итак, я купил волшебные палочки, которые есть у всех настоящих магов и волшебников: осциллограф UNI-T UTD2052CL+ и анализатор логики Kingst LA1010.
Палочки купил, а вот «мозгов» не купил. Точнее не самих мозгов, их есть у нас, а знаний, которыми тоже неплохо обладать, чтобы волшебные палочки не провалялись без дела в коробках, превратившись в одну прекрасную полночь в тыквы. И вот тут я в первый раз рассыпаюсь в искренних благодарностях, которые сложно передать словами. Благодарностях к людям, которые, не считаясь с личным временем терпеливо отвечали на мои бесконечные идиотские вопросы. В первую очередь это Максим Багаев aka Maxiol. Я несколько раз перечитывал раздел его сайта о ремонтах БК, в том числе и
моей,
которая попала к нему с достаточно нетипичной и трудно диагностируемой неисправностью. Кроме Максима, мне очень помогли Миша aka NightGryphon и Дима Апраксин. Прошу прощения у тех, кого не упомянул. Скажу одно - никто мне ни разу не отказал в помощи!
Итак. История начинается. А начинается она с процессора КР1801ВМ1. Проверяем, подается ли на процессор напряжение питания и получает ли он тактовые импульсы. Подключение обоих каналов осциллографа к ножкам 1 (CLC) и 42 (VCC) дало на экране красивую картинку, свидетельствующую о том, что питание на процессор, равно, как и тактовые импульсы на процессор подаются.

Идем дальше. По очереди проверяем сигналы на ножках 38 (DIN), 39 (RPLY), 41 (SYNC). Тут все очень печально. Осциллограф рисует ровные линии, которые означают, что какая-либо активность отсутствует в принципе.

Процессор стоит намертво и не запускается.
Внимательнейшим образом, по нескольку раз читаем
Описание процессора К1801ВМ1,
где, в частности, подробно описана процедура его старта.
Из описания узнаем, что для запуска процессора необходимо установить в высокий физический уровень два сигнала питания: DCLO (сигнал «авария источника питания») и ACLO (сигнал «авария сетевого питания»), именно в таком порядке, и обязательно разнесенные во времени для того, чтобы, при получении сигнала об отключении сетевого питания, была запущена процедура сохранения жизненно важных данных за время разряда конденсаторов в источнике постоянного тока. Итак, смотрим на протокол включения ЭВМ.

Первым, после подачи питания должен подняться сигнал DCLO, потом, через определенное время ACLO. В технических документациях к ЭВМ, работающих на процессорах типа К1801ВМ1, указано, что временной промежуток между DCLO и ACLO должен быть от «не менее 70 мс» до «не менее 250 мс» в зависимости от типа ЭВМ. И только при соблюдении этого условия, процессор начинает работу.
Переключаем осциллограф на ножки процессора 29 (DCLO) и 30 (ACLO), включаем режим и что мы видим?
А видим мы, что сигналы ACLO и DCLO появляются практически одновременно с разрывом всего в 172 микро(!!!)секунды, вместо требуемых по протоколу запуска десятков и сотен миллисекунд.

Замер этого параметра на заведомо исправной плате показал, что между DCLO и ACLO проходит порядка 330 милли(!!!)секунд, то есть ровно треть секунды, что уже соответствует технической документации на процессор. Так что, уже тут было явно что-то не так. Однако, наличие пусть и минимального, но все же промежутка между сигналами DCLO и ACLO давало основания полагать, что процессор вполне мог запуститься и должен был подавать хоть какие-то признаки жизни, которых мы не наблюдали.
После продолжительных дебатов, в которых принимать хоть какое-то осмысленное участие мне не позволяло всяческое отсутствие опыта и знаний, а также после детальных исследований и объяснений мне принципов работы схемы цепи запуска процессора и анализа ее работы при помощи осциллографа (в частности, был детально разобран и осмыслен процесс работы JS-триггера) необходимо было принять решение.


Так как никаких ошибок в логике работы схемы запуска найдено не было, кроме подозрительно малого времени между сигналами DCLO и ACLO, коллегиально процессор был признан умершим и приговорен к замене. Удаляение с паты процессора производилось по методике Максима. Ножки процессора по одной аккуратно откусывались миниатюрными бокорезами. Остатки ножек выпаивались с платы паяльником и пинцетом. Отверстия прочищались бамбуковыми зубочистками. Метод вполне рабочий и, при определенной доле сноровки и правильно подобранной температуре паяльника, дает отличный результат. Этот конкретный экземпляр платы был по-видимому сильно пересушен и дорожки на плате буквально дышали на ладан. При температуре паяльника 250 градусов, контактные площадки отходили от платы при малейшем прикосновении.
Забегая вперед, скажу, что до сих пор нет однозначного ответа на вопрос, правильным было решение о замене процессора или ошибочным. Как бы то ни было, процессор было решено заменить. Да и от дополнительного опыта и возможности прокачать навыки пайки было грех отказываться.
После приобретения нескольких экземпляров процессоров (про запас, конечно же) и его замены, компьютер, ожидаемо не запустился. К моменту, когда пришло время перепаивать процессор, уже пришел и заказанный анализатор логики.

Имея в наличии весь инструментарий, грех было сдаваться и сходить с дистанции.
Подключаем полученный анализатор логики к основным ножкам установленного процессора (SYNC, DIN, RPLY).

Видим, что картина на ножках процессора, хоть и не кардинальным образом, но изменилась (или мне просто хотелось верить, что процессор был заменен не зря, ибо я еще не совсем уверенно или, точнее сказать, совсем не уверенно расшифровывал картинки, которые рисовал осциллограф).
Если конкретно, то по моему мнению, стала видна активность на шине адрес-данные и появились какие-то проблески разума на линиях SYNC и DIN. Посему предположим, что процессор пошел под нож не зря.
Однако, все это утешало весьма слабо. Пошли дальше. Коль процессор стоит, то попробуем это его обморочное состояние использовать себе на пользу. После подачи питания и до запуска процессора, в нормальном состоянии, на шине адрес-данные AD0…AD15 должны быть логические «0» (физические «1»). Отложим в сторону высокоученые «волшебные палочки» и вернемся к банальному мультиметру. Один щуп цепляем на «минус» платы, а другим просто прозваниваем соответствующие ножки и видим, что на 9, 13 и 16 ножках (сигналы шины адрес-данных AD0, AD4 и AD7) даже не физические «0», которым соответствует напряжение где–то 0,4 В (400 милливольт), а прям нуль нулей - 0,87 милливольт. Такая картина явно говорит о неприятностях на шине. Скорее всего что-то или кто-то, как говорится, «садит» шину. Продолжаем прозвон ножек процессора и далее видим еще одну нетипичную картинку на 39 ножке процессора, куда должен приходить сигнал RPLY. Подключаем анализатор логики к 39 ножке и видим, что прямо с момента появления на ножке 1 (CLC) тактовых импульсов, на линии RPLY сразу же раз и навсегда устанавливается высокий логический уровень (физический «0»). Снова берем в руки мультиметр и удостоверяемся, что этот физический «0» подозрительно напоминает «0» на трех злополучных битах шины процессора, это те же предательские 0,87 мВ. Такое положение вещей наводит на мысль, что и шину процессора и линию RPLY «highly likely» просаживает один и тот же субъект. Выяснить, кто виновник торжества можно лишь физически отсекая поставщиков RPLY от процессора, а их на плате немало. Найдя на схеме резистор R59, который «подтягивает» RPLY к 5В и пройдя от него вглубь схемы, примерно с середины пути начал отрезать дорожки, чтобы понять, в какую сторону топать дальше методом половинного деления.

На третьей итерации, отрезанная дорожка, не только вернула 5В на 39 ножку процессора (RPLY) но и привела в норму шину адрес-данные: При остановленном процессоре, на всех без исключения 16 битах установились высокие физические уровни (они же логические 0, будь она не ладна, эта инверсия). Однако… Далее – дело техники: еще пара отрезанных дорожек и вариантов не осталось. Мы уперлись в «сороконожку» КР1801ВП1-014 – контроллер клавиатуры.
Восстановив все ранее отсеченное, режем дорожку к 28 ноге (RPLY) 014-й, после чего линия RPLY окончательно пришла в порядок (на ней появилась физическая 1 на уровне 4,6В).


Вот и найден как минимум один виновник этой вакханалии. Без тени сомнений, со всей пролетарской ненавистью с корнем выкорчевывается 014-я ВПшка.

К слову сказать об инструментарии. Ранее я уже рассказал, как удалял процессор по методу Максима. Для удаления 014-й я уже использовал оловоотсос с подогревом. Али-экспресс я приобрел два разных типа оловоотсосов или, по-алишному "паяльник с присоской" – ручной и с электромагнитным приводом. Устройство с ручным приводом показало себя с наилучшей стороны.



Этот оловотсос проверил на замене кварцевых резонаторов и выпаивании с платы разъемов клавиатуры на замену почившим на БК 0011М. Результат превзошел все ожидания. После устройства оставались чистые отверстия из которых детальки легко удалялась руками.
Микросхему КР1801ВП1-014 выпаивал при помощи более продвинутого оловоотсоса с электромагнитным поршнем.

Результат тоже неплохой, сила всасывания заметно выше, конструкция надежнее, но работа с этив оловоотсосом требует сноровки. После нажатия кнопки надо себя научить ее отпускать не сразу, а где-нибудь вдали от платы, поскольку, отпустив кнопку, поршень под действием возвратной пружины выплевывает облако расправленного олова прямо на плату. Убрать этот плевок достаточно трудоемкий процесс.
После удаления 014-й, для закрепления результата, снова подключаем анализатор логики к выводам процессора 29 (DCLO) и 30 (ACLO), запускаем программку и, о чудо, мы видим, что между ACLO и DCLO резко увеличился временной промежуток – до необходимых 330 мс., что должно, по идее, позволить, наконец-то запуститься процессору.

К слову сказать, нет ответа и на вопрос, каким образом 014-я, сажавшая линию RPLY и три бита шины процессора, могла оказывать влияние на стартовые сигналы питания процессора. Может когда-то мы получим ответы. А пока, воодушевленные, летим дальше к прогрессу.
Быстренько добавляю зажимы на ножки процессора 34 (INIT), 38 (DIN), 39 (RPLY), 41 (SYNC), оставшие «кючки» вешаем на биты младшего байта шины адрес-данные, подаю на плату питание и… Теперь мы видим не просто какую-то хаотичную бессмысленную активность, а вполне осмысленную картинку, соответствующую как минимум протоколу «чтения» процессором данных с шины, описанную в руководствах.
Выдержки из различных описаний я консолидировал в свитки, которые прочно заняли место на рабочем столе. С n-ой попытки я даже начал отчасти понимать о чем в них говорится.



Четко видим, как процессор выставляет сигнал SYNC, начиная сеанс обмена данными. После SYNC поднимает голову DIN, говорящий, что это процессор ждет данные от микросхем на плате (пассивных устройств). Далее, SYNC висит в течение 58-64 тактов процессора, ожидая ответа (RPLY) от того, кому был адресован запрос и, не дождавшись RPLY, падает.

Можно увидеть даже, какой-то вполне осмысленный обмен длиной в 8 тактов процессора.

На линии RPLY виден ответ от другого пассивного устройства после поднятия сигнала DIN. Если бы к анализатору был подключен вывод процессора DOUT, то он поднялся бы перед вторым RPLY перед передачей данных. Все, как по учебнику. Ну что же, нам нужна новая КР1801ВП1-014.
И снова наступило время благодарностей! Огромное спасибо Максиму, который не только терпеливо сопровождал меня во всех моих действиях, но и безо всяких проволочек отправил мне комплект 014 и 037.

И не просто отправил, а совершенно безвозмездно, то есть даром! Максим, благодарность моя не знает границ!
Дальше было уже не так интересно. Максим напугал меня тем, что 014-я очень чувствительна к статическому электричеству. Да и сам я еще с детства помню, что микросхема легко «вылетала» от разряда статики на клавиатуру, особенно зимой да в квартире с синтетическими паласами на полах. Поэтому микросхему старался брать только пинцетом, в стерильных условиях, заземлив себя и все вокруг.


Самым ожидаемым событием, на которое я планировал потратить ну не меньше вечера, был ритуал формовки ножен на 014-й. По опыту процессора сия процедура виделать мне крайне пренеприятной и опасной для жизни микросхемы ввиду исключительной хрупкости выводов. Однако, решил применить методику формовки по шаблону. Попробовал максимально точно замерить штангенциркулем расстояние от корпуса установленной на свое место микросхемы до рядов отверстий на плате. В итоге короткие ножки формовались во тыльной (тупой) стороне лезвия обычного кухонного ножа, а длинные – по торцу рукоятки того самого штангенциркуля с наклеенными двумя слоями изоленты. Получилось неплохо.



Микросхема встала на свое место практически сразу с минимальными телодвижаениями. Пошла, как по маслу.

После установки на место микросхемы 014, БКшка не запустилась.
Ну что же… Отрицательный результат – тоже результат. Начинаем рыть практически заново. Быстренько прозваниваю все, что ранее нам доставляло неприятности. На шине остановленного процессора все в порядке. Сигнал RPLY в наличии.

Как говорится, вечер перестает быть томным. Пока использую только 8 каналов анализатора. Вешаю зажимы на CLC, SYNC, DIN, DOUT, RPLY, а оставшиеся каналы к шине адреса-данных. Запускаю анализ. Картинка обнадеживаюшая. Осмысленная активность наблюдается повсеместно. Пришло время выйти на сцену всем 16 каналам анализатора. По-хорошему, нужен анализатор с гораздо большим количеством каналов. Для того, чтобы проанализировать 16 разрядов шины процессора и его основные сигналы, необходимо хотя бы 20 каналов, лучше уже все 32. Ну за неимением лучшего используем что есть. Цепляю анализатор на вывод SYNC, а оставшиеся на шину. Так как на процессоре становится очень тесно, поэтому нечетные линии данных AD01, 03, 05 и т.д. подключаю к ножкам процессора 10, 12, 14 и т.д., а четные линии данных – к микросхеме ПЗУ непосредственно под процессором.


С подачей питания, запускается анализ. Получаем красивую картинку, на которой можно даже прочитать адрес, который к моменту начала сеанса обмена (поднятие сигнала SYNC) уже должен быть выставлен на шине процессора. Читать удобно по нисходящему фронту SYNC. Явно читается адрес 177716.

Да что же это такое. БК, судя по картинке с анализатора практически полностью ожила. Кроме подозрительных пропусков в «реплаях» все внушает уверенность, что БК должна работать. Но не работает.

Вот здесь четко видно, что процессор ведет осмысленный обмен информацией с пассивными устройствами. Идут стабильные RPLY от адресатов, но явно видны уже знакомые провалы в 64 такта. Предполагаю, что молчит установленная 014я. Но почему?

Потому, что записывать надо! Записывать буквально все, что делаем с платой. В частности, резаные дорожки необходимо или сразу восстанавливать или красными несмываемыми чернилами писать на лбу: «28 нога 014-й отрезана!» Я убил пару часов своего времени и несравнимо более драгоценного времени Максима на поиски несуществующей неисправности. В конце концов, отчаявшись, начал снова просто прозванивать все ножки 014-й на наличие контакта с ближайшими точками на плате и, в итоге, дошел до разрезанной неделю назад дорожки к 28 ноге 014-й (тот самый злополучный RPLY). Дальше, как говорится, следует труднопереводимая игра слов на местном диалекте. Скажу лишь, что приличными в моей речи в тот момент были только предлоги «в» и «на».
Восстановив дорожку и включив питание, наблюдаем заветное «БЕЙСИК ВИЛЬНЮС».


Впаял обратно свандаленые до этого на 0011М два разъема под клавиатуру, подключил оную. Все работает.




Была небольшая заминка с клавишей «ПР», она же SHIFT. Не работает и все. Клавиатура рабочая, линия от разъема до преобразователя уровней и от него до 014-й тоже звонится. А Shift не работает.

Опять же с помощью Максима разобрался в схеме формирования сигнала от клавиши до 16 ножки 014-й (SHIFT).

Но все оказалось банально – плохой контакт в совершенно новом, еще советском, но некачественном разъеме, который я впаял в XT2. Повезло, что проблемный 3 пин попал на отдельную линию, которую было не сложно диагностировать. В качестве ремонтных мероприятий пришлось подклеить полоску скотча на пленку клавиатуры, чтобы сделать ее немного толще. После этой нехитрой манипуляции контакт восстановился, и клавиатура полностью заработала.
Усилил шину питания, чтобы БК заработала с AZ, одел БКшку в корпус и с чувством исполненного долга убрал в коробку с апельсинами.

Вот и сказочке конец, а кто слушал – молодец.