Время на прочтение 3 мин
Количество просмотров23K
Компьютерное железо DIY или Сделай сам
Recovery mode
Сейчас на рынке присутствует достаточно много разнообразных миникомпьютеров. Самые распространенные из них это Raspberry Pi, Orange Pi, Odroid. И есть очень популярная платформа Arduino. Но иногда случается, так что не хватает этих распространённых платформ.
Например, хочется какой нибудь миникомпьютер с не очень распространённым CAN, хочется десять UART, а может просто надо два десятка быстрых GPIO ног. Как же быть?
Один из вариантов решения проблемы может быть 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), во вторых достаточно медленны.
Основной чип: Altera Cyclone V SE 5CSEMA4U23C6N
Часть аппаратного ядра(HPS):
Часть FPGA:
Плата достаточно мощная, имеет гибкую конфигурацию, может быть использована в домашних разработках, если нужна высокая скорость или нестандартные интерфейсы, которые можно реализовать на FPGA стороне. Отлично подойдёт для повышения скила как в разработке для FPGA, так и в программировании ARM. Однако, для начального обучения FPGA я бы её не посоветовал из-за малого количества установленной периферии. Она всё же больше плата для использования, в каком либо устройстве, как готового блока управления. Ну и немного подводя итоги:
Плюсы:
Минусы:
Достаточно мощная и интересная плата, но как всегда за гибкость приходится платить сложностью в освоении. Если есть, какие либо вопросы по этой плате, задавайте в комментариях, постараюсь ответить.
Теги:
Хабы:
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 36
@VBKesha
Пользователь
Комментарии Комментарии 36
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 ног. Как же быть?
Один из вариантов решения проблемы может быть DevKit DE0-Nano-Soc. Данное решение построено на базе чипа Altera Cyclone V SE, а именно 5CSEMA4U23C6N. Который в свою очередь является комбинацией аппаратного ядра ARM Cortex A9 в данном случае двуядерным, и FPGA Cyclone V. Зачем может понадобиться такой тандем? А нужен он достаточно часто: FPGA хорошо подходит для быстрой обработки сигналов, обычные IO пины спокойно могут работать на сотнях мегагерц, а в моделях с аппаратными трансиверами и до шести гигагерц. А также для параллельной, конвейерной обработки поступающих сигналов.
Основной чип: Altera Cyclone V SE 5CSEMA4U23C6N
Часть аппаратного ядра(HPS):
Часть FPGA:
Плата достаточно мощная, имеет гибкую конфигурацию, может быть использована в домашних разработках, если нужна высокая скорость или нестандартные интерфейсы, которые можно реализовать на FPGA стороне. Отлично подойдёт для повышения скила как в разработке для FPGA, так и в программировании ARM. Однако, для начального обучения FPGA я бы её не посоветовал из-за малого количества установленной периферии. Она всё же больше плата для использования, в каком либо устройстве, как готового блока управления. Ну и немного подводя итоги:
Плюсы:
Минусы:
Достаточно мощная и интересная плата, но как всегда за гибкость приходится платить сложностью в освоении. Если есть, какие либо вопросы по этой плате, задавайте в комментариях, постараюсь ответить.
Автор: VBKesha
Источник
https://ajax.googleapis.com/ajax/libs/jquery/3. 4.1/jquery.min.js
{{#каждый список}}
{{/каждый}}
Комплект разработчика DE0-Nano-SoC представляет собой надежную платформу для проектирования аппаратного обеспечения, построенную на основе FPGA Altera System-on-Chip (SoC), которая сочетает в себе новейшие двухъядерные встроенные ядра 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 для комплекта Atlas-SoC и наоборот.
Направляющая/Функция | Номер детали | Общее описание части |
1,1 В: VCCINT (ядро FPGA) 1,1 В: ядро HPS (усиленное ядро FPGA) 3,3 В: VCCIO | LTC3612 | Синхронный понижающий преобразователь постоянного тока в постоянный, 3 А, 4 МГц |
1,5 В: VCCIO | ЛТ3080 | Регулируемый однорезисторный регулятор с малым падением напряжения 1,1 А |
9В: HDR | ЛТ3580 | Повышающий/инвертирующий преобразователь постоянного тока в постоянный с переключателем на 2 А, плавным пуском и синхронизацией |
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.