Часть 2. Мир Intel (Altera)
В опубликованном ранее переводе обзора 98 «хакерских» плат немалый интерес аудитории вызвали платы на базе SoC, сочетающих в себе ядра ARM и FPGA, такие, как Parallella. И это неудивительно, ведь такая комбинация даёт воистину потрясающие возможности по сравнению с «просто» процессором или «просто» FPGA. На таких SoC можно строить системы, сочетающие в себе алгоритмичски сложные задачи, поддержку сетевых стеков, GUI и прочих вещей, проще поддающихся реализации на процессоре, и задачи, требующие жесткого реального времени, обработки сигналов, обработки изображений и другие задачи, для реализации которых удобны FPGA. Разумеется, для многих задач можно использовать простые FPGA (возможно, включив в них IP-ядро процессора типа NIOS II или MicroBlaze), многие задачи можно решить на процессоре достаточной мощности, используя операционные системы реального времени (типа RTEMS), но всё же, SoC являются в настоящее время очень привлекательным вариантом для решения множества задач, как в профессиональных областях, так и для хобби.
В настоящее время существует множество SoC, сочетающих в себе FPGA и процессорные ядра, они имеют разную стоимость, и мы из всего множества выделим два семейчтва, относительно недорогих микросхем: Cyclone V компании Intel (Altera), и Zynq-7000 компании Xilinx. Оба семейства содержат двухъядерный ARM Cortex A9 + FPGA. Zynq также бывают одноядерные Zynq-7000S и четырёхядерные UltraScale+. Все подобные микросхемы поставляются в корпусах BGA, поэтому не стоит рассчитывать на то, что вы легко и просто спаяете такую плату дома (хотя теоретически это возможно). Но многие платы имеют вид SOM (система-на-модуле), что делает их удобными для встраивания в свои изделия, единичные или серийные.
Другими представителями SoC являются семейства Arria V, Arria 10, Stratix 10 (Intel) и Virtex 7 (Xilinx). В чипах Xilinx Virtex также встраивались процессорные ядра PowerPC до семейства Virtex 6 включительно. Однако стоимость плат на этих чипах может быть весьма высока.
Стоит также отметить, что в среднем цены на платы с SoC такого типа гораздо выше, чем на платы типа Raspberry Pi, это плата за гораздо большие возможности, которые вы получаете. Цены на платы начинаются примерно от 100 долларов и могут достигать нескольких тысяч долларов, и последние, очевидно, выходят за рамки, приемлемые для хобби (хотя, для кого-то, возможно, и нет). Я не стал включать в обзор такие дорогие платы, ограничившись платами максимум за несколько сотен долларов.
Итак, Cyclone V и Zynq-7000, чем они отличаются? Аппаратно это весьма близкие системы, имеющие два ядра Cortex A9 и некоторое количество ячеек FPGA. В программном обеспечении разница есть.
Для Intel средой разработки проектов FPGA служит Quartus Prime, а средой разработки программного обеспечения — DS-5 Altera Edition. Она позволяет (в бесплатном варианте) разрабатывать приложения под Linux, однако если вы захотите разрабатывать приложения, работающие в режиме Bare Metal (без ОС), то вам понадобится коммерческая версия DS-5. И Quartus Prime, и DS-5 существуют в версиях под Windows и под Linux. Следует понимать также, что установка и настройка этих программ под Linux потребует от вас определённых скиллов и поиска решений в интернете. В Windows всё ставится «из коробки».
Для Xilinx Zynq-7000 (и других FPGA «седьмого» поколения) средой разработки проектов FPGA является Vivado, средой разработки ПО — Xilinx Software Development Kit (SDK). Он бесплатен и не имеет многих ограничений, которые есть у DS-5 Altera Edition. Оба продукта также доступны в версиях для Linux и для Windows, однако следует знать, что Vivado для Linux устанавливается не на любую Linux. Я успешно устанавливал его в Ubuntu, но в Debian он не заработал. Под Windows проблем возникнуть не должно. Для того, чтобы начать работать со средами разработки Xilinx, можно использовать замечательные книги — «The Zynq Book» (L. Crockett, R. Elliot и др), которая содержит «теоретическую» часть и «The Zynq Book Tutorials for Zybo and ZedBoard» (тех же авторов) для «лабораторных работ». Обе книги доступны для скачивания официально и бесплатно.
В целом, для начинающих Xilinx Zynq является (на мой субъективный взгляд) гораздо более простым вариантом в плане изучения, с меньшими трудностями, чем в случае Intel Cyclone V. Повторюсь, однако, что это мой субъективный взгляд, основанный на моём личном опыте с той и другой системой. Если вы имеете другое мнение по этому вопросу, напишите в комментариях, будет интересно узнать и об опыте других людей.
Для обзора я выбирал платы на основе Cyclone V и Zynq-7000, имеющиеся в продаже на текущий момент. Некоторые из них являются одиночными платами, содержащими в себе всё необходимое для подключения и работы с платой, другие состоят из базовой платы и мезонинного модуля (платы, устанавливаемой на базовую плату). Во втором случае будет указана стоимость как модуля, так и базовой платы. Возможно, я пропустил какие-то платы, если вы знаете о платах, не вошедших в обзор, прошу в комментарии.
На что следует обращать внимание при покупке платы, кроме цены?
Во-первых, есть ли JTAG на плате. Если его нет, то вам понадобится внешний JTAG-адаптер, который нужно будет приобретать отдельно. И в этом случае вам нужно проверить, что все сигналы JTAG выведены на разъём и доступны для использования. Без JTAG теоретически тоже можно работать, но всё же лучше, чтобы он был.
Отдельно адаптер JTAG можно купить на aliexpress от $22,5 (разумеется, не оригинальный).
Во-вторых, разъёмы. Разъёмы на плате могут быть «стандартные» IDC, с шагом 2,54 мм или высокоскоростные разъёмы типа FMC (Xilinx) или HSMC (Altera), или другие. Для подключения чего-либо низкоскоростного (светодиодов, кнопок, разных внешних устройств) IDC удобен, но АЦП на 125 МГц, например, через него не подключить, нужен high-speed разъём. В то же время, если у вас есть плата только с high-speed соединителем, вы попадёте в затруднительное положение, если захотите подключить к нему что-либо своё, т.к. такие разъёмы дороги, и требуют для разводки скоростных сигналов многослойную плату. Имеющиеся в продаже платы переходников HSMC-IDC также пугающе дорого стоят.
Некоторые платы имеют разъёмы для шилдов Arduino. Уж не знаю, насколько это важно для вас, но вдруг кому-то важно. Платы производства Digilent имеют разъёмы для модулей PMOD, и, соответственно, эти модули также имеются в продаже в большом количестве. Конечно, никто не запрещает вам подключать к этим разъёмам любые свои устройства.
В-третьих, периферия. Вам нужен не голый процессор, ведь так? Нужна поддержка сети, нужен выход видео (а, возможно, и вход видео), нужны входы и выходы аудио, иная периферия. Составьте список тех устройств, которые вам нужны или могут понадобиться, и выбирайте плату, исходя из него.
В-четвёртых. Уровень поддержки. Плата должна иметь открытую принципиальную схему, доступные для скачивания образы Linux, документацию. Желательно наличие большого сообщества, книг, статей, роликов на youtube, которые помогут вам разобраться с неизбежными проблемами. Также уточните, есть ли для платы готовые файлы BSP (board support package), так как без них вы даже не сможете собрать проект, чтобы помигать светодиодиком.
Также следует сказать, что все цены в обзоре приведены без учёта доставки.
На некоторые платы цены довольно высоки, однако, на ebay можно купить (если повезёт) б/у плату с большой скидкой, хотя их, возможно, придётся ловить, полагаясь на удачу.
Большая часть плат в этом обзоре построена на базе SoC Zynq 7010 и 7020 (также обозначаемых как XC7Z010 и XC7Z020). Для понимания места этих чипов в продуктовой линейке Xilinx Zynq-7000 см. картинку ниже. Все эти SoC имеют 2 процессорных ядра, но также существуют семейства Xilinx Zynq-7000S с одним ядром и Xilinx Zynq UktraScale с 4 ядрами.
А сейчас приступим к обзору.
Платы Digilent
ZedBoard
Производитель: Digilent
SoC: XC7Z020 (Dual-core ARM Cortex-A9 )
RAM: 512 MB DDR3
Flash: 256 MB Quad-SPI
Размеры: 160х135 мм
Ethernet: 10/100/1000
JTAG: On-board USB-JTAG
Другие расширения:
- SD card
- USB OTG 2.0 and USB-UART
- Analog Devices ADAU1761 SigmaDSP Stereo, Low Power, 96 kHz, 24-Bit Audio Codec
- Analog Devices ADV7511 High Performance 225 MHz HDMI Transmitter (1080p HDMI, 8-bit VGA) 128x32 OLED
- PS & PL I/O expansion (FMC, Pmod, XADC)
Цена: $495 (академическая цена по запросу)
Одна из самых дорогих плат в обзоре, хотя ничего особенного, кажется, на ней нет.
Из плюсов: есть JTAG, есть разъем расширения FMC для high-speed и «простые» низкоскоростные разъёмы PMOD.
Также большим плюсом для начинающих является то, что плату можно изучать по книге «The Zynq Book Tutorials for Zybo and ZedBoard».
Zybo
Производитель: Digilent
SoC: XC7Z010 (Dual-core ARM Cortex-A9 ) 667 MHz
RAM: 512 MB x32 DDR3 w/ 1050Mbps bandwidth
Flash: 128 Mb Serial Flash w/ QSPI interface
Размеры: 122 * 84 мм
Ethernet: 10/100/1000
JTAG: On-board USB-JTAG
Другие расширения:
- microSD slot (supports Linux file system)
- High-bandwith peripheral controllers: 1G Ethernet, USB 2.0, SDIO
- Low-bandwidth peripheral controller: SPI, UART, I2C
- HDMI вход/выход
- VGA выход 16 бит/пискел
- OTG USB 2.0 PHY (host и device)
- EEPROM, содержащая уникальный 48-битный идентификатор
- Аудиокодек, выход на наушники, вход микрофона, линейный вход
- GPIO: 6 кнопок, 4 переключателя, 5 LEDs
- 6 портов PMOD
Цена: $189 (академическая цена по запросу)
«Уменьшенный» вариант ZedBoard. Установлен SoC XC7Z010, и нет FMC. В остальном плата аналогична Zedboard. Интересно то, что высокоскоростные сигналы в виде 100-омных дифференциальных пар выведены на разъём PMOD (подробности см. в документации). При изучении также можно руководствоваться книжкой «The Zynq Book Tutorials» при изучении.
Arty Z7-10, Arty Z7-20
SoC: Arty Z7-10 — Zynq 7010, Arty Z7-20 — Zynq 7020
RAM: 512MB DDR3 with 16-bit bus @ 1050Mbps
Flash: 16MB Quad-SPI Flash
Ethernet: Gigabit Ethernet PHY
Размеры: 88 * 109 мм
JTAG: USB-JTAG
Цена: $149 (Arty Z7-10), $209 (Arty Z7-20)
Другие возможности:
- USB UART
- USB OTG
- 4 push-buttons
- 2 slide switches
- 4 LEDs
- 2 RGB LEDs
- Up to 49 Total FPGA I/O
- HDMI вход и выход
Маленькая плата с богатыми возможностями. Есть вход и выход HDMI, аудиовыход, два разъёма PMOD. В принципе, всё, что нужно для начала работы с Zynq. Очень хороший вариант для начинающих. На github доступны разные файлы примеров, BSP и прочее.
PYNQ-Z1
SoC: Zynq 7020
RAM: 512MB DDR3 with 16-bit bus @ 1050Mbps
Flash: 16MB Quad-SPI Flash
Ethernet: Gigabit Ethernet PHY
Размеры: 88 * 124 мм
JTAG: USB-JTAG
Цена: $229 (академическая цена по запросу)
Другие возможности:
- USB UART
- USB OTG
- 4 push-buttons
- 2 slide switches
- 4 LEDs
- 2 RGB LEDs
- Up to 49 Total FPGA I/O
- HDMI вход и выход
Плата предназначена для демонстрации возможностей проекта Pynq (Python на Zynq).
Аппаратно плата является почти полным аналогом Arty Z7-20, отличаясь от неё только наличием микрофона и выключателя питания. К ней, соответственно, подходит всё ПО для Arty Z7-20, включая файлы BSP.
Платы Avnet
MicroZed
Производитель: Avnet
SoC: Zynq 7010 или Zynq 7020
RAM: 1 GB of DDR3 SDRAM
Flash: 128 Mb of QSPI Flash
Ethernet: 10/100/1000
JTAG: нет
Размеры: 102x57 мм
Цена: Zynq 7010 — $178, Zynq 7020 — $213 (в варианте Commertial Grade)
Другие возможности:
- USB-UART
- 2x6 Digilent Pmod
- User LED and push switch
Эта плата является модулем для установки на базовую плату.
Плюсом платы является то, что про неё написана целая книга: «The MicroZed Chronicles — Using the Zynq 101» (Adam Taylor), даже целых две части. Эта книга основана на материале из блога автора книги. Все эти материалы доступны в сети бесплатно, или вы можете купить книгу по $8,85 за каждую часть (Kindle edition).
Базовых плат к MicroZed три.
Первая — MicroZed Breakout Carrier Card
Самая простая плата, содержит только разъёмы и цепи питания.
Цена: $59
Вторая — MicroZed I/O Carrier Card
Цена: $149
Плата большего размера, имеет разъёмы PMOD и переключатели.
Третья — MicroZed Carrier Card Kit for Arduino
Отличается от второй наличием разъёмов Arduino и меньшим количеством разъёмов PMOD.
Цена: $89.00
PicoZed
Производитель: Avnet
SoC: Zynq 7010, Zynq 7015, Zynq 7020, Zynq 7030
RAM: 1 GB of DDR3 SDRAM
Flash: 128 Mb of QSPI Flash, 4 GB eMMC
Ethernet: 10/100/1000
JTAG: нет
Размеры: 102x57 мм
Цена: Zynq 7010 — $178, Zynq 7015 — $265, Zynq 7020 — $213, Zynq 7030 — $375
Другие возможности:
- USB 2.0 PHY
Плата выпускается в множестве вариантов с разными чипами Zynq, в коммерческом и индустриальном исполнениях. Приведены цены для коммерческого исполнения.
Модуль без каких-либо внешних разъемов, и без базовой платы его использовать нельзя.
На данный момент единственной базовой платой является PicoZed FMC Carrier Card V2:
Цена: $349
PicoZed (SDR) Development Kit/ADRV9361
Производитель: Avnet, Analog Devices
SoC: Zynq 7035
RAM: 1 GB of DDR3L DRAM
Flash: 256 Mb of QSPI Flash
Ethernet: 10/100/1000
JTAG: нет
Размеры: 100x62 мм
SOM выпускается в вариантах 1x1 (один приемный канал и один передающий канал) и 2х2 (так называемый режим MIMO).
Цена SOM: $549 (1x1), $1095 (2x2) (в настоящее время отсутствует в продаже, см. подробности ниже)
Цена базовой платы ADRV1CRR-BOB: $199
Цена базовой платы ADRV1CRR-FMC: $599
Другие возможности:
- USB 2.0 OTG ULPI PHY
- Analog Devices AD9361-BBCZ Integrated RF Agile Transceiver
- Miniature RF connectors – 4 TX, 4 RX, 2 TX monitor
Не следует путать эту плату с PicoZed, это совершенно разные вещи. Плата PicoZed SDR предназначена для построения SDR (software defined radio) трансивера, и имеет для этого микросхему аналогового фронтенда AD9361. Сама по себе эта микросхема очень недешевая (оптовая цена производителя $175 для партии от 100 шт.), что сказалось на стоимости платы. К тому же эта плата фактически является SOM-модулем, и для неё нужна базовая плата (PicoZed SDR Breakout Carrier). Базовые платы для PicoZed SDR выпускались в двух вариантах, один из которых вы можете видеть на фотографии ниже.
А теперь плохая новость: Оба варианта платы PicoZed SDR Breakout Carrier, как и сама PicoZed SDR, сняты с производства компанией Avnet, но компания Analog Devices предлагает эти платы под названием ADRV9361. В настоящее время плата от AD находится в состоянии Pre-Release, и купить её пока нельзя. Цена, указанная в описании, это последняя известная цена Avnet на эту плату.
UltraZed-EG
Всё-таки я решил включить в обзор одну плату на Zynq UltraScale.
Производитель: Avnet
SoC: Zynq UltraScale+ MPSoC XCZU3EG-SFVA625
RAM: 2GB DDR4 SDRAM
Flash: 64MB Dual QSPI Flash
Размер: 51x89 мм
Ethernet: 10/100/1000
JTAG: нет
Цена: $535
Самая мощная плата из приведённых в обзоре, основана на четырёхядерном Zynq UltraScale+. Требует для работы установку на базовую плату.
Базовые платы:
UltraZed IO Carrier Card
Цена: $499
UltraZed PCIe Carrier Card
Цена: $499
MiniZed
Производитель: Avnet
SoC: Zynq 7Z007S
RAM: 512 MB DDR3L
Flash: 128 Mb QSPI flash, 8 GB eMMC
Размеры: 71x76мм
Ethernet: нет
JTAG: USB JTAG на плате
Цена: $89
Другие возможности:
- Wi-Fi 802.11b/g/n
- Bluetooth 4.1 plus EDR and BLE (Bluetooth Low Energy)
- USB 2.0 Host
- USB UART
- Термодатчик и акселерометр
- 2 х PMOD
Простая и относительно дешевая плата на одноядерном 7Z007S. Неплохой вариант за свою цену. Огорчает отсутствие Ethernet, но зато есть Wi-Fi и Bluetooth, а с ним всё становится лучше.
Платы MYIR Tech Limited
Теперь будут платы от компании MYIR Tech Limited (http://myirtech.com/). Эта компания производит множество плат, не только на Xilinx Zynq, и устанавливает на свою продукцию относительно невысокие цены.
Z-turn Lite
SoC: Zynq 7007S или Zynq-7010
RAM: 512MB DDR3 SDRAM
Flash: 4GB eMMC Flash, 16MB QSPI Flash
Размер: 91 x 63 мм
Ethernet: 10/100/1000M Ethernet
USB: USB2.0 OTG
JTAG: нет
Цена: $69 (7007S), $75 (7010)
Самая дешевая плата в обзоре, тем не менее, выглядит вполне достойно. Может устанавливаться на базовые платы, доступные для Z-turn Board (см. далее). Некоторым недостатком можно считать то, что большая часть пинов I/O выведена на специальный разъём снизу платы, но никаких базовых плат не предлагается.
Z-turn Board
SoC: Zynq 7010 или Zynq 7020
RAM: 1GB DDR3 SDRAM
Flash: 16MB QSPI Flash
Размер: 102х63 мм
Ethernet: 10/100/1000
JTAG — нет, разъем доступен на плате.
Цена: $99 (Zynq 7010), $139 (Zynq 7020)
Другие возможности:
- USB_UART, USB2.0 OTG, CAN, HDMI, TF, …
- Three-axis Acceleration Sensor and Temperature Sensor
На хабре уже был обзор этой платы.
Недорогая плата, может использоваться самостоятельно, но лучше сразу купить базовую плату.
Также в продаже есть LCD — дисплей к этой плате, модуль камеры, модуль Wi-Fi.
Можно также приобрести базовую плату Z-turn IO Cape:
Цена $35
MYD-C7Z010/15/20 Development Board
SoC: Zynq 7010, Zynq 7015 или Zynq 7020
RAM: 1GB DDR3 SDRAM
Flash: 4GB eMMC, 32MB QSPI
Размер: 190х110 мм
Ethernet: 10/100/1000
JTAG: нет
Цена: $309 (Zynq 7010), $369 (Zynq 7015), $329 (Zynq 7020)
Другие возможности:
- 4 x USB2.0 Host, CAN, HDMI, LCD, TF
- 1 x XADC, 3 x PMoD, 1 x FMC
- Optional 4.3 or 7 inch LCD/TSP
Самая богато оснащённая из плат в обзоре. Предлагается сразу комплект из базовой платы и SoM-модуля, цена указана за комплект. Цена может показаться высокой, однако за такой набор возможностей это довольно умеренная цена. Плату стоит приобрести, если вы хотите делать серьёзные проекты, с применением FMC и большим количеством другой периферии. Но следует помнить, что на этой плате, как и на других платах этой фирмы, нет USB-JTAG.
Trenz Electronic
Немецкая компания Trenz Electronic (trenz-electronic.de) предлагает множество плат на Zynq-7000 и Zynq UltraScale, но явная ориентированность на рынок промышленных SOM и довольно высокие цены делают эти платы не очень привлекательными для наших целей. Однако я включил в обзор три платы от Trenz, просто для порядка.
DIPFORTy1 «Soft Propeller»
SoC: Zynq-7010
Flash: 16 MByte
RAM: нет
JTAG: нет
Ethernet: нет
Цена: €59.00
Размер: 18*51 мм
Другие возможности:
- RGB LED (PL I/O connected)
- «Done» LED (inverted polarity)
- User LED (ARM CPU MIO GPIO)
- MicroSD Card socket (MIO, ZYNQ secondary boot media)
- Sil1143 Proximity and ambient light sensor
Когда-то компания Parallax выпустила «многоядерный микроконтроллер» Propeller. Компания Trenz сделала совместимую с ним плату под панель DIP-40 с чипом Zynq.
Памяти нет, флеш 16Mb. Запустить Linux на этой плате не получится, т.к. нет памяти, и в целом, смысла в приобретении этой платы практически нет.
ZynqBerry
Плата на Zynq в формате Raspberry Pi
SOC: Zynq 7007S, Zynq 7010
RAM: 512 MByte DDR3L SDRAM
Flash: 16 MByte
Ethernet 10/100
USB: 4 x USB with power switches
HDMI: есть
JTAG: On-board USB JTAG
Цена: €99 (Z-7007S), €119 (Z 7010)
Неплохая плата за свою цену. Обратите внимание, что Ethernet на 100 Мбит, тогда как у других плат обычно установлен гигабитный Ethernet.
ArduZynq
SoC: Zynq 7007S, Zynq-7010
RAM: 512 MByte DDR3L
Flash: 16 MByte SPI Flash
Ethernet: нет
JTAG: On-board USB JTAG
USB: USB OTG, USB UART
HDMI: нет
Цена: €89 (Z 7007S), €99 (Z 7010)
Другие возможности:
- 12 MHz MEMS Oscillator low power consumption
- 23 FPGA I/O's available on board-to-board connectors
- MicroSD Card socket
- RGB LED (PL I/O connected)
- «Done» LED (inverted polarity)
Плата на Zynq в формате Arduino. Есть два варианта: на Zynq XC7Z007S (одноядерный) и на Zynq-7010 (два ядра). Довольно слабая плата, но и цена не высокая по сравнению с другими.
Теперь рассмотрим платы различных других производителей.
Parallella
Выпускается в трёх вариантах: Parallella Microserver (P1600), Parallella Desktop (P1601), Parallella Embedded (P1602)
SoC: Parallella Microserver — Z7010, Parallella Desktop — Z7010, Parallella Embedded — Z7020
RAM: 1 GB DDR3
Flash: нет
JTAG: нет
Ethernet: 10/100/1000
USB: нет (Microserver), есть (Desktop, Embedded)
HDMI: нет (Microserver), есть (Desktop, Embedded)
Размер: 90 х 53
Цена: Parallella Microserver — Z7010 — $126, Parallella Desktop — $149, Parallella Embedded — нет в продаже
Другие возможности: сопроцессор Epiphany
Эта плата уже рассматривалась в обзоре ранее. Отличительной особенностью данной платы является чип «Epiphany» компании Adapteva, 16-ядерный процессор, который может взаимодействовать с ядром ARM в SoC Zynq. Именно поэтому плату в рекламе называют 18-ядерной, т.е. 2 ядра ARM + 16 ядер Epiphany.
Практических применений я здесь не вижу, но поиграться можно очень хорошо. Теперь немного печальных известий. Компания Adapteva планировала выпуск также 64-ядерной и 1024-ядерной версии чипа, однако основатель компании Андреас Олофсон признал, что компания не добилась коммерческого успеха, несмотря на хорошие технические характеристики чипов. Он ушёл на работу в DARPA, и продолжения истории не будет (http://www.adapteva.com/andreas-blog/adapteva-status/).
Для того, чтобы подключать к плате какие-либо устройства, вам понадобится базовая плата Porcupine Breakout Board, вот такая:
Цена платы: $45.
Плата Parallella оснащена hi-speed разъёмами, на которые выведены все линии ввода-вывода. Минус такого решения в том, что подключить к ней что-то без Breakout-платы очень затруднительно.
Встроенный адаптер JTAG на плате отсутствует, линии JTAG выведены на разъём платы. Поэтому, если вы планируете работу с платой через JTAG, сразу приобретите Breakout-плату и отдельный JTAG-адаптер.
Snickerdoodle
Выпускается в трёх вариантах: Snickerdoodle One, Snickerdoodle Prime LE, Snickerdoodle Black
SoC: One — Zynq 7010, Prime LE, Black — Zynq 7020
RAM: One, Prime LE — 512MB LPDDR2, Black — 1Gb LPDDR2
Flash: 16 MB XIP NOR
Размер: 51 x 89 мм
Ethernet: на базовых платах
JTAG: нет
HDMI: на базовых платах
USB: USB UART + USB Host на базовых платах
Цена: One — $95, Prime LE — $145, Black — $195
Другие возможности:
- One, Prime LE — 2.4GHz 802.11n Wi-Fi
- Black — 2.4GHz + 5GHz 802.11n 2x2 MIMO Wi-Fi, Bluetooth Classic & BLE, copperHead heat sink, free SDSoC license
Базовые платы
piSmasher SBC
Плата piSmasher SBC. Цена — $195
breakyBreaky
Плата breakyBreaky. Цена — $45
Болльшой плюс платы в том, что разработчики написали целую книгу для начинающих пользователей: Snickerdoodle book. Она не такая объёмная и фундаментальная, как «Zynq Book» или «MicroZed Chronicles», но многие другие производители не предоставляют никакой информации, кроме самого элементарного минимума, и это следует учитывать, особенно если вы начинающий разработчик.
Zedboard (клон китайского производства)
Основные характеристики и структурная схема платы такие же, как у платы Zedboard.
Цена: $260
Клон Zedboard, сделанный в Китае. Нет FMC разъёма, вместо него просто штыревые разъёмы. Процессор и его обвязка смонтированы на SoM-модуле, который снимается с базовой платы и может быть установлен в ваше изделие.
Учитывая цену почти в два раза меньше оригинальной Zedboard, очень неплохой вариант.
Red Pitaya
SoC: Zynq-7010
RAM: 256MB DDR3
Flash: нет
Ethernet: 10/100/1000
USB: OTG, MicroUSB (console)
JTAG: нет
Размер: 107 x 60 мм
Цена:
от €199 за 10-битные ЦАП/АЦП
от €259 за 14-битные ЦАП/АЦП
Также есть различные варианты комплектации и скидки для студентов
Другие возможности:
2 канала ADC 125 MSPSx14bit или 10 bit
2 канала DAC 125 MSPSx14bit или 10 bit
4 канала ADC 100 kSPSx12bit
4 канала DAC 100 kSPSx12bit
Плата стоит несколько особняком от остальных, т.к. позиционировалась разработчиками не столько как девборда, сколько как замена целом ряду измерительных приборов: осциллографу, генератору, анализатору спектра и т.п. Конечно, полноценных профессиональных приборов (даже самого начального уровня) она не заменит, потому что приборы не состоят из одного АЦП, там нужно ещё много всякого.
Тем не менее, плата интересная. Главный минус в том, что это closed source hardware, т.е. схемы в открытом доступе нет. Будьте внимательны.
OZoM: Open Source Zynq on Module
SoC: Zynq 7010
RAM: нет
Flash: 32Mbyte
Ethernet: нет
USB: нет
JTAG: нет
Размер: 75x40 мм
Цена: €250 (ожидаемая цена, выпуск платы не состоялся)
В начале статьи я написал, что, хотя собрать самому устройство на Zynq весьма сложно, тем не менее, теоретически, это возможно. Проект OZoM задумывался как Open Hardware проект такого модуля. Он выставлялся на Indiegogo, но не собрал достаточно средств. Этого можно было ожидать, впрочем, крайне маленькие возможности при сильно завышенной цене делают покупку платы бессмысленной. В настоящее время документация по нему доступна тут.
К сожалению, высокими характеристиками плата похвастаться не может. Памяти нет, Linux запустить нельзя. Большой пользы в такой плате нет.
В следующей части будут рассмотрены девборды на базе SoC Intel(Altera) Cyclone V.
Комментарии (26)
AlexanderS
19.09.2017 20:02+1Жаль Xilinx не стала развивать схематик в Vivado. В ISE он был хоть и не фонтан, но я приноровился и топ уровень проекта любил рисовать в нем. И кто бы что ни говорил — это реально удобно в плане наглядности! Открываешь проект многолетней давности — и все понятно что с чем и как соединено без всякой докоментации, которая еще и не факт что актуальна.
Mogwaika
19.09.2017 21:51+1Меня больше бесит, что тот же цинк сложно использовать как просто ПЛИС, т.к. он не ПЛИС с процессором, а процессор с ПЛИС.
А в виваде они много чего ещё поубивали…old_bear
19.09.2017 22:36+3Самое главное, что убили в Виваде — это возможность писать код в hdl-е на уровне примитивов и назначать (там же, в hdl-коде) этим примитивам иерархические атрибуты placement-а. С этого момента КПД запихивания больших регулярных структур в кристалл трагически упал, как по занимаемым ресурсам, так и по достижимой частоте.
Я уже не говорю про волшебный атрибут ROUTE, при помощи которого (а также низкоуровневого редактора, пива и такой-то матери) можно было в этих регулярных структурах ещё и развести руками критические локальные цепи у блоков нижнего уровня и не ждать потом часами, пока роутер пытается сделать то же самое (безуспешно, причём).AlexanderS
20.09.2017 00:42Да я смотрю не только у нас на работе на неё плюются все кому не лень. Зато в виваде сколько няшек стало: при синтезе или разводке и в верхнем углу что-то крутится, и внизу, и прогресс-бар переливается — ну прямо красота сплошная! А если открыть дебаггер, то вообще попадаешь в пульт управления космическим кораблём — куда уж тут старому и дряхлому чипскопу ;)
Нет, плюсы-то тоже есть. TCL полноценный. В HLC можно из Си сделать HDL описание — не сказать что бы оно хорошо, но когда надо сделать быстро, то, например, фильтры делаются довольно быстро и даже работают. Правда если нужна скорость, я чую, всё равно руками придётся всё описывать. Но как-то… всё равно создаётся ощущения что писали САПР индусы для менеджеров, а инженеров, как всегда, спросить забыли)
wuba
20.09.2017 08:37Можете рассказать о примерах практического использования подобных плат, именно в использовании fpga-части?
32bit_me Автор
20.09.2017 08:39Например, на fpga делается обработка сигналов в осциллографах и других приборах.
AlexanderS
20.09.2017 11:04Реализация сложной математики — это будет не очень интересно. Есть квадратурный аналоговый сигнал на входе. Его надо принят с АЦП, отфильтровать, фазовую подстройку сделать если надо, демодулировать, накопить и скореллировать для выделения какого-нибудь синхросигнала. Всё это реально можно слелать именно в ПЛИСе на хороших скоростях. Для разработки и оценки вполне может пригодиться какая-то макетная плата.
Для новичков есть интересный проект — марсоход. Там в блоге много чего доступно расписано. У меня статья есть, где я с этой платкой поигрался немного — вот простой и понятный практический пример именно ПЛИСовой части.
QwertyOFF
20.09.2017 18:12Во-первых это платы, предназначенные для обучения, т.е. практического применения от них ожидать некорректно, но сделать можно многое, лишь бы позволяла периферия. Во-вторых, если речь о самих системах на чипе, ардуинщику-любителю такие девайсы не актуальны. Чуть более актуальны для радиолюбителей, которые хотят собрать свой SDR-трансивер (тысячи их, уже готовых и продающихся). Для каких еще "домашних" хобби это может понадобиться я не знаю. На работе занимаюсь парой проектов на ПЛИС, там и SDR и демодуляторы. До SoC пока не докатились, хотя отладочная плата с цинком есть, и, похоже, все к ним и движется. Ну и еще одно — для вашего домашнего использования может оказаться оправданным использование отдельных микроконтроллера и ПЛИС, это сделает проект дешевле, проще в сборке и снизит временные затраты на изучение всего этого барахла.
Fagot63
20.09.2017 12:01+5Что то я совсем перестал понимать аудиторию ГТ. Эта публикация «весит» всего 7мб, но автор не поленился поставить предупреждение про трафик.
Публикация же про 4G интернет в тьмутаракани весит в три раза больше и никаких предупреждений нет, но стоило этим возмутится, как меня дружно заминусовали, причем даже карму загадить не поленились.
Люди что с вами не так?igruh
20.09.2017 16:44+2Несправедливость. Но вместо жалоб стоит не полениться и написать годную статью на ресурс — и плюсы подтянутся, и минусы будут реже раздавать.
Strijar
21.09.2017 17:40+1Спасибо! Цены порадовали. По другому стал смотреть на Zynq. Остался только вопрос — на многих платах нет JTAG. А как без него прошивку в FPGA заливать? Через ARM?
32bit_me Автор
21.09.2017 17:41+1Имеется в виду, что там нет моста USB-JTAG. Физические линии JTAG есть везде.
Но можно и через ARM. Можно даже поднять ftp, и кидать файл прошивки туда.rPman
22.09.2017 02:51кстати, а какие накладные расходы по заливки кода FPGA? есть ли какие то лимиты? возможно ли обновление на лету только части?
32bit_me Автор
22.09.2017 05:01+1Не понял вопрос. В каком смысле накладные расходы?
Я не уверен насчёт части, может быть, и можно. Я не пробовал. Заливка прошивки полностью делается довольно просто.rPman
22.09.2017 23:38Может быть количество перепрошивок ограничено?
Или процесс прошивки очень длинный?
yuklimov
22.09.2017 16:21+1Из-под Linux, работающий на ARM, заливается на ура. Я тоже не занимался прошивкой по частям: FPGA маленькая, чтобы таким заниматься.
P.S. Из интересных особенностей (если про них вопрос). Можно ресетить FPGA или прошивать FPGA только когда нет передачи данных (и нет неотвеченных запросов) по AXI-шине (внутренние шины от ARM к FPGA и обратно), а то может нарушиться протокол AXI и ARM зависнет.
Nebeluz
22.09.2017 04:58Спасибо за отличный обзор! Последние дня 4 как раз искал devkit: adc+fpga+arm (заказал red pitaya).
yuklimov
22.09.2017 16:201) Наверное, стоило бы добавить в обзор и Xilinx ZC702 Evaluation Kit, хотя он и стоит заметно дороже.
2) SDK работает у меня на Debian с XFCE отлично, если перед запуском сказать export SWT_GTK3=0.
3) Хотелось бы еще увидеть в статье ссылки на ресурсы (кроме сайтов самих плат). Например, мне очень помог www.wiki.xilinx.com.32bit_me Автор
22.09.2017 16:29Спасибо за ваш комментарий.
Я смотрел информацию по Xilinx ZC702 Evaluation Kit, и решил не добавлять, т.к. эта плата ничем особым не лучше, чем, например, Zedboard, при большей цене.
Ресурсы, согласен, надо добавить. Добавлю во вторую часть обзора. В качестве ресурса также рекомендую Adam Taylor’s MicroZed Chronicles (https://forums.xilinx.com/t5/Xcell-Daily-Blog/bg-p/Xcell/label-name/zynq).
VBKesha
Долго пытался вспомнить что такое производила Intel доступное людям, и удивлялся почему не планируется обзора на Altera, потом вспомнил что Intel купил Altera и теперь она тоже Intel.
32bit_me Автор
Немного поправил название, чтобы не запутывать людей.