"Карно" - плата интерактивная расширяемая для синтезирования цифровых схем (ПИР СЦХ-254 "Карно")
ฝัง
- เผยแพร่เมื่อ 6 ก.ย. 2024
- В данном новогоднем видео демонстрируются возможности платы ПИР СЦХ-254 "Карно". Данная плата содержит микросхему ПЛИС Lattice ECP5 (25К логических блоков), а так же ряд периферийных устройств, в том числе многоканальные ЦАП и АЦП, FastEthernet, HMDI. Плата имеет формфактор Raspberry Pi3 с совместимым разъёмом GPIO. Полная спецификация платы приведена ниже.
Плата "Карно" предназначена для синтеза цифровых схем и их тестирования. На плате может быть собран полноценный микроконтроллер для управления промышленными устройствами. В качестве демонстрации мы синтезировали средствами ПЛИС полноценный микроконтроллер с вычислительным ядром RISC-V (VexRiscV с тактовой частотой 60 МГц), контроллером FastEthernet и контроллером интерфейса HUB75. Через HUB75 к плате подключена светодиодная матрица формата 80x40, каждый пиксель матрицы имеет три цвета (RGB светодиод). На ядре RISC-V запущено программное обеспечение реализующее программный протокол Modbus over IP/UDP (Modbus/UDP), через который ножно обновлять изображение выводимое на светодиодную матрицу, а также выводить данные на каналы АЦП, т.е. генерировать звук.
Стриминг видео осуществляется с помощью небольшого скрипта написанного на языке Perl5 запущенного на внешнем хосте (на ноутбуке). Скрипт считывает аудио и видео из специально подготовленных файлов и отправляет по сети на плату Карно, инкапсулируя видео и аудио данные в пакеты Modbus/UDP. На строне Карно, ПО на синтезированном ядре RISC-V демультиплексирует полученные UDP пакеты и перекладывает данные либо в видео фрейм буфер либо в кольцевой буфер ЦАП. Имеются и другие возможности по управлению периферией через протокол Modbus/UDP.
Плата "Карно" спроектированная в САПР KiCAD 7. Цифровая аппаратура ПЛИС написана на языке SpinalHDL и синтезирована с помощью open source toolchain-а Yosis+NextPNR. Программное опеспечения для ядра RISC-V написано на языке C с использованием облегченного TCP/IP стека lwIP. Объём машинного кода - 75КБ, размещается в синтезируемой RAM.
Спецификация платы "Карно" ПИР СЦЗ-254:
- RPi3 form factor board with 40pin head connector
- Lattice ECP5 25K FPGA, RISC-V ready
- SRAM 16x256 KBits (512 KB)
- NOR flash 128 MBits for FPGA configs
- EEPROM 1Kbits (128 bytes) for user settings
- Ethernet 10/100Base-TX
- RS-485 transceiver
- HDMI connector directly connected to FPGA
- SPI DAC 4 channels (2 for audio)
- SPI ADC 4 channels + 1 mic in
- 4 keys and 4 LEDs
- 4 pin audio jack connected to DAC/ADC
- Built-in FT2232D based programmer
Схема и трассировка платы "Карно": github.com/Fab...
Программное обеспечение: github.com/Fab...
За демонстрацию Bad Apple уже огромный респект)
За демонстрацию отдельный лайк! Бэдаппл уже и на дисплее 80 на 40 запустили) молодцы)
Неплохо, даже интересно было посмотреть
... ЦАП и АЦП интегрирование "плисовские" или внешние? скорости?
Внешние, по SPI. В данном случае частота дискретизации 16кГц, 12бит. Максимальная: 1.2МГц.
@@ruslanzalata окэ спс
Это кто-то типа Ардуино на стеройдах? Или плеер аниме)
Это плата с микросхемой ПЛИС. При желании из неё можно сделать аналог Arduino или еще чего. В данно случае внутри ПЛИС синтезируется микроконтроллер с ядром RISC-V, на нём исполняется программа которая получает данные из сети и отображает на LED матрице или посылает на ЦАП. Источником данных (видео/аудио) являет ноутбук на котором запущен перловый скрипт, он читает файл, формирует пакеты с аудио и видео и отправляет по сети на плату Карно.
@@ruslanzalata что все пишут примеры того что есть или можно купить. У китайцев на Алике есть подобные led панели с конроллерами и ПО. Надо показывать то чего сложно добываемо.
Что за ПЛИС ?
Lattice EPC5. Подробсти в статье на Хабре.
... сразу чтото мысля не сформировалась по поводу ацп ... граждане, товарищи, мужчины - ну грешно же, страшный грех рядом с плис ставить цапацп на 16кГц ??????? тому кто это предложил или согласовал сразу надо было одевать стул на голову ... хотя бы 10-20 мегасемплов надо, цена такая же чипа, что бы хоть какой колхозный sdr накалякать ... а так хз кто целевая аудитория или применение ... поколение лишне-хромосомных ардуинщиков кому надо было больше больше светодиодов, уже давно в пятерочках кассирами и охранниками.
Возможно я неправильно выразился. На плате "Карно" стоят ЦАП и АЦП с последовательным (SPI) интерфейсом с макс тактовой частотой 20МГц. Это позволяет иметь частоту сэмплирования 1.25МГц. В данном видео представлена конфигурация с частотой сэмплирования 16кГц, она определена звуковой частотой и вычислительными возможностями синтезированного процессорного ядра. Установить ЦАП/АЦП на 20 мегасэмплов можно, но 1) это нифига не дешево, 2) данный ПЛИС такого не потянет - слишком большой поток данных. По сути плата "Карно" это игрушка для обучения и различных экспериментов с синтезируемыми процессорными ядрами.
@@ruslanzalata ну хз хз, что там "тянуть" то, сырые семплы во внешний мир отправлять всяко бы потянула плисина
ПЛИС сама по себе ничего не умеет. Обработкой занимается процессорное ядро, и его возможностей (60МГц) явно не достаточно для такого ЦАП/АЦП.
@@fabmicrollc6233 ... эээ ааа - ПЛИС Lattice ECP5 (25К логических блоков) 25К ???
На счет SDR. Есть идея прогонять ВЧ сигнал сразу через цифровую ногу ПЛИС с мультиплексацией и далее средствами ПЛИС делать демодуляцию.
Не понятно откуда артефакты (вернее понятно, шумы на шине данных)
Но за бэдаппл спасибо, антуражненько, прям по классике)
Да, там требуется подрезать частоту на шине, матрица не справляется.