User Tools

Site Tools


samputer:intro

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

samputer:intro [2007/05/18 16:23] – created - external edit 127.0.0.1samputer:intro [2022/05/16 05:15] (current) vak
Line 1: Line 1:
 +====== Сампутер ======
 +Идея в том, чтобы спроектировать и изготовить компьютер современного уровня, доступный для повторения радиолюбителями-энтузиастами.
 +  * Открытость. Все части проекта, от схемы до исходных текстов программ, должны быть доступны для пользователя. Всякий имеет право и возможность изучать, улучшать, дополнять и распространять материалы проекта. В качестве лицензии выбрана GPL.
 +  * Полезность. Компьютер должен служить инструментом в хозяйстве радиолюбителя. Необходимо наличие возможности подключения распространенной периферии, а также простых  интерфейсов расширения для других разработок и экспериментов. В качестве штатной операционной системы выбран Линукс.
 +  * Современная доступная элементная база. Используемые микросхемы и другие компоненты не должны быть дефицитными. Задача максимального снижения цены не ставится.
 +
 +====== Выбор основного процессора ======
 +Поскольку для любительских условий монтаж по технологии BGA не представляется
 +возможным, выбор процессора ограничивается корпусами QFP.
 +
 +Наиболее массовая в настоящее время архитектура для высокопроизводительных
 +микроконтроллеров --- ARM9. Есть варианты от фирм Atmel, Cirrus Logic и
 +Philips, с частотой до 200 МГц. Но, к сожалению, в этих процессорах
 +отсутствует блок операций с плавающей точкой.
 +
 +Выбор остановился на микроконтроллере отечественной фирмы "Элвис": MCT-01.
 +Его особенность:
 +  * Архитектура MIPS32, для которой есть достаточное количество открытого программного обеспечения, включая компиляторы и эмуляторы.
 +  * Наличие блока операций с плавающей точкой.
 +  * Корпус QFP-240.
 +  * Подробная русскоязычная документация.
 +
 +Единственный минус --- высокая цена. Единичные образцы MCT-01 предлагаются
 +по 2000 рублей.
 +
 +Документация: {{mct-01-2007-02-19.pdf | MCT-01, руководство пользователя}}
 +
 +====== Проблема VGA ======
 +Пока нет идеи, как малыми силами сделать видеоконтроллер. По этой причине
 +порт VGA, а также порты PS/2 в текущей версии проекта отсутствуют.
 +
 +====== Конструктор "сделай сам" ======
 +Сампутер можно развивать и наращивать постепенно, по мере потребностей и финансовых возможностей.
 +  - Изготавливаем основную плату, устанавливаем микроконтроллер ATmega2561 и его обвязку. Получаем 8-битный компьютер с COM-портом, частотой 14 МГц, 256 кбайт памяти команд и 8 кбайт памяти данных. На разъем расширения выведены N(?) сигналов микроконтроллера, которые можно использовать для управления внешними устройствами.
 +  - Добавляем микросхему FPGA, микросхему памяти 64 Мбайт, трансивер Ethernet и контроллер звука. Загружаем в программируемую логику прошивку микропроцессора [[http://www.opencores.org/projects.cgi/web/or1k/overview | OpenRisc 1000]] или [[http://www.opencores.org/projects.cgi/web/mips/overview | Plasma MIPS32]] (или другие). Получаем 32-битный компьютер с частотой до 20 МГц, памятью 64 Мбайт, сетью и звуком. Вместо жесткого диска и флопика используем карточки памяти SD/MMC. Можно запускать Линукс.
 +  - Добавляем процессор MCT-01 и еще одну микросхему памяти 64 Мбайт. Получаем частоту 100 МГц и аппаратную реализацию вычислений с плавающей точкой.
 +
 +Грубая оценка затрат:
 +| Этап 1 - 8-битный микроконтроллер                                 | стоимость платы + $15 |
 +| Этап 2 - 32-битный компьютер 20 МГц с памятью 64 Мбайт, сетью Ethernet и звуком   | еще $100 |
 +| Этап 3 - компьютер 100 МГц с плавающей точкой и памятью 128 Мбайт | еще $120 |
 +
 +====== Проект спецификации ======
 +=== Процессор ===
 +Микросхема: MCT-01\\
 +Цена: $80
 +
 +=== Память ===
 +Микросхема: [[http://www.micron.com/products/dram/sdram/partlist.aspx | MT48LC32M16]], две штуки\\
 +Емкость: 64 Мбайт * 2\\
 +Цена: $40 * 2
 +
 +=== Программируемая логика ===
 +Используется микросхема FPGA с прошивкой, загружаемой при подаче питания. Выполняет функции контроллера SD/MMC. Также содержит память начальной загрузки (ПЗУ) с кодом первичного загрузчика для основного процессора.\\
 +Микросхема: [[http://www.xilinx.com/xlnx/xweb/xil_publications_display.jsp?iLanguageID=1&category=/Data+Sheets/FPGA+Device+Families/Spartan-3E | Xilinx XC3S500E]] (FPGA серии Spartan-3E)\\
 +Цена: $40
 +
 +=== Системный сопроцессор ===
 +Микросхема {{atmega2561.pdf | ATmega2561}}. Хранит прошивку FPGA, загружает её при подаче питания. Порт COM3 подключен к UART0 и порту прошивки сопроцессора, для замены прошивки. Для переключения в режим прошивки устанавливается пара джамперов. Системный сопроцессор можно также применять для отладки: останов основного процессора, потактовое выполнение, трассировка циклов на шине MPORT.\\
 +Цена: $15
 +
 +=== Порт Ethernet ===
 +Микросхема: трансивер [[http://www.micrel.com/page.do?page=product-info/fastether_trans.jsp | 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.
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki