Пора приступать к сборке компьютера "Орион-ПРО". Подготовил плату, на всякий случай ее промыл спиртом, чтобы удалить грязь после производства. Выглядит плата просто отлично:
Не лишним будет проверить контакты на короткое замыкание, на всякий случай, пробежался по плате, все нормально.
Собирать буду поэтапно, с промежуточным тестирование.
Купил блок питания стандарта ATX на 400 ватт (с большим запасом), он мне понравился тем, что можно использовать только необходимые провода, лишнее болтаться не будет.
Первым делом решил установить все элементы, отвечающие за питание компьютера. Подключать к плате буду по 20-ти пиновому разъему ATX. На плате реализована простая схема включения компьютера на базе микросхемы PIC16F629. Пришлось подобрать прошивку для нее, чтобы при включении питания компьютер находился в выключенном состоянии.
Каждый раз перед включением питания рекомендую проверить на короткое замыкание цепи +5 и +12 вольт с "землей", чтобы не спалить дорожки, потом будет найти очень тяжело.
В качестве индикатора питания используется двух-цветный светодиод, установил для него колодку, чтобы временно подключать светодиод, потом я его установлю на корпус. При подаче питания светодиод горит красным цветом. Для включения нужно однократно замкнуть управляющие контакты, светодиод три раза мигнет и загорится зеленым, сигнализируя, что компьютер включен.
Питание по плате пошло. Имеется как +5 вольт, так и +12 вольт. Как я понял +12 вольт понадобиться для микросхемы контроллера дисковода К1818ВГ93. Такая микросхема у меня есть, я ее проверил на другом компьютере, рабочая.
+12 вольт на 40-вой ноге D33 нет, чтобы напряжение появилось, необходимо собрать еще одну часть платы. Можно этого не делать, если вместо К1818ВГ93 установить аналог, например, MB8877A. Я эту часть схемы собрал, +12 вольт на 40-ом контакте D33 появилось:
Завершаю сборку питания компьютера установкой на свои места блокировочные конденсаторы. Электролиты поставлю позже, чтобы они не мешали дальнейшей сборки:
Еще один этап сборки - это установка всей оставшейся мелочевки (резисторы, транзисторы, диоды и прочее):
Сразу установил панельки под память, чтобы удобно было отмыть флюс, который мог попасть под них, потом это сделать будет сложнее.
Перед установкой всех микросхем решил собрать схему генератора частоты и "сброс" компьютера:
Все сигналы правильные и можно продолжать сборку.
Устанавливать микросхемы логики я буду сразу на плату без использования панелек. Панельки буду использовать только для памяти, ПЗУ, процессора и некоторых других микросхем.
Микросхем очень большое количество, каждую предварительно протестировал тестером от Trolsoft. Конечно, это не дает 100% уверенности. Не реклама, но этот тестер очень рекомендую.
Самый ответственный момент. Установил все микросхемы логики на плату. Тут промежуточных тестов я не делал, нет никакого смысла. Тестировать элементы, на мой взгляд, удобнее, когда они на своих местах.
Все микросхемы старался использовать серии 1533, но, авторы рекомендуют две микросхемы установить другой серии, иначе компьютер может не стартовать - это К1531ТМ2 и К531ТМ2, я их отметил:
В таком состоянии компьютер можно подключить к телевизору. Сейчас достаточно подключить по сигналу "Видео". Изображение на экране появилось, но оно не стабильное. Установка перемычки J12, исправило ситуацию. На экране телевизора отобразился ровный белый прямоугольник, в будущем это будет зона отображения информации на экране.
Следующий тест - это проверка сигналов чтения памяти. Для этого можно поочередно замкнуть 14-й контакт 8-ми микросхем памяти 1-й страницы на землю. На экране должны появляться вертикальные черные линии в разных позициях:
В книге есть рекомендации по тестированию этого компьютера. Для очередного этапа тестирования предлагается прошить ПЗУ тестовой программой:
Программа не большая, я ее ввел вручную в Xgpro программатора T48 и прошил ПЗУ.
Установил процессор и все микросхемы КР580ВВ55А, память, как рекомендовано, не устанавливал:
Вот цитата, описывающая этап тестирования, который у меня не получилось выполнить:
При включении компьютера на старших битах адреса присутствуют хаотичные сигналы, изменение состояния микропереключателей никак не влияют. Если я все правильно понял, то процессор не стартует.
Исследование платы ни к чему не привели, на мой взгляд все на месте.
В телеграмм канале ребята дали рекомендацию поправить тестовую прошивку. Выделил изменение, которое надо внести в прошивку для новых версий плат:
Изменение не исправило ситуацию, тест не выполняется.
Опять же, по рекомендации в телеграмм, установил все микросхемы памяти, чтобы посмотреть что отображается на экране.
Чтобы убедиться, что все микросхемы памяти исправны, я воспользовался вот таким тестером (позже я напишу статью как я его собирал). Из набора заменил одну, т.к. она давала ошибку на скорости 100нс, на 120нс работала исправно, а я хотел, чтобы все микросхемы работали исправно одинаково на 100нс.
На экране телевизора компьютер отобразил мусор:
Ничего другого я и не ожидал увидеть, т.к. этот тест не работал при переключении микропереключателей. Важный момент. Без ПЗУ картинка такая же. На сброс компьютер реагирует, на экране меняется изображение.
Первое, что приходит в голову - это не работает "холодный старт". Но все сигналы обращения к ПЗУ приходят корректно. Очень запутанно. По ощущению все работает, а тестовая прошивка не стартует.
Хочу поблагодарить Александра, жаль, не знаю фамилии, который является одним из авторов платы и самого Орион ПРО, который помог понять причину неисправности.
В своем компьютере я решил использовать УФ стираемые ПЗУ M27C512, у меня их много. M27C256 из набора оставил для другого проекта. Специально для нее Александр мне скинул файл с тестовой прошивкой. Конечно, я на него взглянул и сразу все понял. Вот схема подключения ROM1:
На схеме видно, что три старших бита адреса заведены на +5 вольт, т.е. на них всегда единица. Видимо это сделано для универсального подключения разных типов микросхем в ROM1, глубоко не стал копать причину такого решения. Так вот тестовая программа читается не с адреса 0000H, а с адреса E000H, а я ее записал в начало ПЗУ, соответственно процессор ничего и не делал. В файле с прошивкой от Александра программа многократно дублируется для разных адресов разных вариантов микросхем ПЗУ (разного размера памяти).
Тест успешно запустился, на экране сформировалось "шахматное" поле, каждый прямоугольник периодически меняет цвет с черного на белый и наоборот. Камера телефона запечатлела момент смены цвета, из-за этого возникла в центре смазанность, в живую все хорошо выглядит:
Установил на свое место ПЗУ с прошивками ROM1 и ROM2. Прошивка в ROM1 также повторяется несколько раз, как повторялась тестовая прошивка. С установкой микропереключателей разбираться пока не стал, установил только режим отображения стартового меню. Частоту компьютера оставил на 5 МГц, как при тестировании. Плата компьютера готовая к первому запуску:
Ура! Компьютер запустился и на экране отобразилось стартовое меню:
Продолжаю сборку. Прошил и установил контроллер клавиатуры на Atmega48, подключил клавиатуру. Установил на плату все разъемы:
Кратко хочу показать доступные из прошивки программы.
В первую очередь из стартового меню запустил программу тестирования компьютера. В меню программы можно выбрать один из вариантов теста:
"Configuration" отображает положение микропереключателей на плате:
"RAM-test" - тест оперативной памяти:
"ROM-test" - тест чтения ПЗУ, рассчитывает контрольную сумму прошивок:
Тест вывода изображения на телевизор, на данный момент изображение монохромное, т.к. компьютер подключен по видео сигналу, в дальнейшем подключу через SCART и изображение будет цветным:
Программа "Monitor" предназначена управлять компьютером простыми командами, дает прямой доступ к оперативной памяти компьютера:
Пример получения состояния оперативной памяти командой "D":
Запуск компьютера в режиме "Орион-ПРО". К компьютеру на данный момент никаких внешних носителей не подключено, соответственно компьютер в этом режиме еще не стартует:
Запуск компьютера в режиме "Орион-128", внешних носителей нет, менеджер файлов пустой:
Плата компьютера Орион-ПРО заработала, буду продолжать сборку!