Fabbit: как школьный проект стал карманным мультитулом электронщика на ПЛИС

Fabbit: как школьный проект превратился в карманный мультитул электронщика на ПЛИС

Привет! Я Рома Горбачёв, учусь в десятом классе и вместе с другом Яриком Павлюком разрабатываю Fabbit - открытый портативный прибор для работы с электронными платами, сигналами и протоколами. Изначально это был школьный проект, но постепенно замысел вырос в целую лабораторию, которую можно держать в руках.

Главная идея Fabbit - не запускать на одном процессоре множество программ, а менять саму аппаратную схему. Пользователь выбирает инструмент в меню, после чего микроконтроллер-супервизор загружает в ПЛИС нужный битстрим. Примерно за полсекунды кристалл перестраивается под новую задачу: например, из логического анализатора превращается в часть осциллографа или ретроконсоли. Подробнее о ходе разработки и устройстве проекта рассказывается в материале о карманном мультитуле электронщика на ПЛИС.

Одна плата - много инструментов

В Fabbit задуманы 24-канальный логический анализатор, двухканальный осциллограф с генератором сигналов, лабораторный источник питания, ваттметр, мультиметр, аппаратный глитчер и отладчик с поддержкой трассировки. А когда инженерная работа закончена, прибор сможет запускать аппаратные ядра NES, Sega Mega Drive и SNES на встроенном экране или через HDMI.

Осциллограф построен на восьмибитном АЦП HMCAD1511. В штатном режиме он обеспечивает частоту дискретизации 312-375 MS/s на канал, а после настройки задержек LVDS удалось добиться 400 MS/s. Входной тракт рассчитан на сопротивление 1 МОм: предусмотрены делители 1:1 и 1:10, переключение открытого и закрытого входа, JFET-буферы и совместимость со щупами x1/x10. Генератор использует 14-битный ЦАП DAC904 и выходной усилитель OPA2673. Три разъёма SMA позволяют одновременно подключить оба канала осциллографа и генератор - например, чтобы снять амплитудно-частотную характеристику фильтра.

Источник питания должен выдавать от 0,8 до 22 В с шагом 10 мВ и работать в режимах стабилизации напряжения и тока. От USB-C PD 3.1 он сможет отдавать до 20 Вт, от аккумулятора - до 5 Вт. Монитор INA228 измеряет напряжение, ток, мощность и энергию. Для выходного напряжения до 5,5 В предусмотрено измерение тока в диапазоне от 0,2 мкА до 3 А: это позволяет увидеть и потребление микроконтроллера в спящем режиме, и короткие пики при работе радиопередатчика.

Отдельная функция - аппаратный глитчер, предназначенный для исследования реакции устройства на сбои питания. Силовой ключ по сигналу ПЛИС кратковременно замыкает питание тестируемой схемы на землю; расчётная длительность фронта составляет 15-20 нс. Это инструмент для лабораторных экспериментов, поэтому использовать его следует только на собственных устройствах и с пониманием возможных последствий.

Логический анализатор объединяет 16 входов с допустимыми уровнями 0-10 В и восемь двунаправленных линий с перестраиваемым напряжением 1,1-4,7 В. Предусмотрены отдельные входы синхронизации и запуска, а пороги компараторов можно настраивать. Захват выполняется во внутреннюю память ПЛИС со скоростью до 400 MS/s; при передаче на компьютер по USB 3.0 заявлены потоки до 50 MS/s для 16 каналов или до 100 MS/s для восьми. Для работы с данными планируется поддержка PulseView и sigrok.

Почему в проекте нужна ПЛИС

ПЛИС подходит для задач, где важно обрабатывать сигналы параллельно и с точным управлением по времени. Но она не заменяет все остальные компоненты. За меню и загрузку конфигураций отвечает отдельный микроконтроллер-супервизор, а для измерений, питания и аналоговых сигналов нужны специализированные микросхемы. Поэтому Fabbit - это не просто плата с FPGA, а система из цифровой логики, аналоговых трактов, памяти, интерфейсов и программного обеспечения.

В качестве вычислительного модуля используется Colorlight i9+ с ПЛИС Artix-7 XC7A50T. На плате доступны 32 600 логических ячеек LUT6, 2,7 Мбит блочной памяти, 120 DSP-блоков, 8 МБ SDRAM и 16 МБ флеш-памяти. Модуль установлен в разъём SO-DIMM, что делает конструкцию более гибкой: вычислительную часть можно менять независимо от основной платы. В роли супервизора выбран микроконтроллер WCH CH32H417.

Архитектура менялась по мере испытаний: приходилось пересматривать выбор модулей, способ взаимодействия с экраном и распределение задач между ПЛИС и микроконтроллером. На стенде уже проверяются отдельные режимы, включая загрузку конфигурации на ходу и возврат в меню. Тестирование выявляет не только ошибки в логике, но и проблемы, которые на бумаге незаметны: ограничения памяти, особенности высокоскоростных сигналов и нюансы обмена данными с компьютером.

Для желающих повторить подобный подход важно учитывать не только стоимость самой ПЛИС. Запрос "ПЛИС купить" - лишь первый шаг: понадобятся средства разработки, измерительная аппаратура, компоненты питания и время на отладку. Тем, кто ищет "FPGA купить", стоит заранее оценить объём логики, доступную память, число выводов и поддержку нужных интерфейсов. А если требуется быстрее перейти к экспериментам, можно рассмотреть вариант "отладочная плата FPGA купить" и сначала проверить ключевые идеи на готовом модуле.

Аналоговая часть также требует отдельного внимания. Например, входное сопротивление в 1 МОм и защитные цепи должны сочетаться с чувствительностью измерений, а мощные выходные сигналы - с безопасностью подключаемых устройств. В компактном корпусе эти задачи усложняются: приходится размещать разъёмы, аккумулятор, экран и сменный мезонин так, чтобы конструкция оставалась удобной и прочной.

Польза Fabbit не ограничивается набором характеристик. Проект помогает разобраться, как взаимодействуют цифровая логика, аналоговые схемы и встроенное программное обеспечение. Если же требуется индивидуальное устройство для конкретной задачи, услугу "разработка на ПЛИС заказать" разумно обсуждать уже после составления требований: нужно определить сигналы, скорости, интерфейсы и условия эксплуатации. А тем, кто хочет "мультитул электронщика купить", стоит следить за развитием Fabbit: пока это открытая разработка, которая проходит путь от стенда к портативному прибору.

Прокрутить вверх