Retrobyte — универсальная модульная платформа для постройки реплик ретро-компьютеров

Во время работы над репликой компьютера «Агат-7» я столкнулся с необходимостью постоянных изменений и улучшений, связанных с появлением новых идей или исправлением обнаруженных проблем.  Некоторые из них связаны с необходимостью изменения печатной платы. На данный момент у меня уже собраны четыре платы для «Агата» разных ревизий и модификаций. И это не предел, так как проект все еще не закончен.

Кроме того, что это тормозит продвижение проекта, это еще и экономически не эффективно. Каждая новая версия платы должна иметь припаянную память, ПЛИС, разъемы и прочие элементы схемы. Из-за полного набора элементов на плате ее размер так же получается достаточно большим, что удорожает производство. Для примера, заказ плат размером 10х10см у моего производителя обходится в $20 (плюс доставка из Китая) за 10 плат, тогда как платы размером 15х15 см (это размер платы в проекте «Агат-7») стоят там же уже $70 за 5 штук.

Так возникла идея универсальной модульной платформы для создания реплик ретро-компьютеров. Я назвал ее Retrobyte.

Базовая платформа состоит из платы на которой смонтированы типовые элементы, необходимые для большинства ретро-компьютеров:

  1. 4Мб SDRAM память.
  2. Магнитофонный вход и выход со схемой развязки.
  3. Возможность подключения динамика (простейшая схема пищалки уже на плате).
  4. Разъем PS/2 для подключения клавиатуры.
  5. Разъем SD карт.
  6. Видео-выходы VGA, RCA и S-Video с возможностью переключения между ними из ПЛИС.

SD карта не соединена с FPGA, а выведена на один ряд двурядного разъема. Второй ряд этого разъема подключен к ПЛИС:

Retrobyte SD card schematic
Retrobyte SD card schematic

Таким образом, можно подключить внешний контроллер к четным пинам разъема P12 и задействовать нечетные пины, подключенные к ПЛИС, под что-либо еще (например, для коммуникации этого же внешнего микроконтроллера с ПЛИС). Если же планируется использовать SD карту самой ПЛИС, то достаточно просто соединить четные и нечетные пины разъема между собой.

Видео выход позволяет выводить сигнал на телевизор в стандартах NTSC и PAL. Выбор осуществляется впаиванием одного из резисторов R10-R12. Если впаян R10, то ПЛИС сможет самостоятельно переключать стандарты. Впаяв же резисторы R11 или R12, можно жество зафиксировать телевизионный стандарт и освободить один из пинов ПЛИС для других нужд:

Retrobyte (rev.A) video output
Retrobyte (rev.A) video output

Резисторами R2-R7 задается цветность видео выхода. Возможны следующие варианты:

  • Все резисторы запаяны. Каждый цвет RGB имеет 4 градации с 64 различными вариантами цветов.
  • Запаяны только резисторы R3, R5 и R7. Получаем цвета без градаций с 8 итоговыми цветами. Пины P1, L1 и L3 ПЛИС освобождаются для других задач.
  • Запаян только резистор R3, а также соединены все три вывода разъема P11. Черно-белое изображение без градаций серого. Пины P1, L1, N3, R1 и L3 ПЛИС освобождаются для других задач.
  • Ни один резистор не запаян, а к разъему P11 подключается внешний видео-ЦАП. Этот вариант может понадобиться для компьютеров с нестандартными цветовыми палитрами (например, Commodore).

Наверняка есть еще варианты комбинаций.

Все незадействованные пины ПЛИС выведены на разъемы, к которым можно подключать другие платы и устройства. Фактически получается модульная расширяемая архитектура.

Для дальнейшего упрощения, в качестве ПЛИС выбран готовый модуль CoreEP4CE10. Это компактная плата содержащая чип ALTERA Cyclone IV EP4CE10F17C8N (10К LE) и все необходимую его обвязку, включая осцилятор и flash память. Цена сопоставима с покупкой всех комплектующих, но не требует усилий по пайке и экономит время по отладке.

Для подключения дополнительных плат и модулей, на плате Retrobyte доступно от 104 до 117 пинов (зависит от варианта сборки), что должно быть достаточно для большинства задач.

Питание осуществляется от любого стабилизированного источника питания 5В. Напряжение 3.3В генерируется на самой плате и так же доступно на разъемах расширения.

Размер платы Retrobyte всего 10х10 см, что делает ее изготовление очень дешевым.

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

Дополнительные модули можно подключать бутербродом.

Вот так выглядит 3D модель Retrobyte:

retrobyte_rend1 retrobyte_rend2 Retrobyte_RevA_2016-Jan-31_12-44-47AM-000_FRONT

Я заказал платы и собрал один прототип на котором я делаю компьютер «Микро-80» (напишу о нем позже) с целью отладки и проверки идеи. В процессе обнаружены некоторые неточности, которые я устраню в Rev.B. Все они незначительны, так что я все еще могу использовать заказанные платы Rev.A для строительства ретро-компьютеров. Вот так выглядит готовое устройство:

micro80

Полную схему и разводку плат я опубликую позже, когда закончу компьютер «Микро-80», соберу все изменения вместе и сделаю исправленную Rev.B этой платы. Следите за обновлениями!

2 thoughts on “Retrobyte — универсальная модульная платформа для постройки реплик ретро-компьютеров

Leave a Reply