Metaboard

Материал из MK90.ORG wiki
Перейти к:навигация, поиск

Эта страница является переводом оригинального текста: http://metalab.at/wiki/Metaboard

Что такое Metaboard?

Metaboard

Metaboard - это плата для прототипизации на основе МК Atmel AVR с поддержкой USB. В основном, она совместима с Arduino. Весь проект (аппаратная и программная части) является открытым.

Цели проекта

  • Простота и минимальная цена;
  • Односторонняя печатная плата для домашнего воспроизведения. Для профессионального производства односторонние платы обходятся дешевле;
  • Отсутствие SMD-компонентов (для сборки в домашних условиях);
  • Максимальная совместимость с Arduino в плане размеров и расположения разъемов. Также может программироваться при помощи ArduinoIDE через USB;
  • Отсутствуют начальные расходы на средства разработки и программаторы;
  • Макетное поле прямо на плате;
  • Полностью открытый код.

Hardware

Поскольку USB реализован программно, выделенный USB-чип не требуется. Схема: Metaboard circuit diagram

Самая последняя версия Metaboard всегда доступна через SVN: https://whatever.metalab.at/user/cs/metaboard/trunk.

Подготовленный для чтения архив с PNG-рисунками схемы, разводки и схемы монтажа элементов может быть скачан здесь.

Download: metaboard-1.0.zip

Firmware

Metaboard лучше всего использовать с USBaspLoader-ом. Это бутлоадер, который эмулирует USBasp, USB-программатор для микроконтроллеров Atmel/AVR. Основаная программа может быть, разумеется, любой.

Ресурсы разработчика

Metaboard можно использовать как с помощью GCC toolchain, так и с ArduinoIDE. Arduino также предлагает набор примеров, документацию и имеет дружественную к начинающим коммьюнити. Поскольку Metaboard несколько отличается от плат Arduino, не все примеры проектов могут быть использованы без модификаций. Мы планируем подготовить несколько примеров использования исключительно для Metaboard.

GCC toolchain можно скачать здесь:

Примеры проектов на GCC можно найти здесь: http://www.obdev.at/avrusb/. Поскольку эти примеры были разработаны не для Metaboard, перед использованием придется изменить назначение пинов и определение тактовой частоты.

Все ресурсы, относящиеся к Arduino можно найти по адресу http://www.arduino.cc/. Если вы хотите использовать порт USB в окружении Arduino, обратитесь к проекту http://code.rancidbacon.com/ProjectLogArduinoUSB.

Metaboard для пользователей Arduino

Metaboard был задуман как максимально совместимый с Arduino, но все-таки имеется ряд отличий:

  • Размещение разъемов: все разъемы выровнены по сетке 2.54 mm, чтобы платы расширения можно было делать на обычной макетке;
  • Процедура загрузки скетча: Бутлоадер активизируется после нажатия на сброс при замкнутом джампере;
  • Протокол загрузки: Metaboard эмулирует USBasp, а не STK500.
  • Линии UART не подключены к USB, это означает, что они могут быть использованы для любых целей, но отладочный вывод, посылаемый в UART, нельзя полуичить через USB.

Для того, чтобы загружать скетчи через Arduino's IDE, необходимо изменить файл hardware/boards.txt в каталоге установки ArduinoIDE. Добавьте следующие строки в конец этого файла:

##############################################################

metaboard.name=Metaboard

metaboard.upload.protocol=usbasp
metaboard.upload.maximum_size=14336
metaboard.upload.speed=19200

metaboard.build.mcu=atmega168
metaboard.build.f_cpu=16000000L
metaboard.build.core=arduino

metaboard.upload.disable_flushing=true

##############################################################

Поскольку Arduino требует наличия последовательного порта для загрузки firmware (а usbasp - нет), может потребоваться вручную отредактировать файл preferences.txt и установить переменную serial.port в значение какого-либо существующего порта. Preferences.txt находится в ~/Library/Arduino на Mac. Обновлено фев. 2010: Должно работать без проблем с опцией disable_flushing-option

Проекты на основе Metaboard

AVRProg
AVRProg внутрисхемный программатор (ISP) для МК AVR microcontrollers. Имеет сокеты для 8, 20 и 28-ногих микросхем.

Metaboard/2010_activities концентрируется на расширении metaboard для целей домашней автоматизации.

MHVBoard клон Metaboard с некоторыми расширениями.