Глава 42 Право на мигание

Наталья Сергеевна сдвинула бумагу, прищурилась на свежую строку.

— «…убедитесь, что сеть соответствует параметрам…» — прочитала и поморщилась. — Скучно. Но иначе никак.

— Зато правда, — сказал Алексей. — Ладно, дальше. «…что заземление подключено…»

Он диктовал ещё минут тридцать, пока буквы в глазах не превратились в серый шум. Пункты тянулись один за другим: лампа‑ограничитель, контроль разъёмов, самотест памяти, режим «ЗЛ». Всё, что вчера было живыми руками и руганью в лаборатории, превращалось в аккуратные, сухие строки.

Когда поставили последнюю точку в черновике «Инструкции по эксплуатации», за окнами уже стемнело, дежурная уборщица заглянула с фразой «вам тут долго ещё?» и выразительным взглядом на часы.

— На сегодня хватит, — сказал Михалыч, собирая кальки. — Остальное завтра добьём.

Алексей только кивнул. Голова гудела, как трансформатор.

В общежитии тоже гудело.

Сначала — дальний раскат, где‑то за Клязьмой. Потом — одинокая вспышка, белой полосой прошившая стекло. Через минуту ударило по‑настоящему: гром, как будто кто‑то кинул на крышу старый огромный кирпич.

Свет дёрнулся раз, второй. На третьем рывке радиоточка возле двери захрипела и заткнулась. По коридору прокатился дружный мат, глухой удар ведра — кто‑то задел его в темноте.

Алексей застыл с чайником в руке, глядя на потолок. Лампочка над столом чуть поморгала и тоже погасла. В комнате повисло густое, удивительно физическое молчание. Только за окном шуршал дождь по подоконнику, наползал на стекло косыми полосами.

Через пару секунд щёлкнуло где‑то в подвале, свет снова вспыхнул. На этот раз тусклее.

Рядом в коридоре кто‑то радостно выдохнул:

— О, ожили.

Алексей поставил чайник обратно на плиту, так и не включив. Посидел, прислушиваясь, как гудят батареи.

Такая же гроза была два года назад, в июле, когда он только въехал в эту комнату. Тогда, он помнил, лежал на койке, смотрел в потолок и упрямо думал: «Если уж я тут застрял, надо сделать так, чтобы мои машины не дохли от каждого мигания света». В голове тогда крутилось слово «автосохранение». Потом пришла зима, гетинакс, трансформатор, первый самотест… До полноценной реализации «автосохранения» руки так и не дошли.

Свет над столом снова дрогнул, но выдержал. Радиоточка, правда, не вернулась — где‑то на лестнице кто‑то крутил ручку, пытаясь вернуть «Маяк».

Алексей тихо выругался. Не громко, для себя.

Школы. Дома пионеров. Проводка «послевоенного выпуска», скрутки в коробках, розетки, болтающиеся на одном винте. Десять, потом пятьдесят комплексов. Все — завязаны на ту же сеть, что и чайники, утюги и холодильники.

Он попытался представить лицо шестиклассника, который двадцать минут набирает свою первую программу, а потом — бах! — лампа моргнула, экран погас, и вместо результата — пустой экран. Второй раз этот мальчишка к машине подойдёт? Под вопросом.

Вернувшись в комнату, Алексей сидел на кровати и долго слушал, как где‑то дальше по этажу ругаются соседи.

Обещание, данное два года назад, осторожно вылезло из угла памяти и стало перед глазами плотным текстом: «сделать так, чтобы при пропадании питания машина держалась до последнего».

Пришла пора выполнить обещание.

Утро в КБ началось с запаха мокрых плащей и хлорки. Все приходили, отряхиваясь у дверей, вешали на батареи потяжелевшие от дождя куртки.

Люба протёрла запотевшие стёкла очков и посмотрела на Алексея более внимательным взглядом, чем обычно.

— Вы как будто не спали, — заметила она.

— Я спал, — сказал Алексей. — Минут сорок. Остальное время слушал, как у нас проводка гудела. Ты в своей коммуналке этого не слышишь, разве?

— У нас вчера от перепада опять лампочка сгорела, — спокойно ответила Люба. — Я уже привыкла менять.

— А дети в школе как же?

Она чуть задумалась.

— Дети лампочки не меняют, — сказала и уже другим тоном добавила: — Вы про «Сферу»?

— Про неё. — Алексей бросил на стол тетрадь. На первой странице крупно значилось: «Питание. Право на мигание». — Если у нас в общежитии от ближайшей грозы всё пляшет, то в школе будет не лучше. А у нас там ОЗУ, ПЗУ, кассета. Всё висит на тех же проводах.

— Так у нас же трансформатор с запасом, — попыталась возразить она. — И стабилизатор. Вы же сами…

— Трансформатор с запасом не умеет работать, когда его выдёргивают из розетки, — отрезал Алексей. — И стабилизатор тоже.

В этот момент в дверь просунулся Евгений, держась за косяк, как за поручень.

— Слышу слово «питание» — и сразу захожу, — объявил он. — Что у нас, опять хотят экономить на трансформаторе?

— Наоборот, — сказал Алексей. — Хотят, чтобы при каждом мигании света машина не превращалась обратно в набор микросхем.

— А, — удовлетворённо кивнул Евгений. — Хочешь аккумуляторы прицепить? Давай, я видел где‑то на складе старую батарею от телефонистов. Воду долить — и вперёд, с песнями!

— Аккумуляторы, — повторил Алексей. — В школу. Не уверен.

Он чуть приподнял брови.

— Хочешь, чтобы к нашей машине приставили табличку «Не трогать, опасно для жизни»? Они и так боятся этих шкафов.

Евгений пожал плечами.

— Ну это уже вопросы искусства, — сказал он. — Я своё слово «аккумулятор» сказал, снимаю с себя ответственность. Идите к Виктору Петровичу, спросите, сколько вам таких радостей дадут.

— Пойдём, — сказал Алексей. — Всё равно надо.

Виктор Петрович внимательно выслушал, как умудрённый опытом терапевт слушает очередного пациента, который прочитал медицинский справочник.

— Аккумуляторы, — повторил он с особой интонацией. — В школьный прибор. Морозов, вы в своём уме?

— Пока да, — спокойно ответил Алексей. — Мне бы хотелось, чтобы и дети в нём оставались.

— Не надо мне про детей, — отмахнулся снабженец. — Аккумуляторы — это военные, связь, телефонные станции. И то — они с ними мучаются. Надо смотреть плотность электролита, доливать, заряжать, не дай бог — потекло. Учительница физики вместо урока будет пробки на батарее протирать, да?

— Я и не настаиваю, — поднял руки Алексей. — Просто проверил: можно ли. Судя по вашей реакции — нельзя.

— Нельзя, — подтвердил Виктор Петрович. — У меня в спецификации на ваш комплекс нет слова «аккумулятор». И не будет. Я уже один раз подписывался за ваши К573, второго раза мне не надо. Вставьте в свои схемы мозги, а не банки с кислотой.

— Мозги вставим, — вздохнул Алексей. — Для этого и пришёл.

— Ну вот, — Виктор Петрович успокоился. — Вот про мозги поговорим. Только не надо ко мне с просьбой «дайте ещё один трансформатор, мы его на чёрный день под подушку положим». Всё, что вы просите, должно быть в КД. Иначе — гуляйте.

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

— Ладно, — сказал он. — Тогда мы к вам ещё вернёмся. Но уже с бумажкой на К50‑е.

— С чем? — приподнял брови Виктор Петрович.

— С конденсаторами, — пояснил Алексей. — Большими. Пока не знаю, сколько, но много.

Снабженец проворчал что‑то про «любителей банок», но уже без прежнего огня. С банками он был знаком. С кислотой — тоже, но по другой линии.

Днём Алексей снова сидел у кульмана. По одну сторону — схема существующего блока питания: трансформатор, мост, стабилизатор, пучок стандартных К50‑16 на плате. По другую — чистый лист.

Он смотрел то туда, то сюда и мысленно прокручивал знакомую картинку. Вначале — сеть, синусоида, потом выпрямитель, ровный пульсирующий гребень, дальше — стабилизатор. Пока синусоида жива, всё хорошо. Когда она исчезает, на плате остаётся только то, что успели накопить конденсаторы. Для лампочек этого достаточно: они моргнут и погаснут. Для микросхем — хуже. Они не любят, когда напряжение медленно сползает вниз. Особенно память.

В его прошлой жизни то ли в блоке питания, то ли в даташите это называлось «сигнал исправности питания». Здесь такого слова не было. Было простое: «сбой сети».

Ну и хорошо.

«Надо научить машину замечать, что сеть падает, раньше, чем упадёт всё остальное», — подумал он. — «И в этот момент запретить ей трогать память. Потом пусть темнеет сколько угодно».

Он взял карандаш.

Первым на листе появился диод — от сети, после трансформатора, ещё до стабилизатора. Там напряжение гуляло, но гуляло быстро: как только синусоида шла вниз, оно падало. Если через резистор зацепиться за этот узел, посадить его на базу транзистора — можно заметить, что «сеть села» чуть раньше, чем на плате начнёт проседать уже выровненное питание.

Следом — транзистор, КТ315. Второй, инвертирующий. Рядом — подпись: «Сигнал запрета записи в ОЗУ». От этого узла стрелка уходила к условному прямоугольнику «ЦУБ»: к тому месту, где внутри микрокода уже был флажок «запись разрешена / запрещена».

Люба подошла и некоторое время молча смотрела на рисунок.

— Опять вы с транзисторами, — сказала она. — Мы только привыкли к мысли, что у нас всё на логике, и вот.

— Логика есть, — возразил Алексей. — Только ей надо сказать, когда ей молчать. Для этого придётся поставить пару «жучков».

— И это всё? — она показала на два треугольника транзисторов. — И как вы хотите, чтобы это спасло память?

— Не это, — сказал Алексей. — Это — только команда «не трогать». А держать питание будут банки.

Он перевернул лист, нарисовал несколько крупных конденсаторов, похожих на маленькие бомбы. Подписал: «К50‑6, 1000 мкФ, четыре штуки».

— Вы их куда пихать собрались? — Люба уже явно думала и о плате, и о корпусе.

— Валера найдёт, — уверенно сказал Алексей. — Не впервой.

Она вздохнула, но не спорила. Если в проекте уже вырисовывались конкретные номиналы, значит, спорить бесполезно: Морозов начал свой крестовый поход.

Валера выглядел, как всегда, так, будто его только что оторвали от чего‑то интересного.

— Банки, — переспросил он в макетном цехе, держа в руках список. — Четыре штуки в каждый блок? Ты уверен, что у нас не учебная машина, а усилитель «Мелодия‑120»?

— Уверен, — сказал Алексей. — Если не нравятся банки, давай обратно к гетинаксу и лампочкам вместо индикаторов.

— Ладно, не зудите, — примирительно поднял руки Валера. — Я свою часть понял. Надо в корпусе найти четыре места «под банку» и сделать так, чтобы при первом падении со стола они не отвалились. И чтобы вентиляция была.

Он взял карандаш, подошёл к чертежу корпуса.

— Смотри, — забормотал. — Вот тут у нас трансформатор, вот тут плата. Между ними — воздух. Воздух я у тебя отберу и поставлю туда две, остальные две — в уголок под платой. Придётся крышку поднять на три миллиметра, иначе не пролезут. Дырок сверху напущу… да, «сыр» будет ещё дырявее.

— К дыркам мы уже привыкли, — сказал Алексей. — Лишь бы не вывалились.

— Вывалится — сами будете ловить, — отрезал Валера, но в голосе звучало больше предвкушения работы, чем раздражения. — Ладно, сделаем.

Схему детектора Алексей с Любой собирали сами. На отдельной небольшой платке, через панельку — чтобы, если совсем всё пойдёт не так, можно было выдернуть её и жить, как раньше.

Первый запуск делали на холостом ходу. Вольтметр показывал: при нормальном напряжении транзистор открыт, вывод «Запись разрешена» в логической единице. Стоило плавно, через автотрансформатор, опустить входное напряжение ниже определённого порога — сигнал уходил в ноль, запрещая любые операции записи в оперативное запоминающее устройство.

— Главное, — повторял Алексей, — чтобы он срабатывал раньше, чем стабилизатор начнёт сдавать. Если будет позже — толку ноль.

Тут пригодился опыт Евгения с его бесконечными тестами на ЕС.

— Сделаем псевдопрограмму, — предложил он. — Которая как безумная будет записывать в память всякие штуки, а мы будем дёргать сеть. Если после этого в массивах будет хоть один неправильный байт — будем ругаться на вашу железку.

Так и сделали.

На стенде «Сферы» стояла привычная связка: ЦУБ, память, новая ПЗУ на К573, видеоконтроллер, клавиатура. Плата детектора торчала сбоку, пока ещё вне корпуса, провода тянулись к блоку питания, конденсаторы‑«банки» лежали рядом, временно соединённые проводами, как пациент — с аппаратом искусственного кровообращения.

В ОЗУ под управлением микропрограммы гонялась по кругу простая последовательность: записать в каждый адрес образца `AA`, проверка, потом `55`, снова проверка. Ничего хитрого, но для проверки того, что память не «сходит с ума» при падении питания, этого хватало.

Валеру позвали для главной роли.

— Твоя задача, — объяснил Алексей, — стоять у розетки и по команде резко выдёргивать вилку и тут же вставлять. Только аккуратно.

— Всю жизнь мечтал, — серьёзно сказал Валера. — Обычно наоборот говорят: «не дёргай, а то отключишь полцеха».

Они расположились: Валера — у розетки, Люба — у осциллографа, Евгений — у консоли «Сферы», Саша — у лампы‑ограничителя, пальцы уже на выключателе, вдруг что пойдёт не так.

— Готовы? — спросил Алексей.

Кивнули.

— Тогда начинаем.

Первый рывок оказался… скучным.

Валера ловко, без особой злобы, выдёрнул и тут же воткнул вилку. На экране «Сферы» на долю секунды пропали символы и тут же вернулись. Программа как ни в чём не бывало продолжала свою беготню, цифры `AA` и `55` ровными блоками мелькали на индикаторах.

Люба посмотрела на осциллограф.

— Порог сработал, — спокойно сказала она. — Как только сеть провалилась, транзистор щёлкнул. На память сигнал «запрета» пришёл за пару миллисекунд до того, как стабилизатор начал проседать.

— Ну, может, случайность, — не слишком веря в собственную удачу, сказал Алексей. — Валера, ещё.

Второй раз мастер дёрнул сильнее, как будто торопился на трамвай. Экран «Рекорда» дёрнулся, из динамика вышел короткий писк, но через мгновение картинка стабилизировалась.

— Проверяем, — сказал Алексей.

Они остановили программу, пролистали массив. Ни одной ошибки.

Евгений почесал затылок.

— Непорядок, — сказал он. — Я столько лет писал программы, которые ломались от каждого чиха, а тут железо ведёт себя прилично. Мир меняется.

— Не мир, — возразил Алексей. — Просто мы наконец начали думать, что будет, если кто‑то выдернет вилку.

— А если не выдернет, а просто сеть просядет? — не унимался Евгений. — Где‑то чайник включили, где‑то станок…

— Для этого у нас стабилизатор и магнитофонный блок, — напомнил Алексей. — Там это уже отработано. Нас интересуют именно обрывы. Резкие. То, что в общежитии называется «ой».

Валера, похоже, втянулся в игру.

— А давайте, — предложил он, — я подержу вилку наполовину. Вот так, чтобы контакт был то есть, то нет. Как плохая розетка в школе.

— Давай, — сказал Алексей. — Только смотри, не поджарься. И КБ нам не спали.

Третий тест оказался самым жестоким. Вилка висела в розетке буквально на кончиках контактов, искрила. Приглашение «Сферы» на экране пару раз прыгнуло, картинка чуть сузилась, но не исчезла. Программа остановилась, а не полетела куда‑то в неведомые дали.

После отключения они снова пролезли память — и снова не нашли сбитых байтов.

— Ну что, — тихо сказала Люба, — похоже, наша банка с ушами работает.

— Банка, — поправил Валера, — у вас на столе. А это — уже узел контроля питания. Красиво звучит, кстати.

— Звучит страшно, — заметил Евгений. — «Узел контроля питания». Как будто сейчас кто‑то будет контролировать, сколько ты съел на обед.

— У тебя и так это контролируют, — сказал Алексей. — Бухгалтерия и желудок.

Он ещё раз посмотрел на схему и испытал то странное спокойствие, которое обычно приходит после решения давно отложенной задачи. Не эйфорию — её он с возрастом разучился ждать. Просто чувство: теперь на одну неприятность меньше.

К вечеру Валера уже успел засунуть банки в корпус. Крышка закрывалась с лёгким усилием, новый блок питания выглядел тяжёлым и солидным.

— Всё, — сказал он. — Теперь если кто‑то бросит ваш ящик с парты на пол, сначала сломает пол. Потом — ящик. Банки переживут всех.

— Порадовал, — сказал Алексей. — С детства мечтал, чтобы у меня была техника, которая тяжелее учеников.

— Вы, Морозов, странный, — заключил Валера. — Но полезный.

Гроза повторилась через пару дней. Летняя, настоящая, с ливнем, который за пять минут превращает двор в грязное зеркало.

В общежитии всё было по классике: сначала грохот, потом вспышка, потом свет. Сначала был, потом не был, потом опять был. Где‑то завыл телевизор, кто‑то выругался, кто‑то радостно крикнул: «О, работает!»

Алексей сидел за столом, листал тетрадь с пометкой «Инструкция. Черновик» и неожиданно почувствовал, что внутренняя реакция на мигание изменилась. В голове в это время стояла картинка: кабинет в школе, «Сфера» на столе у учителя, Миша или любой другой, который быстро щёлкает по клавишам, набирает свою первую программу.

И эта программа — остаётся жить и после того, как где‑то в подвале старый автомат сказал «дзынь» и ушёл в отпуск. По крайней мере, несколько секунд.

Обещание, которое он сформулировал себе два года назад, вдруг перестало быть абстрактной фразой «надо бы». Оно теперь жило в кусочке текстолита с двумя транзисторами и четырьмя толстыми банками К50‑6, спрятанными в железном ящике.

Он развернул тетрадь и между строчек инструкции аккуратно вписал карандашом:

«При кратковременных провалах напряжения комплекс сохраняет данные в ОЗУ».

Потом посмотрел на фразу и чуть усмехнулся.

Слишком уверенно. Нужно скромнее.

Он зачеркнул «сохраняет данные» и написал рядом: «не допускает искажений данных при кратковременных провалах питания».

Бюрократия была бы довольна. Физика — тоже.

— Ну, — тихо сказал он себе. — Хоть в чём‑то мы этой проводке не проиграли.

Свет в комнате снова дёрнулся и, подумав, остался. Где‑то внизу комендант наверняка ругался с электриками. Где‑то на другом конце города школьник, может быть, делал уроки при свечке.

А где‑то — через год — такой же будет делать их на экране «Сферы». И лампочка в коридоре может сколько угодно мигать — его таблица умножения от этого жить не перестанет.

Это была не победа над системой. И даже не большое достижение науки.

Это просто была маленькая, упрямая инженерная правка мира: вот здесь, в этом месте, кусок железа перестаёт бояться мигания света. И этого, на сегодня, вполне хватало.

Загрузка...