Наступил долгожданный момент сборки моего компьютера ZX Evolution. Передо мной лежит готовый набор для сборки:
Весь проект с описанием, схемой, прошивками и еще множество документации находится по ссылке. Там очень подробно описан рекомендованный процесс сборки.
На плате номиналы мелких деталей не указаны, для сборки мне понадобится монтажная схема, которую можно скачать на странице по ссылке, указанной выше.
И так, приступаю к монтажу различной мелочевки. На обратной стороне платы установил все конденсаторы и резисторы, тут их не очень много, заодно немного руку набью на SMD деталях:
Отмыл плату и проверил на короткое замыкание по питанию. Все в порядке. Так и буду не торопясь собирать и делать промежуточное тестирование.
На верхней стороне платы находится основная часть всех компонентов. Чтобы не перепутать вынимал детальки только одного номинала и сразу их припаивал, особенно это касается конденсаторов, т.к. на их корпусе значение номинала не указано. Контакты многих деталей расположены очень близко друг к другу, приходилось постоянно тестером проверять на замыкание. После пайки каждого участка тщательно отмывал плату от флюса. Паяю я не быстро, да и возможность заниматься этим было только вечерами, в общем потратил на установку всей мелочевки около недели. Вот результат:
Еще раз прошелся тестером и проверил пайку деталей. Очень старался не торопиться.
Пора припаивать микросхемы.
Самая большая микросхема D2 с самым большим количеством контактов, а их 208 - это Altera EP1K50Q208. Опыта пайки таких микросхем у меня еще нет. Корпус большой и позиционировать можно без проблем раками. Паять оказалось не очень сложно, использовал жало паяльника в виде топорика и, конечно, микроскоп. На спаянные между собой ножки наносил немного флюса и повторно проходил паяльником. Особенность этой микросхемы в длинных ножках и спаивались они иногда в верхней части, что не сразу заметно. Старался не перегревать микросхему и делал паузы. С помощью тестера проверил на замыкание соседние ножки микросхемы и на контакт каждой ножки с площадкой на плате.
Далее припаял процессор Z80, ATMEGA128 и сразу припаял D9 (FT232RL), у нее ножки, как и у D2, очень близко друг к другу:
И наконец припаял все оставшиеся микросхемы, включая микросхемы памяти RAM1 и RAM2. Память паял последней, но как выяснилось, паять ее оказалось очень не просто. Ножки у нее загнуты под микросхему и контакт с площадками находится под микросхемой, совсем немного выступая наружу. Если ножки спаивались между собой, то убирать замыкание было очень не просто. На две микросхемы памяти я потратил весь вечер, многократно проверял тестером, замыкание убирал исключительно с помощью паяльника, механическое удаление замыкания могло повредить контакты. Флеш память пока решил не ставить.
Последними установил стабилизаторы напряжений. И вот плата готова для следующего этапа сборки:
В соответствии с рекомендациями проверил на замыкание на GND все напряжений на входе компьютера и на стабилизаторах. Короткого замыкания нет.
Сразу на заднюю сторону платы установил все разъемы, которые буду использовать (разъем клавиатуры и мыши, разъем флеш карты, COM порт, VGA, мини USB, подключение наушников). Питание буду подавать на 20-ти пиновый ATX разъем, его также установил.
Теперь необходимо разобраться с прошивкой компьютера. Прошивается компьютер в два этапа: сперва прошивается бутлоадер в ATMEGA128 (D4) и затем рабочая конфигурация в Altera (D2). Все прошивки я брал по ссылке в начале этой статьи.
Прошивать бутлоадер я буду с помощью программатора XGecu T48, собирать Byte Blaster MV не вижу необходимости. Разъем на плате для прошивки используется X5, для удобства установил удобный разъем. Схема подключения приведена на следующем рисунке:
Теперь нужно разобраться с подключением к нему программатора T48. При выборе в программаторе ATMEGA128 предлагается следующая схема подключения:
Соответствие контактов следующее: MISO -> PRGDO, MOSI -> PRGDI, SCK -> SPICLK, RST -> PRGRST. PRGEXCLOCK не задействован.
В программе Xgpro необходимо выбрать файл zxevo_bl.hex.
Установить фьюзы:
Далее нужно указать, что программирование будет осуществляться через разъем ICSP программатора. Следующая настройка очень спорная и я не рекомендую повторять, хотя у меня получилось. Я подал питание от программатора. Если установить VCC Current Imax в положение "Default", то программатор уходит в защиту. Я рискнул поставить 350mA и ATMEGA128 прошилась, но, скорее всего, безопаснее будет подать питание от внешнего источника. Вот мои настройки:
Подключенный программатор T48 к компьютеру ZX Evolution:
Первый этап прошивки компьютера ZX Evolution завершен.
Теперь нужно загрузить рабочую конфигурацию. Загружать буду с SD карты, для этого отформатировал ее в FAT32 и поместил файл zxevo_fw.bin. Питание у меня подается через ATX разъем, соответственно после подачи питания компьютер не запускается, необходимо замкнуть разъем J6, питание появится, затем замкнуть его снова и, в замкнутом положении сделать полный сброс разъемом J9, после размыкания J6 произойдет прошивка рабочей конфигурации. После окончания прошивки признаков жизни компьютер не подает, так, вроде у всех. Я подождал минуту и еще раз его перезагрузил.
Следующее действие было лишним. Я решил прошить ROM (микросхема D3) с помощью программатора T48, а уже потом ее впаять на место. На тот момент я не нашел информации когда ее нужно прошивать. В последствии оказалось, что ее можно прошить уже потом из стартового меню компьютера. Но и прошитая программатором T48 будет работать.
Для прошивки ROM купил переходник:
Сам процесс прошивки не требует каких-либо особых настроек.
Хочу отметить, что у микросхемы 29F040, как и у микросхем памяти, ножки загнуты под корпус, но имея уже опыт пайки таких микросхем, сложности в ее установке уже не было.
Микросхему КР1818ВГ93 и YM2149 поставлю на панельки, но т.к. под панельками есть SMD элементы, то пришлось панельки немного подпилить. Также поставил остальные разъемы, думаю, что они уже не будут мешать настройке компьютера. Вид компьютера после установки всех компонентов:
Первая попытка запустить компьютер была не удачная. На экране монитора через VGA разъем я ничего не увидел. Компьютер не работает, пора доставать мой осциллограф и искать причину.
Сразу проверяю разъем X8, на который подается синхросмесь и RGB, и там никаких сигналов нет, соответственно и на выходе D13 тоже пусто, а вот на вход D13 все необходимые сигналы приходят. И тут я обратил внимание, что на микросхему приходит чуть больше одного вольта питание, естественно она работать не будет. За питание этой микросхемы отвечает стабилизатор DA5, который должен выдавать 5 вольт из 12-ти на входе, а он выдает неверное напряжение. Оказывается в наборе был стабилизатор LM1117-5.0, а на схеме 78M05, различие у них в назначении выводов и они не взаимозаменяемы из-за этого. После замены стабилизатора на разъеме X8 сигналы появились. Вообще интересное решение: на основные микросхемы приходит 5 вольт от блока питания, а на различную периферию 5 вольт от стабилизатора DA5.
Подключенный монитор к VGA разъему по прежнему ничего не показывает. Попробую подключить компьютер через конвертер RGB в PAL с разъема X8. Для удобства питание конвертера можно взять с разъема X9, который авторы предусмотрительно расположили рядом, только полярность оказалась наоборот:
И вот он долгожданный стартовый экран на телевизоре:
Картинка немного смазана, но это особенность конвертера, его надо подключать не так, а я его пока буду использовать только для тестирования.
Компьютер работает, но подключить его через VGA не получается. Переключение режима отображения клавишей Scroll Lock тоже никаких результатов не дает. Как я понял, не каждый монитор может правильно работать с ZX Evolution, даже есть программа, которая проверяет совместимость, но воспользоваться я ей не смогу, у меня нет на компьютере VGA разъема, как и на мониторе, а подключаю я через переходник VGA2HDMI:
Этот переходник у меня всегда прекрасно работал, а вот ZX Evolution через него не работает, странно. Решил так не оставлять, а дальше проверить все сигналы теперь уже на разъеме VGA. На контакте 14 сигнала нет, так быть не должно. Соответственно на 11 ноге D13 тоже ноль и на 9-й такая же ситуация. Выяснилось, что 9-я нога D13 коротит на землю, вот тут надо разбираться:
Первое предположение, что проблема в районе D13. Я ее сдул с платы, но контактная площадка 9-й ноги по прежнему коротит на землю. Получается проблема где-то в D2 на 120-й ноге. 120-я нога на соседние ножки не коротит, а коротит именно на землю. Я пытался пропаять это место еще раз, попробовал греть феном, ничего не помогает. В общем решился я на демонтаж D2, задача сложная. В итоге саму Altera я повредил при демонтаже, также повредил 53-ю контактную площадку, жаль очень, придется восстанавливать потом, хорошо, что она крайняя в ряду:
После демонтажа замыкание 120-й контактной площадки D2 на землю прекратилось.
Заказал новую EP1K50Q208. Надо было сразу две заказывать, т.к. после установки нового экземпляра компьютер не запустился, хотя сигнал со 120-й ноги этой микросхемы появился. При тестировании через конвертер RGB в PAL в стартовом меню появились артефакты в виде цветных квадратов, D2 очень сильно нагрелась и, затем, совсем перестало все работать.
Повторно демонтировал Altera. Прозвонил еще раз все контакты с нее. Повредил при демонтаже еще одну 54-ю контактную площадку, рядом с уже поврежденной 53-й.
Опять заказ новой микросхемы и опять ожидание.
Третья попытка припаять D2. Еще раз все прозвонил. Проверил все ноги на замыкание между собой, замыкание на землю и питание, проверил соединение микросхемы с другими компонентами платы. Если не считать поврежденных дорожек, то все остальное соответствует схеме. 53-я и 54-я ноги микросхемы идут на КР1818ВГ93. Я пока ее ставить не буду и подключать дисковод тоже, восстановлю дорожки, когда в этом будет прямая необходимость. Готовый компьютер на этот раз подключил к блоку питания, который я купил для Ориона-ПРО:
После замены D2 требуется по новой загрузить с SD карты рабочую конфигурацию. На этот раз я прошил специальную конфигурацию для тестирования.
Компьютер запустился, ура! Температура D2 нормальная, микросхема греется, но не сильно. И главное, изображение на экране монитора появилось:
Тестовая конфигурация в фоне постоянно тестирует память, я оставил его работать на пару часов, никаких ошибок не возникло.
Отдельно можно протестировать работу клавиатуры. После нажатия клавиши символ меняет цвет с желтого на синий. Один символ остался желтым, т.к. такой клавиши на моей клавиатуре нет:
Тестирование отображения на экране (несколько фотографий):
Я не очень понял почему радуга только из 8-ми цветов, хотя на настроечной таблице видны цвета разной яркости. Может так и должно быть? Разберусь позже.
С помощью тестовой конфигурации можно прошить ROM, который я раньше прошил с помощью T48 и мог этого не делать.
Для этого нужно на SD карту записать файл zxevo_fe.rom, выбрать его, добавив задание. Затем выбрать "выполнить":
Процесс прошивки ROM:
Прошивка ROM завершена:
Теперь в нижней таблице отображается содержимое ROM:
Поменял тестовую конфигурацию на рабочую, и компьютер наконец-то заработал в своем штатном режиме. При старте на экране отображается меню выбора загрузки:
Разбираться с программной частью буду позже. Задача была запустить этот компьютер, что в итоге у меня получилось. Для примера загрузка в режиме "128k basic":
На последок временно установил плату в посадочные места корпуса, чтобы ничего на ней не повредить:
Подключил модуль питания, по высоте он не будет мешать верхней крышке. Разъем питания вывел на заднюю стенку, подавать питание буду с ноутбучного 12-ти вольтового внешнего блока питания. Кнопку включения подключил к J6, светодиоды на корпусе к VD3 и VD6, на передней панели теперь красиво мигает индикатор при включении компьютера.
Очень длинная статья получилась, да и сама сборка была очень долгой.