BeagleBone и Raspberry Pi получают дополнения к FPGA

На выставке Maker Faire в Нью-Йорке ValentFX продемонстрировал две платы FPGA с открытым исходным кодом, которые укомплектованы SBC BeagleBone и Raspberry Pi, а также представил BBot, робота подачи напитков на основе BeagleBone, созданного с более ранней версией платы FPGA.
Платы расширения для ПЛИС используют ПЛИС Xilinx Spartan 6 LX9, предлагают расширение Arduino и PMOD и поддерживаются открытым кодом Linux для двух ARM SBC.

На прошлогодней выставке Maker Faire в Нью-Йорке ValentFX представила свою первую плату Logi, тогдашнюю альфа -ступеньку Logi-Mark1 , которая имеет расширение щита Arduino и поддерживает интеграцию с SBC BeagleBone и Raspberry Pi.
В прошедшие выходные на Maker Faire New York 2013 компания продемонстрировала полностью выпеченный Mark1 и представила две платы следующего поколения: Logi-Bone для BeagleBone Black и Logi-Pi для Raspberry Pi.
ValentFX также продемонстрировал свой эталонный дизайн робота BBot, основанный на Logi-Mark1 (см. Ниже).


Платы Logi-Bone и Logi-Pi FPGA

(нажмите на картинку, чтобы увеличить)

Ни одна из плат еще не доступна для потребительских продаж, но схемы, руководства и код для все еще разрабатываемых проектов были опубликованы.
На Faire основатель ValentFX Майкл Джонс сказал HardLinux, что они разговаривают с дистрибьюторами и рассматривают возможность запуска кампании на Kickstarter через несколько месяцев.

Открытый исходный код был опубликован для патча Logi-Kernel Linux и программы Logi Loader Linux, которая связывается с платами BeagleBone и Pi и платами Logi.
Также есть программа магазина приложений, которая оптимизирована для каждого ARM SBC, что позволяет легко загружать приложения.
Кроме того, был выпущен код HDL (язык описания оборудования) для FPGA Xilinx Spartan 6 LX9, а также учебные пособия по началу работы с программированием HDL.


Блок-схемы: Logi-Bone и Logi-Pi

(нажмите на картинку, чтобы увеличить)

Семейство Spartan-6 находится в нижней части семейства программируемых вентильных матриц Xilinx (FPGA).
Напротив, собственная гибридная система на кристалле ARM / FPGA Zynq от Xilinx, появившаяся во многих готовых для Linux модулях и платах, таких как Parallella и Avnet's ZedBoard , использует более мощный Artix-7.
Zynq также предоставляет двухъядерные процессоры Cortex-A9 ARM, и, как и аналогичный Altera Cyclone V на базе Cortex-A9, представленный в наборе средств разработки Sockit от Arrow, предлагает высокоскоростное соединение AXI4 между подсистемами ARM и FPGA.

Джонс признает, что соединения GPMC и I2C между платами Logi и их коллегами ARM намного медленнее.
Кроме того, совместимые платы ARM предлагают более медленные процессоры Cortex-A8 с 1 ГГц Cortex-A8 TI Sitara AM3359 SoC на процессоре BeagleBone Black и 700 МГц ARM11 Broadcom BCM2835 с процессором Raspberry Pi.
Logi-Bone также может соединяться с оригинальным BeagleBone White, но не оптимизирован для этого.

Хотя Zynq обеспечивает некоторый контроль Linux над FPGA, и это намного проще, чем взламывать FPGA с помощью HDL, его разработка гораздо сложнее, чем у плат Logi, утверждает Джонс.
Хотя цены еще не объявлены, платы Logi также будут дешевле, чем платы на основе Zynq, говорит он, особенно если у вас уже есть BeagleBone или Raspberry Pi.

Приложения, уже разработанные ValentFX, включают майнер биткойнов, приложение машинного зрения и автономные контроллеры транспортных средств и робототехники.
Еще одно потенциальное приложение - SDR (программно-определяемое радио), говорит Джонс.

Предусмотрены драйверы для программирования и связи с FPGA из среды ARM Linux.
Говорят, что API-интерфейсы и Wrappers обеспечивают легкий доступ к пользовательским аппаратным периферийным устройствам FPGA с помощью шины поперечного рычага.
Разработчики могут использовать C / C ++, а также Python.

Logi-Bone и Logi-Pi очень похожи, обе модели имеют 256 МБ оперативной памяти.
Основное различие заключается в их оптимизированном для платы коде и их взаимосвязи с подсистемой FPGA.
Оба используют сигналы I2C и SPI для связи между платами, но Logi-Bone также сильно зависит от GPMC.
Вместо этого Logi-Pi предлагает дополнительные соединения UART и GPIO / PRGM.

Arduino Shields можно подключить через общий интерфейс Arduino x1, который считается совместимым с более чем 200 Arduino Due совместимыми экранами.
Предусмотрена возможность совместного использования некоторых сигналов, используемых для непосредственного соединения систем FPGA и ARM, с заголовком Arduino.

Кроме того, через 59 портов расширения Digilant PMOD можно подключить до 59 совместимых с PMOD периферийных устройств.
ValentFX уже разработал два PMOD-совместимых модуля, оптимизированных для устройства: модуль Logi-Cam и модуль Logi-Edu.

Дисплеи поддерживаются через 10 настроенных по длине пар LVDS, а хранение осуществляется через порт SATA.
Кнопки и DIP-переключатели также поставляются.
Некоторые 32 сигнала ввода / вывода FPGA доступны через порты расширения Arduino и PMOD.

Спецификации, перечисленные для Logi-Bone и Logi-Pi, включают:

  • ПЛИС - Xilinx Spartan-6 LX9 (XC6SLX9-3TQG144C);
    Пакет TQFP144
  • Память - 256 МБ SDRAM
  • Поддержка ARM:
    • Logi-Bone - подключается к (оптимизированному) BeagleBone Black (1 ГГц Cortex-A8 TI Sitara AM3359) или оригинальному BeagleBone White (720 МГц Sitara AM3358)
    • Logi-Pi - соединяется с Raspberry Pi (700 МГц ARM11 Broadcom BCM2835)
  • ARM межсоединение:
    • Logi-Bone - SPI, I2C, GPMC
    • Logi-Pi - SPI, I2C, UART, GPIO / PRGM
  • Расширение Arduino:
    • 1x Arduino Due header для 200+ щитов Arduino
    • Дополнительный доступ к GPMC, SPI или I2C из BeagleBone (Logi-Bone)
    • Опционально I2C, SPI от Rasperry Pi (Logi-Pi)
  • Расширение PMOD - 2 порта PMOD (Digiilent) для 59+ модулей, включая Logi-Cam и Logi-Edu
  • Дисплей - 10x длина настроенных пар LVDS
  • Память - 1 разъем SATA x1
  • Другой ввод / вывод:
    • 2x кнопки
    • 2x DIP-переключатели
    • 32 ввода / вывода FPGA (через разъемы PMOD и Arduino)

Робот BBot, управляемый ПЛИС, подает напитки у бассейна

На Maker Faire ValentFX также продемонстрировал референс-дизайн робота BBot, который использует оригинальную плату Logi-Mark1 в паре с BeagleBone Black.
Робот на колесах с дистанционным управлением предназначен для подачи напитков у бассейна.


Робот BBot: прототип, набор досок, структурная схема

(нажмите на картинку, чтобы увеличить)

Робот BBot с юмором взаимодействует с клиентами через ЖК-дисплей, а также с помощью беспроводного видео и аудио и переносит кулер с напитками на расстояние до 1000 метров.
Камеру с сервоприводом панорамирования и наклона можно также контролировать и просматривать из подключенного настольного графического интерфейса.

Более подробная информация об оборудовании будет опубликована в ближайшее время.
На самом деле, как и в случае с платами Logi, весь дизайн будет доступен как открытый исходный код для любого, кто сможет воссоздать и поработать.
Однако, ValentFX предложил некоторые детали программного обеспечения.
BBot управляется программой C ++, работающей в режиме реального времени, на BeagleBone Black под Angstrom Linux.
Программа имеет приложение на основе Qt для управления ЖК-дисплеем через HDMI-соединение BeagleBone.
Он также связывается с FPGA Logi-Bone для управления функциями робота.

Кроме того, программа BeagleBone взаимодействует через WiFi с настольным компьютером под управлением Microsoft .NET.
Видео, аудио и управляющие данные обмениваются между встроенным приложением и .NET GUI.

BBot может показывать специальные напитки и рассказывать анекдоты в голосе Стивена Хокинга.
Он даже подает сигнал тревоги, если клиенты пытаются украсть напитки.

Дальнейшая информация

Logi-Bone и Logi-Pi еще не готовы к продаже.
Дополнительную информацию можно найти на странице продукта ValentFX Logi-Bone .
Подробнее о роботе можно узнать на странице продукта BBot .