К книге
Проект «Сфера-82»: Цвет и слойГлава 38 Цвет для тех, кто будет паять сам
81%
Глава 38 Цвет для тех, кто будет паять сам
38

Олег бережно опустил на середину свободного стола плату.

Собранный макет выглядел откровенно страшно. Поверх ровных заводских дорожек макетной платы приставки громоздились «этажерки» из дополнительных логических микросхем. От их выгнутых ножек тянулась густая паутина МГТФ. Жёлто-розовые жилы переплетались, ныряли под корпуса, пересекали друг друга под немыслимыми углами и крепились к случайным контактным площадкам жирными каплями припоя.

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

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

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

— Это на нашем лабораторном столе она хорошо себя ведёт, — произнесла она и указала на пучок проводов, идущий к дешифратору адреса. — У нас здесь эталонное питание. И осциллограф, которым мы ловили фронты сигналов. А на чужом столе начнётся пляска. Длинный шлейф до системной шины нахватает наводок. Плохая земля даст просадку. Телевизор с дрожащей синхронизацией вообще откажется понимать эту картинку.

Птицын переступил с ноги на ногу.

— Но если дать им точную принципиальную схему… — начал он. — Прямо в журнале напечатать. С номиналами.

Олег покачал головой.

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

Громов, сидевший верхом на стуле у соседнего стола, задумчиво покрутил пустую кружку с надписью «Кисловодск».

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

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

— И блок питания у третьего собран из того, что лежало в тумбочке у отца, — добавила она. — Трансформатор от старой радиолы, диодный мост на соплях и высохший электролит. Мы тут навесили три дополнительных корпуса серии К155. Они жрут ток. Если питание просядет хотя бы на полвольта, вся ваша цветная красота начнёт моргать при каждом нажатии клавиши.

Морозов вытащил руки из карманов и оперся о край стола.

— Значит, пишем методичку не для нашего осциллографа, а для стрелочного тестера, — подытожил он. — Человек должен на пальцах понимать физику: куда уходит старый видеосигнал и как выловить ошибку монтажа, если картинка рассыпалась.

Олег поморщился, глядя на макет.

— То есть мы теперь ещё и учителя труда? — проворчал он, забирая плату со стола.

— Хуже, — Громов откинулся на спинку стула. — Учителя труда с прямым доступом к системной шине и ПЗУ. Иди, Тимофеев, готовь черновики схем для Липатова. А я посмотрю, как ты объяснишь школьнику работу триггера-защёлки без матерных слов.

* * *

Липатов сидел за идеально чистым столом. Перед ним лежала стопка писчей бумаги, набор остро заточенных карандашей и черновик статьи, густо исчёрканный правками Громова. Он протирал стекла очков клетчатым платком, щурясь на подошедших.

Морозов придвинул стул, а Громов привалился плечом к фанерной перегородке.

— Я прочитал введение, — Липатов надел очки. — Тут у тебя написано: «плата аппаратно сопровождает атрибуты при циклическом сдвиге адресного пространства». Звучит солидно. Для защиты диссертации.

— Это технически точное описание процесса, — возразил Громов.

— Безусловно, — Липатов аккуратно выровнял черновик по краю стола. — А теперь скажи, что увидит десятиклассник, который впервые снял крышку со своей самодельной «Сферы» и пытается понять твой текст?

— Клубок проводов. Потом испугается, закроет крышку и пойдет играть в футбол.

— Женя, — Морозов покачал головой. — Оставь снобизм. Сергей дело говорит.

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

— Ладно. Переводим с инженерного на человеческий.

Грифель быстро заскользил по бумаге, вырисовывая прямоугольник телевизионного экрана. Внутри Громов набросал контур буквы «А».

— Пиши про трафарет и краску, — скомандовал Громов. — Черно-белая машина дает контур знака, а приставка его закрашивает.

Он обвёл контур буквы жирнее.

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

Липатов методично записал слова Громова в блокнот.

— Значит, пишем в статье так, — Липатов поднял взгляд на Громова. — Трафарет. Атрибут. Цветной выход. Читателю нужно разделить в голове три сущности: откуда берётся форма буквы, где хранится её цвет, и как они сливаются вместе на экране.

Громов крутанул карандаш между пальцами и бросил его обратно на стол.

— Ты сейчас безжалостно вырезал моё любимое предложение. Я его полчаса формулировал.

— Я спасаю твоё любимое предложение от школьников с паяльниками, — невозмутимо ответил Липатов, подчеркивая слово «трафарет» двойной чертой. — Если они не поймут разницы между памятью машины и памятью атрибутов, они потом вообще начнут подключать видеовыход в розетку. Дальше. Что у нас со схемой?

Громов кивнул в угол лаборатории. Там, у закрепленного на кульмане ватмана, уже минут двадцать шел спор. Олег, Наташа и Люба сгрудились вокруг листа, вооружившись ластиками и толстыми карандашами. Морозов стоял чуть позади, наблюдая за процессом превращения хаотичного макета в строгий чертеж.

Олег упрямо ткнул пальцем в нарисованный блок.

— Этот узел я упрощать не хочу, — сказал он. — На прогоне прокрутка прошла чисто, без цветовых следов. Уберем сейчас один-два корпуса — придется заново подбирать временные соотношения и всё перепроверять.

Наташа стёрла ластиком кусок линии, сдула серые катышки с ватмана и посмотрела на своего напарника.

— Узел справлялся со сдвигом, потому что мы видели его работу на хорошем осциллографе, Олег. Мы подобрали ёмкости. А в статье нам надо дать контрольные точки для тех, кто будет собирать приставку без приборов. Если триггер не сбросится вовремя, цвет поползёт.

Люба провела ногтем по нижней линии чертежа — шине заземления.

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

Олег схватился за голову.

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

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

Олег тяжело вздохнул и обвел тупым концом карандаша габариты будущей платы на ватмане.

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

Наташа поморщилась. Односторонняя разводка цифровой логики на пятнадцать корпусов — это персональный ад для трассировщика.

— Они в один слой не лягут, Олег. Шина данных, шина адреса, перекрестные связи. Без перемычек не обойтись.

— Значит, будут перемычки, — согласился Тимофеев. — Напишем: «Монтаж со стороны деталей проводом МГТФ». Провод у всех найдется. Зато плату можно будет вытравить дома. Но дорожки надо делать толстыми. Не меньше миллиметра.

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

— Обойдем корпуса вокруг, разнесем элементы шире. Приставка станет больше по площади, но это необходимо. Пойми, Люба, они будут травить текстолит не в заводской кислотной ванне с жестким температурным контролем. Они кинут плату в тазик с медным купоросом и солью, поставят на батарею и уйдут делать уроки. Или разведут старое хлорное железо. Тонкую дорожку там просто сожрет боковым подтравливанием, останутся одни обрывы.

Олег нарисовал на полях ватмана микросхему и заштриховал вокруг вывода огромный круг.

— А контактные площадки под выводы надо делать огромными, как блины. Заводская нормальная площадка не выживет. Паять они будут не паяльными станциями, а бытовыми «топорами» на сорок ватт, разогретыми докрасна. Чуть передержал жало — и маленькая площадка моментально отслоится от дешевого гетинакса, повиснет в воздухе.

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

— Поняла. Увеличиваем шаг. Утолщаем трассы. Перемычки выносим на сторону компонентов и маркируем на чертеже толстым пунктиром.

Морозов шагнул ближе к кульману, с уважением оценив, как быстро они переключились с промышленной инженерии на партизанскую.

— Согласен. Физика сборки в домашних диктует свои правила, — сказал он. — А что с контрольными точками?

— Поставим три крупные контактные площадки на плате и подпишем прямо на фольге, — сдался Олег. — Питание, земля, выход цвета.

— Пять, — Наташа взяла карандаш и нарисовала на ватмане пять жирных кружков в разных частях схемы. — Вход старого видеосигнала. Синхроимпульс после амплитудного селектора. Выход компаратора. Сигнал записи в память атрибутов. И итоговый цветной выход. Если хоть один сигнал пропадёт, человек должен знать, где именно произошел обрыв, а не перепаивать всю плату наугад.

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

Олег прищурился, прикидывая компоновку на текстолите.

— Хочешь пускать штатный видеосигнал в обход цветной памяти?

— Да, — кивнул Морозов. — Если цветная плата зависла, сгорела или просто не нужна для текущей задачи, пользователь должен вернуть старый чёрно-белый режим одним переключением. Базовая машина обязана оставаться рабочей.

Олег посмотрел на чертёж, прикидывая, как втиснуть дополнительную коммутацию на ограниченную площадь текстолита.

— Тогда статья в журнале будет толще, чем сама печатная плата, — пробормотал он.

Люба мягко улыбнулась, поправляя очки.

— Зато пачка обгоревших писем в редакцию будет гораздо тоньше.

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

На расчищенном пространстве остался только макет приставки. Рядом тихо гудел цветной телевизор. От выхода платы к нему тянулся аккуратный экранированный кабель: через нормальный разъём и клемму земли.

Птицын сосредоточенно вбивал код на клавиатуре «Сферы». Клавиши на герконах мягко клацали. Липатов стоял рядом с открытым блокнотом, а Громов наблюдал за экраном из-за плеча Наташи.

— Готово, — Птицын нажал ввод. — Первый тест. Самый простой.

На экране телевизора появились привычные белые буквы на черном фоне.

— Обход включен, — Птицын убрал руки с клавиатуры. — Видеосигнал идет насквозь, без цвета.

Наташа кивнула, глядя на экран.

— Идеально. Картинка стабильная. Значит, штатный видеотракт не поврежден при монтаже. Пиши, Сергей: «Симптом: нет изображения в режиме обхода. Причина: обрыв входного видеосигнала или земли».

Липатов аккуратно зафиксировал фразу.

Птицын перекинул перемычку на макете. Экран моргнул.

— Второй тест. Обращение к порту атрибутов.

На экране вспыхнула красная строка на ровном синем фоне. Границы букв были четкими, цвета не наползали друг на друга.

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

— А если цвета нет? — спросил Липатов, не отрываясь от блокнота. — Или он не тот?

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

— Если буква ровная, читаемая, но фон чужого цвета или в полоску — проверяем саму память атрибутов и адресацию к ней. Значит, трафарет доходит нормально, а краска путается. — Она посмотрела на Липатова. — Если сама буква расползлась, дрожит или рвется — это проблема старого видеосигнала или срыв синхронизации. Приставка не может поймать начало кадра.

Птицын оживился, его пальцы снова забегали по клавишам.

— А теперь самое главное. Запускаем наш вчерашний циклический тест сдвига строк.

— Запускай, — скомандовал Громов. — Только задержку поставь побольше. Человек должен успеть увидеть, где именно возникает ошибка, а не гадать по мельтешению строк.

Птицын ударил по пробелу.

Красная строка на синем фоне дернулась и перескочила на знакоместо выше. Цвета остались строго привязаны к тексту. Сдвиг отработал чисто.

Затем Наташа взяла пинцет и аккуратно замкнула на «землю» контрольную точку, притягивая вход триггера к нулю.

— Имитируем отказ автомата сброса флага.

Птицын снова нажал пробел.

Текст уехал вверх. Уехавшие буквы потеряли цвет и стали белыми на черном, а на прежнем месте строки остались висеть пустые синие прямоугольники.

— Поползло, — констатировал Громов. — Краска отклеилась от обоев.

Липатов быстро строчил в блокноте.

— Записываю: «После каждого тестового сдвига проверить визуальное совпадение цвета и символов. В случае отслоения атрибутов — проверять узел аппаратного сопровождения на микросхемах DD14-DD16».

Громов покосился на Липатова.

— Слово «совпадение» оставь. Оно человеческое. А вот «отслоение атрибутов» звучит как медицинский диагноз.

— Зато точно описывает физику процесса, — парировала Наташа, убирая пинцет. Экран снова пришел в норму при следующем сдвиге. — Мы даем им не просто схему, а матрицу отказов. Симптом — причина — метод проверки тестером. Без осциллографа.

Морозов удовлетворенно хмыкнул.

* * *

К вечеру они перебрались в кофейную. На столике у окна дымились разномастные кружки, пахло свежемолотым кофе, а старую ручную мельницу кто-то сдвинул на самый край столешницы. Место в центре освободили для главного — там лежал чистовой черновик статьи.

Липатов поправил очки, подвинул к себе лист и прочитал заголовок вслух:

— «ЦВЕТ-80: цветная графическая приставка к учебной микроЭВМ».

Он обвел взглядом уставшие лица коллег.

— Не слишком тоскливо звучит? Для школьников и радиолюбителей пишем, а название как у ГОСТа.

Громов отхлебнул остывший чай.

— Нормально звучит. Меньше лирики — целее телевизоры.

Люба согрела ладони о бока толстой керамической кружки и покачала головой:

— Телевизоры все равно пострадают. Если мы просто дадим схему приставки, ребята из кружков полезут в домашние цветные телевизоры искать блок цветности. Нужно с первых строк писать: универсального шнура не бывает.

Наташа потерла переносицу.

— Вот именно. Они спаяют плату, а потом начнут гадать, куда ее подключать. Без готовых схем сопряжения это тупик.

Олег придвинул к себе сахарницу.

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

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

Морозов, сидевший на подоконнике, спрыгнул на линолеум.

— Техника безопасности нужна, но с нее нельзя начинать. Мы на нашей с Анной книжке про компьютеры уже поняли: начнешь с одних предупреждений — человек закроет страницу. Он должен сначала понять, ради чего рискует дефицитными микросхемами. Сперва показываем результат. Красная строка ошибки, зеленая строка готовности, желтая подсказка для следующего шага. Учебная программа, где видно, что машина отвечает не серой простыней, а понятной картинкой.

Липатов покрутил в пальцах карандаш.

— То есть сначала дразним, а потом пугаем высоковольтным трактом?

— Сначала объясняем зачем, — поправила Люба. — Если школьник поймет, как заработает его программа, он и плату спаяет чисто, и землю правильную найдет, а не прикрутит провод к батарее.

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

Липатов перевернул лист, быстро размечая структуру прямо на обороте.

— Дальше таблица портов и Сашина программа. А в финале дадим таблицу неисправностей и возврат в монохромный режим. Работы на неделю. Схемы перечертить, текст причесать, таблицу расширить.

— Стоп, — вмешался Громов. — Сашину тестовую программу в виде чистого ассемблерного листинга мы в журнал не дадим.

Птицын, сидевший рядом, недоуменно моргнул.

— Почему? Она же короткая. Цикл вывода, установка цвета, плотный сдвиг экрана.

— Потому что у пользователя базовой «Сферы-80М» нет на кассете макроассемблера, — пояснил Громов. — А обычный Бейсик для проверки железа не годится — он слишком медленный. Нам нужно прогнать самодельную плату на предельной скорости, чтобы вылезли все помехи по питанию и рассинхроны триггеров. Но транслировать твой ассемблер школьнику нечем.

Морозов кивнул, понимая проблему.

— Предлагаешь дать голые шестнадцатеричные коды?

— Именно, — Громов взял карандаш и набросал на свободной салфетке ровную сетку. — Печатаем таблицу. Слева адрес в ОЗУ. Потом восемь байт машинного кода. А в конце каждой строки — контрольная сумма.

Громов обвел последнюю колонку жирной рамкой.

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

— Изолированный тест, — оценил Липатов, делая пометку в своем плане статьи. — Прагматично. А как потом из Бейсика заставить этот код работать?

— Командой `USR` по стартовому адресу, — Громов усмехнулся. — Для пацана за клавиатурой это будет выглядеть как настоящая магия. Спаял плату, вбил непонятную таблицу цифр, набрал `X=USR(адрес)` — и машина на бешеных скоростях выплевывает цветную тестовую таблицу, прогоняет сдвиг и проверяет аппаратную защелку. Если картинка ровная и не дергается — значит, схема собрана верно. А дальше можно спокойно писать игры на Бейсике через обычный `OUT` в порт цвета, железо всё сдвинет само.

Птицын просиял. Идея превратить его код в компактный диагностический инструмент с контрольными суммами звучала невероятно профессионально.

— Я подготовлю код, Евгений Александрович. Считаю суммы по каждой строке, — пообещал он.

* * *

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

Птицын потянул из стопки верхний лист, вглядываясь в кривоватые прямоугольники микросхем.

— Вчера это была просто плата с висящими проводами, — задумчиво произнес он. — Кусок текстолита. А сегодня…

Олег хмыкнул, сматывая толстый шнур паяльника.

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

Наташа аккуратно укладывала щупы осциллографа в дерматиновый чехол. Застегнула тугую кнопку.

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

Липатов забрал у Птицына лист и подровнял края стопки. Сверху лег тот самый черновик с порядком проверки.

— Блуждать станут меньше, — уверенно сказал он. — У них перед глазами четкая последовательность. От первой детали к работающему цвету. Шаг вправо, шаг влево — человек смотрит в таблицу и видит, где отвалился контакт.

Морозов размял затекшую шею. Отражение в темном оконном стекле показало сутулые плечи и усталые лица коллег.

— У нас на столе всё держится на привычке и приборах, — произнес он, поворачиваясь к лаборатории. — В журнал привычку не вложишь. Значит, даём контрольные точки, порядок сборки и честно пишем большими буквами: базовое ПЗУ не перешивать, приставку сначала проверять отдельно, возврат в монохром — тумблером.

Громов, уже надевший пальто и зажавший пухлый портфель под мышкой, остановился в дверях. Он поправил колючий шарф.

— Оптимисты. Инструкцию они прочитают только после того, как сожгут первую плату. Но вот это предупреждение про ПЗУ вынесите в самое начало. И жирным шрифтом.

Морозов усмехнулся:

— Свой интерпретатор бережёшь?

— Чужое время берегу, — ответил Громов. — Для смены цвета вполне хватает штатной команды OUT с нужным значением. ПЗУ и МикроБейсик остаются прежними, старые программы выполняются без изменений. Вы просто дайте в статье короткий пример. Человек наберет пару строк, пошлёт значение в порт и выведет текст.

Предыдущая главаГлава 38 из 47Следующая глава