Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

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), во вторых достаточно медленны.

Ну и в третьих несмотря на разнообразную периферию, она обычно достаточно проста, то есть поддержки DMA для UART в базовом наборе вы вряд ли найдёте, можно конечно написать своё, но это долго и достаточно сложно. С полными характеристиками чипа можно ознакомится здесь. Но рассмотрим детальней наш devkit.

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, , рубрики: 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 пины спокойно могут работать на сотнях мегагерц, а в моделях с аппаратными трансиверами и до шести гигагерц. А также для параллельной, конвейерной обработки поступающих сигналов.

Однако описывать всё на языках вроде Verilog или VHDL достаточно сложно, медленно и неудобно. Поэтому достаточно часто была практика ставить в дизайн на FPGA реализацию процессора: специализированных NIOS II для Altera, MicroBlaze для Xilinx, варианты AVR ядер написанных энтузиазитстами и тому подобное. Из плюсов такого решения это простота, добавил в дизайн процессор и периферию и пиши себе программу на C/C++ для них, к минусам можно отнести то, что они во первых занимают ресурсы FPGA (логические ячейки, блоки памяти, PLL), во вторых достаточно медленны. Ну и в третьих несмотря на разнообразную периферию, она обычно достаточно проста, то есть поддержки DMA для UART в базовом наборе вы вряд ли найдёте, можно конечно написать своё, но это долго и достаточно сложно. С полными характеристиками чипа можно ознакомится здесь. Но рассмотрим детальней наш devkit.

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

    • СТАВТИЯ
    8

    • .
    • Купить
  • Звоните по лучшей цене. : (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. Единственная разница заключается в процессе начала работы для двух комплектов. Оба комплекта поставляются с уникальным набором эталонных проектов, инструментов и документации, обеспечивающих очень различный пользовательский опыт.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *