Сампутер

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

  • Открытость. Все части проекта, от схемы до исходных текстов программ, должны быть доступны для пользователя. Всякий имеет право и возможность изучать, улучшать, дополнять и распространять материалы проекта. В качестве лицензии выбрана GPL.
  • Полезность. Компьютер должен служить инструментом в хозяйстве радиолюбителя. Необходимо наличие возможности подключения распространенной периферии, а также простых интерфейсов расширения для других разработок и экспериментов. В качестве штатной операционной системы выбран Линукс.
  • Современная доступная элементная база. Используемые микросхемы и другие компоненты не должны быть дефицитными. Задача максимального снижения цены не ставится.

Выбор основного процессора

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

Наиболее массовая в настоящее время архитектура для высокопроизводительных микроконтроллеров — ARM9. Есть варианты от фирм Atmel, Cirrus Logic и Philips, с частотой до 200 МГц. Но, к сожалению, в этих процессорах отсутствует блок операций с плавающей точкой.

Выбор остановился на микроконтроллере отечественной фирмы “Элвис”: MCT-01. Его особенность:

  • Архитектура MIPS32, для которой есть достаточное количество открытого программного обеспечения, включая компиляторы и эмуляторы.
  • Наличие блока операций с плавающей точкой.
  • Корпус QFP-240.
  • Подробная русскоязычная документация.

Единственный минус — высокая цена. Единичные образцы MCT-01 предлагаются по 2000 рублей.

Документация: MCT-01, руководство пользователя

Проблема VGA

Пока нет идеи, как малыми силами сделать видеоконтроллер. По этой причине порт VGA, а также порты PS/2 в текущей версии проекта отсутствуют.

Конструктор "сделай сам"

Сампутер можно развивать и наращивать постепенно, по мере потребностей и финансовых возможностей.

  1. Изготавливаем основную плату, устанавливаем микроконтроллер ATmega2561 и его обвязку. Получаем 8-битный компьютер с COM-портом, частотой 14 МГц, 256 кбайт памяти команд и 8 кбайт памяти данных. На разъем расширения выведены N(?) сигналов микроконтроллера, которые можно использовать для управления внешними устройствами.
  2. Добавляем микросхему FPGA, микросхему памяти 64 Мбайт, трансивер Ethernet и контроллер звука. Загружаем в программируемую логику прошивку микропроцессора OpenRisc 1000 или Plasma MIPS32 (или другие). Получаем 32-битный компьютер с частотой до 20 МГц, памятью 64 Мбайт, сетью и звуком. Вместо жесткого диска и флопика используем карточки памяти SD/MMC. Можно запускать Линукс.
  3. Добавляем процессор MCT-01 и еще одну микросхему памяти 64 Мбайт. Получаем частоту 100 МГц и аппаратную реализацию вычислений с плавающей точкой.

Грубая оценка затрат:

Этап 1 - 8-битный микроконтроллер стоимость платы + $15
Этап 2 - 32-битный компьютер 20 МГц с памятью 64 Мбайт, сетью Ethernet и звуком еще $100
Этап 3 - компьютер 100 МГц с плавающей точкой и памятью 128 Мбайт еще $120

Проект спецификации

Процессор

Микросхема: MCT-01
Цена: $80

Память

Микросхема: MT48LC32M16, две штуки
Емкость: 64 Мбайт * 2
Цена: $40 * 2

Программируемая логика

Используется микросхема FPGA с прошивкой, загружаемой при подаче питания. Выполняет функции контроллера SD/MMC. Также содержит память начальной загрузки (ПЗУ) с кодом первичного загрузчика для основного процессора.
Микросхема: Xilinx XC3S500E (FPGA серии Spartan-3E)
Цена: $40

Системный сопроцессор

Микросхема ATmega2561. Хранит прошивку FPGA, загружает её при подаче питания. Порт COM3 подключен к UART0 и порту прошивки сопроцессора, для замены прошивки. Для переключения в режим прошивки устанавливается пара джамперов. Системный сопроцессор можно также применять для отладки: останов основного процессора, потактовое выполнение, трассировка циклов на шине MPORT.
Цена: $15

Порт Ethernet

Микросхема: трансивер Micrel KS8721BL, разъем RJ-45
Цена: $3

Звук

Стерео вход/выход, пищалка на плате.
Микросхема: National Semiconductor LM4550B
Цена: $6

Сменные носители

Два слота SD/MMC

Порты RS-232

COM1: асинхронный приёмопередатчик, реализован в процессоре (при его наличии) или в FPGA.
COM2: подключен к системному сопроцессору, применяется для замены прошивки FPGA.

Слоты расширения

Двухрядные разъемы IDC от основного процессора и от FPGA.
EXT1: сигналы общего назначения (GPIO) от основного процессора.
EXT2: сигналы общего назначения от программируемой логики.
EXT3: сигналы общего назначения от системного сопроцессора (ATmega). SW1, SW2: порты SpaceWire с интерфейсом LVDS

Порты отладки

JTAG1: отладочный интерфейс основного процессора.
JTAG2: порт JTAG от FPGA для отладки прошивок OpenRisc или Plasma.

Питание

Внешний блок питания 8-12 VDC/VAC.

 
proj/samputer/intro.txt · Последние изменения: 2007/05/18 09:23
 
Copyright (C) 1996-2013 Serge Vakulenko
serge@vak.ru