К книге
Проект «Сфера-82»: Цвет и слойГлава 24 Цветная память
51%
Глава 24 Цветная память
24

Утром инженеры собрались у свободного кульмана в лаборатории КБ «Сфера». Горелов подтянул к доске табурет. Морозов пристроился сбоку, смахнув с края наклонного планшета обрезки миллиметровки. Чертежные кнопки надежно держали на щите схему видеовыхода.

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

Наташа придерживала страницу тетради. На развороте была вычерчена матрица: адрес знакоместа, код символа, цвет знака и фона. Рядом лежал эскиз новой платы расширения для «Сферы-80М».

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

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

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

Морозов опёрся о край стола.

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

Олег сдвинул справочник.

— Удобные команды для работы с цветом появятся только в отдельной прошивке?

— В будущей «Сфере-80Ц», — ответил Морозов. — Сейчас главный приоритет — штатный цвет для «Сферы-82» на стенде под МикроДОС. Старый парк не ломаем.

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

— С восьмидесятой машиной для школ понятно. Цветная плата как добавка. Теперь давайте к моей модификации: цеховой пульт на базе «82В».

Он обвёл ручкой край контактов на чертеже.

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

Наташа кивнула на эскиз.

— Атрибуты цвета идут через видеоплату. Линия аварийного останова должна проходить отдельно и не зависеть от закраски экрана.

Люба подняла глаза от тетради.

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

Горелов коротко кивнул и внёс требование по развязке в свой блокнот.

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

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

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

— Вижу, — ответил Морозов, внимательно изучая плотную сетку распределения памяти.

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

Громов потёр переносицу.

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

Наташа пододвинула рабочую тетрадь с набросками требований к матрице цвета.

— Значит, нужен программный обход. Дополнительный слой поверх основного вывода.

Олег постучал карандашом по карте адресов.

— Можно отдавать команды прямо в порт вывода. Дешево. Базовую память бережет.

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

Андрей присоединился к обсуждению аппаратной части.

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

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

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

— Разводка дорожек усложнится в разы, — поддержала Наташа. — Появятся отражения сигнала, пойдет рассинхронизация тактов.

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

Программист перехватил шариковую ручку и с силой, прорывая бумагу, вывел на полях схемы: «не в ПЗУ». Затем придвинул соседний бланк и с тем же нажимом повторил: «не в ПЗУ».

— Базовую прошивку старой машины сейчас не трогаем, — отрезал Громов. — Загрузим «ЦВЕТ-80» с кассеты как временный испытательный слой. Да, это отнимет кусок оперативной памяти, зато цветные подпрограммы можно будет спокойно обкатать на практике. Ошибку на магнитной ленте я исправлю за вечер, и школы просто перепишут кассету. А вот когда код очистится от сбоев, мы возьмем эти проверенные подпрограммы и перенесем их в новую версию постоянной памяти. Уже для будущей «Сферы-80Ц».

Морозов мысленно зафиксировал издержки. Это стоило времени на томительное ожидание загрузки под писк магнитофона и съедало кусок дефицитной памяти. Зато старая машина сохраняла абсолютную предсказуемость в привычном монохромном режиме.

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

Горелов кивнул. Развязанная линия решала проблему безопасности.

— Эта «Сфера-82» на стенде сейчас для нас главная задача, — Морозов кивнул на макетную плату цветного тракта, усыпанную черными прямоугольниками микросхем. — Как снимаем сигналы?

Олег посмотрел на пустые контакты макетки, затем перевел взгляд на усиленные стеллажи у дальней стены. Там громоздились пять тяжелых шасси цветных телевизоров УПИМЦТ. Массивные умножители напряжения и платы цветности с торчащими рядами подстроечных резисторов ждали своей очереди.

— Пять шасси УПИМЦТ у нас уже лежат, — Олег кивнул на стеллажи. — Но с ними мы договорились еще вчера. До получения ГТИС и полной калибровки телевизоры стоят в стороне.

Наташа переложила рабочую тетрадь с матрицей цветовых атрибутов и кивнула.

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

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

— Значит, реальный телевизионный блок пока точно стоит в стороне. Разность потенциалов между массами УПИМЦТ и нулем нашей логики непредсказуема.

— Выгорит всё, — жестко подтвердила Наташа. — Без эталонного генератора телевизионных сигналов прямое подключение к старому приемному тракту даст грязную проверку. Чуть исказится длительность строчного импульса, и мы утонем в ложных выводах: то ли наша разводка фонит, то ли высохла переходная емкость в самом телевизоре. Сначала — чистая сетка ГТИС и проверка уровней напряжения.

Олег задумчиво покрутил в пальцах отрезок монтажного провода. Тонкая белая фторопластовая изоляция МГТФ чуть блеснула под потолочными лампами.

— Железо почти собрано. Сигнал с регистров скоро пойдет, — он указал зачищенным медным концом на пустые выводные контакты макетки. — Эквивалент нагрузки готов?

К столу подошел Горелов. Он придвинул к себе лист миллиметровки и щелкнул цанговым карандашом, выпуская тонкий графитовый стержень.

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

Горелов быстро набросал на бумаге контур разъема.

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

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

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

Он густо заштриховал один из направляющих пазов на эскизе.

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

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

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

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

— Отлично придумано, — поддержал Олег. — Если лезть толстым щупом осциллографа С1–65 прямо в разъём, рука дрогнет, и половина макета выгорит. Вынесем пяток штырей на отдельную планку и жёстко зафиксируем.

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

— «Землю» сводим в одну точку со стороны источника, — сказала Люба, рисуя в блокноте топологию «звезды». — Иначе получим земляные петли и грязную осциллограмму. На эквивалент возьмём полуваттные МЛТ, они точно выдержат ток.

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

Олег решительно направился к металлическому шкафу с кассами радиодеталей. Звонко защелкали выдвигаемые пластиковые лотки, снабженные аккуратными бумажными бирками. Он методично отбирал резисторы нужного номинала, карболитовые колодки разъемов и достал увесистую катушку розовато-белого провода МГТФ. Щелкнул тумблер на стене, и над столом зашумел мощный промышленный вентилятор вытяжки. Воздух в лаборатории быстро потяжелел, наполняясь сладковато-едким, знакомым каждому электронщику запахом разогреваемой сосновой канифоли и плавящегося оловянно-свинцового припоя.

Громов сгреб в аккуратную стопку свои исписанные листы и задумчиво посмотрел на Горелова. Предложенный аппаратный барьер отлично дополнял его собственные идеи по проверке макета.

— Толково, — сказал Громов, постукивая ручкой по столу. — Для отладки голого макета тестовое ПЗУ Птицына — то, что нужно. А я эту идею перенесу на уровень системы.

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

— Заложу проверку железа прямо в драйвер вывода МикроДОС, — кивнул Громов. — Пусть система при старте стучится в порты атрибутов. Если на шине сплошные нули или единицы — значит, цветной платы нет или отвалилось питание. Тогда драйвер спокойно переходит в монохромный режим и работает как обычно, не ломая вывод.

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

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

— Вот на выносной колодке мы эти задержки и поймаем, — отозвался Горелов. — При плотном цикле сразу будет видно, где проседает фронт.

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

Наташа придвинула общую тетрадь и вписала новые графы в таблицу замеров.

— Андрей, эскиз колодки оставь у меня, — попросила она, выравнивая линейку по краю страницы.

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

— Пойду к себе за стол, — бросил программист. — Набросаю логику автоопределения, пока вы тут собираете эквивалент нагрузки. Птицына дёргать не буду, пусть спокойно шьёт вам ПЗУ.

Морозов отошел к окну. Люба опустила жало паяльника на скрутку. Капля припоя мягко растеклась от жара, плотно охватив медную жилу.

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