DE0-Nano-SoC ещё один миникомпьютер для творчества / Хабр
VBKeshaВремя на прочтение 3 мин
Количество просмотров23K
Компьютерное железо DIY или Сделай сам
Recovery mode
Сейчас на рынке присутствует достаточно много разнообразных миникомпьютеров. Самые распространенные из них это Raspberry Pi, Orange Pi, Odroid. И есть очень популярная платформа Arduino. Но иногда случается, так что не хватает этих распространённых платформ.
Например, хочется какой нибудь миникомпьютер с не очень распространённым CAN, хочется десять UART, а может просто надо два десятка быстрых GPIO ног. Как же быть?
FPGA+CPU или в данном случае Cyclone V SoC
Один из вариантов решения проблемы может быть DevKit DE0-Nano-Soc. Данное решение построено на базе чипа Altera Cyclone V SE, а именно 5CSEMA4U23C6N. Который в свою очередь является комбинацией аппаратного ядра ARM Cortex A9 в данном случае двуядерным, и FPGA Cyclone V. Зачем может понадобиться такой тандем? А нужен он достаточно часто: FPGA хорошо подходит для быстрой обработки сигналов, обычные IO пины спокойно могут работать на сотнях мегагерц, а в моделях с аппаратными трансиверами и до шести гигагерц. А также для параллельной, конвейерной обработки поступающих сигналов. Однако описывать всё на языках вроде Verilog или VHDL достаточно сложно, медленно и неудобно. Поэтому достаточно часто была практика ставить в дизайн на FPGA реализацию процессора: специализированных NIOS II для Altera, MicroBlaze для Xilinx, варианты AVR ядер написанных энтузиазитстами и тому подобное. Из плюсов такого решения это простота, добавил в дизайн процессор и периферию и пиши себе программу на C/C++ для них, к минусам можно отнести то, что они во первых занимают ресурсы FPGA (логические ячейки, блоки памяти, PLL), во вторых достаточно медленны.
DE0-Nano-SoC
Основной чип: Altera Cyclone V SE 5CSEMA4U23C6N
Часть аппаратного ядра(HPS):
- 1GB DDR3 SDRAM (32-bit data bus)
- 1 Gigabit Ethernet
- USB OTG Port, USB Micro-AB(работает как в режиме хоста так и девайса)
- Micro SD
- UART to USB, USB Mini-B connector
- Accelerometer (I2C interface + interrupt)
- Кнопки: cold reset, warm reset, user button
- Светодиод
- LTC разём расширения
Часть FPGA:
- EPCS128 для хранения конфигурации FPGA
- Две кнопки
- Четыре переключателя
- Восемь светодиодов
- Два 40пиновых разъёма(36 GPIO+2GND+5V Pin+3V Pin) стандарный для плат от Terasic.
- Разъём расширения совместимый с Arduino Uno R3
- Аналого цифровой преобразователь 8ми канальный
Выводы
Плата достаточно мощная, имеет гибкую конфигурацию, может быть использована в домашних разработках, если нужна высокая скорость или нестандартные интерфейсы, которые можно реализовать на FPGA стороне. Отлично подойдёт для повышения скила как в разработке для FPGA, так и в программировании ARM. Однако, для начального обучения FPGA я бы её не посоветовал из-за малого количества установленной периферии. Она всё же больше плата для использования, в каком либо устройстве, как готового блока управления. Ну и немного подводя итоги:
Плюсы:
- ARM Cortex A9
- FPGA часть на базе Cyclon V(на данный момент самый современный чип семейства Cyclone)
- Гибкая конфигурация: FPGA часть может использовать большую часть пинов HPS части, а в свою очередь HPS часть может направлять сигналы с периферии(UART/SPi/I2C/CAN) «внутрь» FPGA а не только на заданные ноги.
- 72 GPIO выведенных с FPGA части.
- 8 каналов ADC
- 1 Gb Ethernert
- USB OTG порт
Минусы:
- Цена: 99$ что достаточно дорого на фоне Raspberry Pi и её аналогов
- Сложность: придётся работать как с FPGA так и с ARM частью
- документация: документация на сам devkit очень подробна, а вот с документацией на сам чип местами всё достаточно плохо, если FPGA часть описана хорошо, то вот с HPS не так всё радужно, некоторые моменты описаны совсем не интуитивно и можно сказать поверхностно, хотя основные моменты всё же описаны хорошо.
- Сообщество: его можно сказать нет
Достаточно мощная и интересная плата, но как всегда за гибкость приходится платить сложностью в освоении. Если есть, какие либо вопросы по этой плате, задавайте в комментариях, постараюсь ответить.
Теги:
- fpga
- soc
- cyclone v soc
- devkit
- terasic
- de0-nano-soc
Хабы:
- Компьютерное железо
- DIY или Сделай сам
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 36
@VBKesha
Пользователь
Комментарии Комментарии 36
DE0-Nano-SoC ещё один миникомпьютер для творчества
2016-06-19 в 16:54, admin, рубрики: cyclone v soc, de0-nano-soc, diy или сделай сам, fpga, SoC, Terasic, Железо
Сейчас на рынке присутствует достаточно много разнообразных миникомпьютеров. Самые распространенные из них это Raspberry Pi, Orange Pi, Odroid. И есть очень популярная платформа Arduino. Но иногда случается, так что не хватает этих распространённых платформ.
Например, хочется какой нибудь миникомпьютер с не очень распространённым CAN, хочется десять UART, а может просто надо два десятка быстрых GPIO ног. Как же быть?
FPGA+CPU или в данном случае Cyclone V SoC
Один из вариантов решения проблемы может быть DevKit DE0-Nano-Soc. Данное решение построено на базе чипа Altera Cyclone V SE, а именно 5CSEMA4U23C6N. Который в свою очередь является комбинацией аппаратного ядра ARM Cortex A9 в данном случае двуядерным, и FPGA Cyclone V. Зачем может понадобиться такой тандем? А нужен он достаточно часто: FPGA хорошо подходит для быстрой обработки сигналов, обычные IO пины спокойно могут работать на сотнях мегагерц, а в моделях с аппаратными трансиверами и до шести гигагерц. А также для параллельной, конвейерной обработки поступающих сигналов.
DE0-Nano-SoC
Основной чип: Altera Cyclone V SE 5CSEMA4U23C6N
Часть аппаратного ядра(HPS):
- 1GB DDR3 SDRAM (32-bit data bus)
- 1 Gigabit Ethernet
- USB OTG Port, USB Micro-AB(работает как в режиме хоста так и девайса)
- Micro SD
- UART to USB, USB Mini-B connector
- Accelerometer (I2C interface + interrupt)
- Кнопки: cold reset, warm reset, user button
- Светодиод
- LTC разём расширения
Часть FPGA:
- EPCS128 для хранения конфигурации FPGA
- Две кнопки
- Четыре переключателя
- Восемь светодиодов
- Два 40пиновых разъёма(36 GPIO+2GND+5V Pin+3V Pin) стандарный для плат от Terasic.
- Разъём расширения совместимый с Arduino Uno R3
- Аналого цифровой преобразователь 8ми канальный
Выводы
Плата достаточно мощная, имеет гибкую конфигурацию, может быть использована в домашних разработках, если нужна высокая скорость или нестандартные интерфейсы, которые можно реализовать на FPGA стороне. Отлично подойдёт для повышения скила как в разработке для FPGA, так и в программировании ARM. Однако, для начального обучения FPGA я бы её не посоветовал из-за малого количества установленной периферии. Она всё же больше плата для использования, в каком либо устройстве, как готового блока управления. Ну и немного подводя итоги:
Плюсы:
- ARM Cortex A9
- FPGA часть на базе Cyclon V(на данный момент самый современный чип семейства Cyclone)
- Гибкая конфигурация: FPGA часть может использовать большую часть пинов HPS части, а в свою очередь HPS часть может направлять сигналы с периферии(UART/SPi/I2C/CAN) «внутрь» FPGA а не только на заданные ноги.
- 72 GPIO выведенных с FPGA части.
- 8 каналов ADC
- 1 Gb Ethernert
- USB OTG порт
Минусы:
- Цена: 99$ что достаточно дорого на фоне Raspberry Pi и её аналогов
- Сложность: придётся работать как с FPGA так и с ARM частью
- документация: документация на сам devkit очень подробна, а вот с документацией на сам чип местами всё достаточно плохо, если FPGA часть описана хорошо, то вот с HPS не так всё радужно, некоторые моменты описаны совсем не интуитивно и можно сказать поверхностно, хотя основные моменты всё же описаны хорошо.
- Сообщество: его можно сказать нет
Достаточно мощная и интересная плата, но как всегда за гибкость приходится платить сложностью в освоении. Если есть, какие либо вопросы по этой плате, задавайте в комментариях, постараюсь ответить.
Автор: VBKesha
Источник
https://ajax.googleapis.com/ajax/libs/jquery/3. 4.1/jquery.min.js
NetBSD/evbarm на DE0 Nano-SoC
NetBSD работает на плате Terasic DE0 Nano-SoC, основанной на
Альтера/Интел Циклон В.
Следует использовать версию NetBSD evbearmv7hf-el
.
В настоящее время поддерживаются Ethernet, USB, слот micro-SD и UART. FPGA, GPIO, SPI, ADC, акселерометр и т. д. пока не поддерживаются.
По сути, вам нужно dd
u-boot из sysutils/u-boot-de0-nanosoc
в
новый раздел типа 162 (0xA2) в armv7.img
и все.
Вот точные инструкции для NetBSD.
$ gunzip -c armv7.img.gz > armv7-for-nanosoc.img $ fdisk -f -u -2 -s 162/2048/2048 armv7-for-nanosoc.img $ dd if=/usr/pkg/share/u-boot/de0-nanosoc/u-boot-with-spl.sfp of=armv7-for-nanosoc.img seek=2048 conv=notrunc # dd if=armv7-for-nanosoc.img of=/dev/rXXN bs=1m conv=sync
>> NetBSD/evbarm efiboot (arm), версия 1.13 () Нажмите «Ввод», чтобы загрузиться сейчас, любая другая клавиша для загрузки загрузка netbsd - запуск через 0 секунд. 6727600+2108376+1397800 [494666+457680+477547]=0xb25820 [ 1.0000000] Загрузка NetBSD/evbarm (fdt) ... [ 1.0000000] [ Отсутствует таблица символов ядра! ] [1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, [1.0000000] 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, [ 1.0000000] 2018, 2019, 2020 The NetBSD Foundation, Inc. Все права защищены. [1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993 [ 1.0000000] Регенты Калифорнийского университета. Все права защищены. [1.0000000] NetBSD 9.0 (ОБЩИЙ) #0: [ 1.0000000] [email protected]:/usr/src/sys/arch/evbarm/compile/GENERIC [1.0000000] общая память = 1023 МБ [ 1.0000000] доступная память = 1003 МБ [1.0000000] armfdt0 (корень) [1.0000000] simplebus0 at armfdt0: Terasic DE-0 (Atlas) [ 1.0000000] простая шина1 на простой шине0 [1.0000000] cpus0 на simplebus0 [ 1.0000000] простая шина2 на простой шине0 [1.0000000] cpu0 на cpus0: Cortex-A9 r3p0 (ядро Cortex V7A) [ 1.0000000] cpu0: DC включен IC включен WB включен LABT предсказание переходов включено [ 1. 0000000] cpu0: 32KB/32B 4-way L1 VIPT Кэш инструкций [ 1.0000000] cpu0: 32KB/32B 4-сторонняя блокировка записи-C L1 PIPT Кэш данных [ 1.0000000] cpu0: 512KB/32B 8-way-back-locking-D L2 PIPT Unified cache [ 1.0000000] vfp0 на процессоре 0: NEON MPE (VFP 3.0+), округление, распространение NaN, денормализация [1.0000000] ЦП1 на ЦП0 [1.0000000] cycvrstmgr0 на simplebus1: сброс менеджера [ 1.0000000] простая шина3 в простой шине1 [ 1.0000000] gic0 на simplebus0: GIC [ 1.0000000] armgic0 at gic0: универсальный контроллер прерываний, 256 источников (245 действительных) [ 1.0000000] armgic0: 32 приоритета, 224 SPI, 5 PPI, 16 SGI [ 1.0000000] cycvclkmgr0 на simplebus1: диспетчер часов [1.0000000] syscon0 at simplebus1: Регистры системного контроллера [1.0000000] syscon1 на simplebus1: Регистры системного контроллера [1.0000000] syscon2 at simplebus1: регистры системного контроллера [1.0000000] l2cc0 на простой шине1 [1.0000000] arml2cc0 at l2cc0: Контроллер кэша L2 ARM PL310 r3p3 (отключен) [1.0000000] arml2cc0: кеш включен [ 1. 0000000] а9tmr0 на простой шине1 [ 1.0000000] a9tmr0: прерывание на GIC irq 27 [ 1.0000000] arma9tmr0 на a9tmr0: глобальный 64-битный таймер A9 (231 МГц) [ 1.0000000] com0 на simplebus1: ns16550a, рабочий fifo [1.0000000] com0: консоль [ 1.0000000] com0: прерывание на GIC irq 194 [ 1.0000000] com1 на simplebus1: ns16550a, рабочий fifo [ 1.0000000] com1: прерывание на GIC irq 195 [1.0000000] fregulator0 на простой шине0: 3,3 В [ 1.0000000] usbnopphy0 на simplebus1: USB PHY [ 1.0000000] /soc/fpgamgr@ff706000 на simplebus1 не настроен [ 1.0000000] /soc/gpio@ff70a000 на simplebus1 не настроен [ 1.0000000] /soc/sram@ffff0000 на simplebus1 не настроен [ 1.0000000] /soc/amba/pdma@ffe01000 на simplebus3 не настроен [ 1.0000000] /soc/gpio@ff709000 на simplebus1 не настроен [ 1.0000000] armpmu0 at simplebus0: Модуль мониторинга производительности [ 1.0000000] /soc/fpga_bridge@ff400000 на simplebus1 не настроен [ 1.0000000] /soc/fpga_bridge@ff500000 на simplebus1 не настроен [1.0000000] awge0 на простой шине1: GMAC [ 1. 0000000] awge0: прерывание на GIC irq 152 [1.0000000] awge0: Версия ядра: 00001037 [ 1.0000000] awge0: адрес Ethernet f2:00:74:49:ce:e1 [ 1.0000000] awge0: Маска функций аппаратного обеспечения: 170d69bf [ 1.0000000] awge0: Использование расширенного формата дескриптора [1.0000000] ukphy0 at awge0 phy 1: OUI 0x0010a1, модель 0x0022, ред. 2 [ 1.0000000] ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, авто [ 1.0000000] /soc/gpio@ff708000 на simplebus1 не настроен [ 1.0000000] /soc/i2c@ffc04000 на simplebus1 не настроен [1.0000000] /soc/eccmgr на simplebus1 не настроен [ 1.0000000] dwcmmc0 на простой шине1: MHS (50000000 Гц) [ 1.0000000] dwcmmc0: прерывание на GIC irq 171 [ 1.0000000] /soc/snoop-control-unit@fffec000 на simplebus1 не настроен [ 1.0000000] /soc/timer0@ffc08000 на simplebus1 не настроен [ 1.0000000] /soc/timer1@ffc09000 на simplebus1 не настроен [ 1.0000000] /soc/timer2@ffd00000 на simplebus1 не настроен [ 1.0000000] /soc/timer3@ffd01000 на simplebus1 не настроен [1. 0000000] dwctwo0 на simplebus1: DesignWare USB2 OTG [ 1.0000000] dwctwo0: прерывание на GIC irq 160 [ 1.0000000] dwcwdt0 at simplebus1: Сторожевой таймер DesignWare [ 1.0000000] dwcwdt0: период сторожевого таймера по умолчанию составляет 15 секунд. [1.0000000] gpioleds0 на simplebus0: [1.0000000] /soc/base_fpga_region на simplebus1 не настроен [1.0000000] /soc/sdramedac на simplebus1 не настроен [1.0000370] ЦП1: Cortex-A9r3p0 (ядро Cortex V7A) [ 1.0000370] cpu1: DC включен IC включен WB включен LABT предсказание ветвления включено [ 1.0100305] cpu1: 32KB/32B 4-way L1 VIPT Кэш инструкций [1.0100305] cpu1: 32KB/32B 4-way-back-locking-C L1 PIPT Кэш данных [1.0200189] cpu1: 512KB/32B 8-way-back-locking-D L2 PIPT Unified cache [1.0300185] vfp1 на процессоре 1: NEON MPE (VFP 3.0+), округление, распространение NaN, денормалы [1.0300185] armpmu0: прерывание на GIC irq 208 [ 1.0400229] armpmu0: прерывание на GIC irq 209[1.0400229] sdmmc0 и dwcmmc0 [1.1700197] usb0 на dwctwo0: версия USB 2.0 [1. 1800215] sdmmc0: Состояние SD-карты: 4-бит, C6 [1.1800215] ld0 в sdmmc0: <0x1b:0x534d:00000:0x10:0x7e34ebec:0x0d4> [1.1919757] uhub0 на usb0: NetBSD (0000) корневой концентратор DWC2 (0000), класс 9/0, версия 2.00/1.00, адрес 1 [ 1.2049057] ld0: 14991 МБ, 7614 цилиндров, 64 заголовка, 63 с, 512 байт/сект x 30702592 сектора [ 1.2128828] ld0: 4-битная ширина, High-Speed/SDR25, 50,000 МГц [1.9200187] загрузочное устройство: ld0 [ 1,9200187] корень на ld0a делает дамп на ld0b [1.9300197] Тип корневой файловой системы: ffs [ 1.9300197] kern.module.path=/stand/evbarm/9.0/modules [ 1.9400190] ВНИМАНИЕ: часы TOD отсутствуют [ 1.9400190] ВНИМАНИЕ: использование времени файловой системы [ 1.9528594] ВНИМАНИЕ: ПРОВЕРЬТЕ И СБРОСИТЕ ДАТУ!
Ссылки: evbarm
Последний раз редактировалось поздно вечером в субботу, 15 февраля 2020 г.
Настройки | Выход из системы
Комплект Terasic DE0-Nano-SoC/комплект Atlas-SoC
Производитель: Terasic Модель: DE0-NANO-SOC/ATLAS-SOC - СТАВТИЯ
- .
- Купить
Звоните по лучшей цене. : (028) 38 119.636
- Технические характеристики
- Информация о производителе
Режим JTAG
2 кнопки
4 ползунковых переключателя
8 зеленых пользовательских светодиодов
Три источника тактовой частоты 50 МГц от тактового генератора
Два 40-контактных разъема расширения
Один разъем расширения Arduino (совместимый с Uno R3), может подключаться к платам расширения Arduino.
Один 10-контактный разъем расширения аналогового входа. (совместно с аналоговым входом Arduino)
АЦП, 4-контактный интерфейс SPI с FPGA
2. HPS (Hard Processor System)
Двухъядерный процессор ARM Cortex-A9 с частотой 925 МГц
1 ГБ DDR3 SDRAM (32-разрядная шина данных)
1 Gigabit Ethernet PHY с разъемом RJ45
Порт USB OTG, разъем USB Micro-AB
Гнездо для карты Micro SD
Акселерометр (интерфейс I2C + прерывание)
UART к USB, разъем USB Mini-B
Кнопка горячего сброса и кнопка холодного сброса
Одна пользовательская кнопка и один пользовательский светодиод
Разъем расширения LTC 2×7
3. Содержимое комплекта
-Atlas-soc
+ Color Box
+ плата ATLAS-SoC
+ адаптер питания постоянного тока
+ USB-кабель типа A на Mini-B x1
+ USB-кабель типа A на Micro-B x1
+ Спонсорская карта
+ ATLAS-SoC Краткое руководство
+ Карта MicroSD
– DE0-Nano-SoC
+ Color Box
+ Плата ATLAS-SoC
+ Адаптер питания постоянного тока
+ USB-кабель типа A на Mini-B x1
+ USB-кабель типа A на Micro-B x1
+ Спонсорская карта
+ DE0-Nano-SoC Краткое руководство
+ Карта MicroSD
Подробная информация
Техническое описание
Комплект разработчика DE0-Nano-SoC представляет собой надежную платформу для проектирования аппаратных средств, построенную на базе системы Altera System-on-Chip (SoC) FPGA, который сочетает в себе новейшие двухъядерные встроенные ядра Cortex-A9 с лучшей в отрасли программируемой логикой для максимальной гибкости конструкции. Теперь пользователи могут использовать возможности огромной реконфигурируемости в сочетании с высокопроизводительной процессорной системой с низким энергопотреблением. SoC Altera объединяет систему жестких процессоров (HPS) на базе ARM, состоящую из процессора, периферийных устройств и интерфейсов памяти, бесшовно связанных с фабрикой FPGA с использованием магистрали межсоединений с высокой пропускной способностью. Плата для разработки DE0-Nano-SoC оснащена высокоскоростной памятью DDR3, аналого-цифровыми возможностями, сетью Ethernet и многим другим, что обещает множество интересных приложений.
Комплект разработчика DE0-Nano-SoC содержит все инструменты, необходимые для использования платы в сочетании с компьютером под управлением Microsoft Windows XP или более поздней версии.
Чем отличается комплект DE0-Nano-SoC от комплекта Atlas-SoC?
В комплекте DE0-Nano-SoC используется та же печатная плата, что и в платформе разработки Altas-SoC. Единственная разница заключается в процессе начала работы для двух комплектов. Оба комплекта поставляются с уникальным набором эталонных проектов, инструментов и документации, обеспечивающих очень различный пользовательский опыт.