В прошлой части я рассказал о том, как я собрал основную плату компьютера "ЮТ-88" "все в одном", подключил компьютер к монитору и PS/2 клавиатуре. На этом можно было бы закончить сборку, но особенность "ЮТ-88" заключалась в возможности собирать компьютер по отдельным блокам и к процессорному блоку требуется подключить блок интерфейса, который позволяет управлять компьютером на начальном этапе. Именно этот блок я хочу добавить к своему компьютеру. Интерфейсный блок содержал клавиатуру и набор из шести семисегментных индикаторов, а также возможность подключения компьютера к магнитофону. Мой вариант будет содержать только клавиатуру и индикаторы.
На схеме варианта "все в одном" предусмотрен специальный разъем для подключения блока с индикаторами и клавиатурой:
Само собой напрашивается установка IDE разъема, который содержит два ряда контактов по 17 в каждом ряду, Я так и поступил, установил такой разъем:
У меня в закромах были два индикатора с тремя цифрами 5361AG с общим катодом, в соответствии с описанием из журнала, примерно такие и требуется использовать. Два таких индикатора позволяют получить шесть цифр. Цифры будут идти без разделения адресной части и части данных, я при проектировании корпуса учту этот момент. На схеме и на плате отсутствуют подтягивающие резисторы от микросхемы К155РЕ3, которая отвечает за отображение сегментов, резисторы установлю на интерфейсный блок.
Нашел у себя макетную плату от набора "Arduino" и решил проверить правильность работы индикаторов, собрал простую схему и подключил к интерфейсному разъему. Получил очень тусклую и нечитаемую индикацию. В оригинале были указаны подтягивающие резисторы номиналом 1 кОм, я уменьшил до 330 Ом, яркость стала хорошая, так оставлю. Показания на индикаторах по прежнему не читаются:
Буду искать причину. Переключив компьютер в режим работы "Монитор F", можно управлять заполнением индикаторов. Для этого нужно в ячейки памяти 9000, 9001 и 9002 записать значение, которое нужно отобразить. Ячейка памяти 9000 - будет отображать на двух крайних правых индикаторах две цифры, 9001 - предназначена для следующих двух индикаторов и 9002 - для крайних левых. Само значение двух индикаторов содержится в одном байте, первые четыре бита для одного индикатора, вторые четыре бита - для другого индикатора. Несколько экспериментов с заполнением индикаторов разными значениями выявил, что, если все индикаторы заполнить одинаковым значением, то можно увидеть что-то осмысленное. Вот так выглядит заполнение всех индикаторов буквой "F":
Хорошо видно, что сегменты индикатора светятся наоборот и буква "F" видна, но она не правильная. Прошивку К155РЕ3 я взял с форума, вот так она выглядит в программе для программатора "Дидуино":
В прошивке два набора кодирования сегментов индикаторов, отличаются они кодировкой наоборот: в первом наборе символы определяются отключением сегментов, во втором - включением, например столбец "01" значение в первой строке 79 (1111001) и значение во второй строке 06 (0000110). В оригинальном варианте прошивка выглядит как второй вариант:
На схеме 14 вывод микросхемы К155РЕ3 подключен к общему и получается, что микросхема возвращает кодировку сегментов первого варианта, что в моем варианте подключения индикаторов не правильно:
Самое простое - это поменять прошивку, естественно я прошил новую микросхему, т.к. они однократно записываемые. Вот такая у меня прошивка, два одинаковых набора данных, второй не задействован и без разницы что в нем:
После перепрошивки я получил правильные отображения на индикаторах, но только, если на всех индикаторах одно и тоже значение. Установка разных значений по прежнему не читается.
Продолжаю поиск проблемы. Решил периодически останавливать генератор импульсов, который используется для индикаторов (ниже на схеме). Ожидал увидеть при остановленном генераторе свечение только одного индикатора, остальные не должны светиться, и вижу, что светятся все, кроме нужного, и значение у них было именно то, которое должно было быть на нужном индикаторе, т.е. опять наоборот. Убрал элементы "НЕ" микросхемы D217 и закоротил ножки напрямую:
Ура. Индикация заработала:
Приступаю к изготовлению интерфейсного блока. Для этого прикупил макетную плату для пайки, нашел старый шлейф на 34 контакта, добавил к комплекту 18 кнопок, 7 резисторов на 330 Ом и два индикатора на три цифры. Паять буду проводом "ПЭВТЛ-2", у него в местах прикосновения паяльника сгорает оплетка и он лудится. Нужно учитывать, что для этого провода температура на паяльнике должна быть выше (400-450 градусов), очень аккуратно нужно паять:
Прикинул расположение элементов на плате.
У шлейфа с одной стороны разъем с блокированным пином и его не получится использовать. И, как назло, это разъем с не перекрученной стороны. Пришлось использовать ту сторону шлейфа, которая перекручена.
Процесс пайки был долгим и не простым. После каждой операции проверял правильность работы, допускал ошибки, но сразу исправлял их. Вот такой получился интерфейсный блок с двух сторон (две фотографии):
Из-за многократных тестов первое включение прошло без особых проблем, если не считать испорченной мной еще одной К155РЕ3, которую я затыкал щупами. Неисправность была в виде постоянно светящегося одного сегмента на всех индикаторах, но, правда, иногда он не светился, закономерность я найти не смог, просто прошил еще одну К155РЕ3 и все заработало правильно. С помощью "Монитор-F" проверил работу показаний на индикаторах разных значений с помощью команды "M":
Индикаторы интерфейсного блока для заполненных ячеек памяти 9000-9002 значениями 12, 34, 56 должны отображаться вот таким образом:
Интерфейсный блок может использоваться только в режиме "Монитор-0", который активируется из стартового меню клавишей "1" или "2", причем второй вариант активирует "Монитор-F" и для запуска "Монитор-0" нужно выполнить команду "G" или нажать на кнопку "Уст" на клавиатуре интерфейсного блока. Экран и PS/2 клавиатура перестают реагировать на команды, работать будет только интерфейсный блок. Стартовое меню:
При старте "Монитор-0" на правых индикаторах будет отображаться две единицы, теперь можно управлять компьютером с помощью интерфейсного блока, как это делалось в далеком 1989 году:
Немного поизучал команды, для примера вызвал часы, предварительно установив время, на фото не видно, но часы идут. Эта команда также позволила убедиться в работе часового генератора и обработку прерываний процессором:
Вот и закончился очередной трудоемкий этап сборки компьютера "ЮТ-88".
Продолжение следует...