mcy112 angles 1280

Мы разработали новую FPGA плату MCY112 с чипом ПЛИС Altera Cyclone I EP1C12Q240C8. Мы понимаем, что ПЛИС Cyclone I не самый новый чип на сегодняшний день, но его достоинство - он есть в наличии и он более-менее доступен по цене. И главное - на этой плате очень много пользовательских выводов! Можно много чего подключить!

Плата MCY112 простая, но вполне подходит для изучения возможностей ПЛИС. На этой плате мы и светодиодами поморгать сможем и систему на кристалле с процессором RISC-V запустим.

Рассмотрим плату подробнее. В ПЛИС EP1C12Q240C8 содержатся 12060 логических элементов, 239616 бит встроенной памяти, два PLL. На плате установлены:

  • Кварцевый генератор 100Мгц;

  • Две пользовательские кнопки;

  • Восемь пользовательских светодиодов и 7-ми сегментный индикатор;

  • SDRAM IS42S32200B, 8 (или 16) Мбайт, 32 разряда шина данных (на обратной стороне платы);

  • Двухканальная аудио АЦП PCM1801U,16 бит, 48 Кгц;

  • Двухканальный аудио выход для Дельта Сигма ЦАП (8бит);

  • Три разъема для установки плат расширения, квазисовместимые с Raspberry Pi;

  • SPI Flash W25Q16, 2 Мбайта для автозагрузки ПЛИС:

  • SPI Flash W25Q16, 2 Мбайта для пользовательских данных;

  • Разъем для установки USB JTAG программатора, например MBFTDI или UsbBlaster

  • Разъем Active Serial для прошивки флэш памяти автозагрузки ПЛИС тем же самым программатором MBFTDI или UsbBlaster.

Вот план расположения компонентов на плате:

mcy112 1280 yellow marks

Программировать эту плату придется в среде Altera Quartus II Web Edition v9.1sp2. Скачать эту версию квартуса можно здесь на яндекс диске: https://disk.yandex.ru/d/KS4rCSB-MixEIw

Там же в папке есть еще один файл jtag_hw_mbftdi_blaster32.zip. Если плата будет использоваться совместно с нашим программатором MBFDI, то этот файл понадобится - это драйвер программатора к квартусу. Девятый квартус является 32х битной программой, но работает в Windows 10 64бит без проблем. Если квартус установлен например в папку D:\altera\91sp2, то распакуйте jtag_hw_mbftdi_blaster32.zip в папку D:\altera\91sp2\quartus\bin. Тогда программатор MBFTDI будет работать в САПР Quartus II Web Edition 9.1

Плата MCY112 разработана таким образом, чтобы при необходимости JTAG программатор MBFTDI мог быть просто установлен сверху на разъемы, вот так:

mcy112 mbftdi angles 1280

Сам программатор MBFTDI требует небольшой доработки - добавлен провод +5В от USB на разъем. Так плата будет получаь питание. Вероятно следующии версии программатора уже будут разведены соответствующим образом.

В таком виде плата, как единый макет: MCY112 с установленным программатором, может использоваться, например, студентами на лабораторных работах. Студенты будут разрабатывать свои проекты и загружать их в ПЛИС через USB кабель через программатор MBFTDI и его JTAG . Если же плата будет использоваться в составе какого-то оборудования, то тогда программатор нужен только чтобы загрузить прошивку в микросхему Flash памяти автозагрузки ПЛИС. Для этого программатор можно сместить и установить на разъем Active Serial, зашить флэшку и снять программатор. После подачи питания на плату она автоматически стартует и без программатора.

Выше я написал, что разъемы GPIO являются квазисовместимыми с платой микрокомпьютера Raspberry Pi. Это значит, что по крайней мере земля и питание разведены соответствующим распбери пи образом. Платы для распбери вероятно можно использовать совместно с нашей FPGA платой MCY112. Например, я планирую поключать к нашей плате MCY112 плату адаптера VGA для Raspberry Pi4:

mcy112 mbftdi vga angles 1280

И это будет работать! Адаптер VGA можно ставить и на разъем GPIO_A и на разъем GPIO_B. Выводов ПЛИС хватит.

К сожалению не все сигналы распбери будут доступны на всех разъемах GPIO. Точнее можно сказать так. На разъеме GPIO_A все выводы как на распберри есть в наличии. Есть 28 входов-выходов, доступных для FPGA проектов: inout wire [27:0]gpio_a.

На разъеме GPIO четыре вывода из 28 недоступны. Они зарезервированы в качестве сигналов JTAG для загрузки проектов в ПЛИС при подключении платы к микрокомпьютеру расперри. Про это надеюсь будет отдельная статья. В целом же всё задумано так же, как было раньше с нашей платой M2RPI

Зарезервированы под программатор:

//inout wire gpio0, //JTAG TMS
//inout wire gpio1, //JTAG TDO
//inout wire gpio7, //JTAG TCK
//inout wire gpio11, //JTAG TDI

На разъем GPIO_B свободных выводов ПЛИС немного не хватило. Поэтому здесь будет только 23 сигнала на ввод-вывод и три сигнала только на ввод:

inout wire [22:0]gpio_b,
input wire [2:0]RESERVE

Более подробно понять назначение сигналов FPGA и разъемов GPIO можно из схемы платы. Вот схема: https://github.com/marsohod4you/MCY112/blob/main/docs/MCY112-schema-v2.pdf

Для этой платы я уже подготовил несколько проектов, их можно посмотреть на странице github: https://github.com/marsohod4you/MCY112

Первый проект будет традиционно про светодиоды. Второй проект я планирую сделать фреймбуфер в памяти SDRAM и отображать его на VGA монитор. Ну и дальше будут проекты с оцифровкой звука и RISC-V. Посмотрим, что из этого у нас получится.

Здесь список выполненных проектов и их краткое описание.

buy button


Комментарии  
0 #6 Kiril 13.02.2024 17:30
Для дельта-сигма достаточно и одного бита. Здесь даже лишнего с запасом. А 10кГц и вправду мало...
0 #5 Артём2 13.02.2024 16:39
> Двухканальный аудио выход для Дельта Сигма ЦАП (8бит);

Что подразумевается под "8бит"? Для вывода PCM предлагается делать в плис digital-digital конвертацию в delta sigma? Это будет лучше чем PCM over PWM?

Не слишком ли низкая частота среза у выходного фильтра? (~10кГц)
+1 #4 Intel 15.12.2023 16:51
Вообще-то здесь обитают не столько те, кому "ПЛИС изучать", а кому "плату с попугаями". Поставки Интел в РФ прикрыло, параллельный импорт дорог и ненадёжен. Вот и присматриваемся . Марсоход3 был великолепен, мы его во многие проекты встроили, в том числе с корками RISC-V.
0 #3 Кирилл7 15.12.2023 12:41
Для тех, кто начинает с ПЛИС, этого более чем достаточно. Миллионы логики нафиг не нужны, как и встроенные процессоры, ведь надо учиться стоить из простых блоков и оптимально. Кому нужно больше, потом просто возьмет отладочную плату от Intel с папугаями. Вон, на MaxII даже фоторамку можно сделать, а она гораздо младше того, что здесь используется
0 #2 valerysmd 03.04.2023 05:51
Интересно, особенно с системой на RISCV, Можно ли будет ее использовать в Eclipse (т.к. в версиях embedcpp вроде есть встроенный компилятор)?
0 #1 Серж 02.04.2023 16:32
Хорошее конечно решение, но какое-то не перспективное...

Предлагаю освоить что-то современное, например Gowin GW2A на 55к ЛЭ или что-то подобное. www.gowinsemi.com/.../38
Добавить комментарий