NedoPC #6 2011 г.

Pentagon 2.666 - история задумки, реализации, воплощения в жизнь и планы на будущее.


Автор: KOE

Email: KingOJEvil@yandex.ru

Проект "PENTAGON" 2.666 задумывался как дальнейшее развитие и модификация версии 2.2. После выемки ряда черновиков из архива удалось выяснить, что точная дата начала работ над проектом 27 июня 2007 года. На начальном этапе работы преследовались две основных цели: во-первых - в максимальной степени исключить устаревшую и снятую с производства элементную базу, во-вторых -сделать архитектуру новой платы максимально гибкой. При этом важными задачами являлись как сохранение аппаратно-программной совместимости с платами версии 2.2 "снизу-вверх", так и полная совместимость с классическим российским клоном ZX-Spectrum - Pentagon-128k.

Выбор элементной базы для нового проекта производился по критериям использования наиболее распространенных и одновременно наиболее современных элементов. Важным этапом стал выбор ПЛИС - уже на начальном этапе планировалось использовать помимо реального процессора Z80 его логический аналог на vhdl. Была выбрана ПЛИС фирмы Altera EP2C8Q208 (Cyclone-II, на тот момент одна из наиболее "продвинутых" серий). Её логическая ёмкость позволяла разместить не только vhdl-код Z80 и всю сопутствующую логику, но и код музыкального процессора и впоследствии эмулятора Спектрумовского контроллера дисковода КР1818ВГ93. Кроме того, было решено все же оставить реальный Z80 для успокоения "фанатиков", однако впоследствии стало ясно, что необходимость в нем отсутствует практически полностью, а трудности с закупками устаревших компонентов с течением времени только увеличиваются.

Для работы с периферией был выбран микроконтроллер семейства ARM7 производства фирмы NXP (тогда еще Philips). В качестве видеоконтрольного устройства уже на первом этапе планировалось использование только VGA-монитора, без поддержки обычных телевизоров. Хоть изначально решение казалось смелым и не всеми было однозначно воспринято, а для его реализации в технике пришлось приложить некоторое количество усилий, по прошествии времени стало ясно, что решение было исключительно правильным.

На этапе воплощения проекта в жизнь выяснилось, что конструкцию в задуманном виде невозможно реализовать на привычных для спектрумостроения двухслойных печатных платах, в первую очередь из-за сложной топологии соединений шин реального Z80 (с уровнями 5-вольтовой КМОП-логики), ПЛИС (с 3.3-вольтовой КМОП-логикой) и шины ZX-BUS. Опыты показали, что исключение хотя бы одного элемента (т.е. реального Z80 или шины) позволили бы реализовать топологию на 2-х слоях. Однако желание сделать полноценную архитектуру пересилило и первый вариант конструкции, получивший номер версии 2.666, делался на 4-х слойной плате. Кстати, изначально номер версии был 2.665, т.к. я предполагал, что реализовать конструкцию задуманной сложности с первого раза не получится, а номер версии 2.666 хотелось зарезервировать для оконечного варианта. Однако, к моему великому изумлению, первый вариант конструкции и стал оконечным, без единого (!!!) исправления схемы и без единой порезанной дорожки (!!!) на плате (мастерство, все-таки, не пропьешь, как гласит народная мудрость, кроме того, многократно оплачивать из своего кармана производство 4-слойных плат на тот момент (разводка платы была закончена в начале 2008 г.) являлось дорогим удовольствием (тогда на произведствах многослойных плат не делали дешевые прототипы, а стоимость любого заказа автоматически равнялась стоимости технологической заготовки, $200 ... 250 в зависимости от сложности), что дополнительно стимулировало делать все предельно внимательно). Для справки, все предыдущие версии (1.4, 2.2) приобретали окончательный вид лишь со второго раза.

"PENTAGON" 2.666 / 2.666le: история задумки, реализации, воплощения в жизнь и планы на будущее.

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

(изпользовался Specctra autorouter фирмы Cadence) было доверено делать трассировку основных сигнальных шин на внешних слоях по заданным правилам и алгоритмам трассировки. Наиболее ответственные узлы и шины питания на внутренних слоях были разведены вручную.

Рисунок 1:. Процесс автоматической трассировки соединений на плате Pentagon " ver. 2.666

Сам процесс трассировки занимал от нескольких десятков минут до нескольких часов, а результаты сильно зависели от задания начальных условий и правил трассировки. Было сделано более десятка промежуточных вариантов топологии, прежде чем, фактически методом проб и ошибок, было найдено правильное сочетание правил трассировки и получена окончательная топология соединений. Поскольку процесс оказался весьма долгим, трассировка делалась параллельно на двух одновременно работающих компьютерах с разными начальными условиями. Можно часами наблюдать, как горит огонь, как льется вода и как кто-то другой работает, в моем случае к известной фразе следует добавить "и как разводится плата очередного Спектрум-клона". Наблюдать за процессом было действительно интересно, я даже сделал фото на память (рис.1). После получения окончательной топологии с помощью автотрассировщика, рисунок платы дополнительно вычищался вручную, т.к. автотрассировщик все-таки обладает рядом недостатков.

Рисунок 2: Печатная плата Pentagon ver 2.666

После окончания разработки конструкции на производстве было заказано изготовление комплекта плат, объемом сразу в две технологические заготовки и с финишным покрытием контактных площадок

иммерсионным золотом (рискованный шаг, т.к. жалко было бы выбрасывать сразу весь комплект из-за возможных ошибок, но я все-же надеялся на положительный результат, в итоге надежды оправдались). Образец вышедшей из производства платы версии 2.666 показан на рис.2, а на рис.3 показан вид собранной платы.

В рамках этого проекта впервые в истории отечественного спектрумостроения на одной плате был собран полный комплект современных контроллеров периферии, от PS/2 клавиатуры и мыши до IDE и SD-карты. Также была заложена аппаратная возможность использования Ethernet, USB, однако их программная поддержка пока отсутствует.


Рисунок 3: Собранная плата "Pentagon " ver.2.666 (2008 г.)

Работа над проектом не остановилась в 2008 году, практически сразу же после появления первых работоспособных версий встроенного программного обеспечения (прошивок ПЛИС и FPGA) появилась идея создания облегченной версии конструкции на двухслойной печатной плате. В первую очередь это было связано с дороговизной четырехслойных плат, а также к тому моменту я на практике убедился в отсутствии необходимости в именно реальном процессоре Z80 (практика показала, что те, кому он жизненно необходим, все равно ничего кроме "расово правильных и православных" Пентагонов образца 1991 года на рассыпной логике не приемлют принципиально). Новая плата появилась в 2009 году и получила версию 2.666le. В отличие от предыдущей, вся топология прорисовывалась вручную. Как ни странно, вновь конструкция получила окончательный вариант с первого раза, без переделок и исправлений. Внешний вид платы показан на рис.4.

Вцелом схемотехника и архитектура платы 2.666le практически повторяет версию 2.666, за исключением отсутствия реального процессора Z80, изменений видео-ЦАПа и некоторой периферии.

Процесс разработки встроенного программного обеспечения (прошивок ПЛИС и контроллера периферии) довольно бурно начался еще в 2008 году. Полностью с нуля был написан основной vhdl-код, описывающий логическую часть

архитектуры системы и C-код контроллера

периферии. Была реализована часть функций, кроме расширенных видеорежимов и эмулятора КР1818ВГ93. Однако в 2010 -первой половине 2011 года из-за сильной занятости на работе и параллельной учебе в аспирантуре МЭИ работу над проектом пришлось сначала замедлить, потом и вовсе заморозить. Возобновление работ над проектом произошло лишь в конце лета 2011 года, после окончания аспирантуры и перехода на более спокойный режим работы. За последнее время было реализованы два дополнительных видеорежима (16 цветов на точку и "прозрачный текстовый режим", позволяющий выводить текстовую информацию на экран в формате до 32 строк по 80 символов прямо поверх Спектрум-экрана, несколько снизив его яркость). Кроме того, обычная реализация звукового чипа YM2149 заменена на Turbo Sound, переработана реализация CMOS-памяти с целью увеличения программной

совместимости, заработал двухканальный АЦП. Новые версии прошивок на данный момент (ноябрь 2011) не зарелижены, но в скором времени ожидается серьезное обновление. Таким образом, на данный момент первостепенной нерешенной задачей и планом на будущее развитие проекта является реализация аппаратного (или аппаратно-программного) эмулятора

КР1818ВГ93.

Рисунок 4: Печатная плата "Pentagon " ver.2.666le (2009 г.)


В заключении приведу основные технические характеристики плат версии 2.666le:

Платформа

ZX-Spectrum

Аппаратно-программная совместимость

Pentagon

Архитектура

Открытая, системная шина ZX-BUS

Тип микропроцессора

T80 vhdl core (совместим с Zilog Z80)

Тактовая частота процессора

3.5 МГц (Spectrum-режим) / 28 МГц (турбо-режим)

Объем ОЗУ

2048 к (в текущей прошивке программно поддержано 1024к)

Тип используемой ПЛИС

EP2C8Q208C8N, ф. Altera

Тип встроенного периферийного контроллера

LPC2368FBD100, ф. NXP

Тактовая частота периферийного контроллера

72 МГц

Объем встроенного flash-ПЗУ

512к

Тип музыкального процессора

2 x YM2149 (Turbo Sound), vhdl core

Интерфейсы ввода

PS2 keyboard/mouse

Интерфейсы ввода/вывода

SD-CARD (стандарт ZC), IDE (стандарт Nemo), UART (в текущей прошивке не поддержан), USB (на данный момент программной поддержки нет)

Экран

SVGA, 5 бит на каждый цвет

Питание

+5 В, 1.5 Вт (без периферии), поддерживаются ATX блоки питания

Форм-фактор

Micro-AT




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Хит-парад - 10 лучших программ,по итогам продаж фирмы Welcome.
Вот блин - Конец связи? (о повременной оплате телефонных разговоров).
Конференции - Hi народ! Из штаба, т.е. от меня поступило ценное предложение...
Заначка - недетерминируемая игра VIRUS 2.
Программистам - Basic для чайников - часть 5.

В этот день...   29 марта