BenchPod: лабораторный стенд как CI-периферия
В BenchPod v2 один тактовый домен FPGA уже сводит в общий временной ряд ADC, DAC и логический анализатор, а 8 MiB PSRAM принимает захваченные буферы. Прототип на STM32H563 и iCE40UP5K получил Ethernet, аналоговый тракт с SAR АЦП на 1 MSPS и релейную петлю самопроверки. Главный вопрос теперь упирается в реальные ENOB, шум и стабильность калибровки всей аналоговой цепи.
BenchPod v2 перешёл от layout к живому прототипу: плата загружается, получает адрес по Ethernet и проходит раннюю отладку совместного захвата аналоговых и цифровых данных. Проект собирает в одном устройстве функции, которые обычно разнесены между программируемым источником питания, логическим анализатором, CAN-интерфейсом, генератором сигналов и измерительным фронтендом. Назначение стенда — воспроизводимые аппаратные тесты embedded-устройств с удалённым управлением и запуском из тестовой инфраструктуры.
Центральный STM32H563ZIT6 обслуживает сеть, прикладную логику и периферию. Его Ethernet MAC подключён по RMII к PHY LAN8742A и MagJack; выбранный контроллер поддерживает 100-Мбит Ethernet и IEEE 1588. Wi-Fi вынесен в ESP32-C3, работающий сетевым адаптером через esp-hosted, поэтому IP-стек остаётся на STM32. Такая топология избавляет измерительный прибор от второго независимого приложения с собственной сетевой логикой и упрощает управление через TCP.
За детерминированные операции отвечает iCE40UP5K с плотностью до 5280 LUT. FPGA обслуживает логический анализатор, синхронный обмен с ADC и DAC, а также захват в QSPI PSRAM объёмом 64 Мбит, или 8 MiB. В опубликованном испытании цифровые STEP/DIR, аналоговый ток обмотки шагового двигателя и сигнал DAC захватывались синхронно, после чего последовательность можно использовать как шаблон для воспроизведения штатного режима, отключения питания или остановки двигателя. Для HIL-сценариев полезна именно общая временная шкала: программная метка времени на сетевом хосте не даёт той же корреляции фронтов GPIO и отсчётов аналогового тракта.
Аналоговый вход построен вокруг дифференциального 16-битного SAR АЦП MCP33131D-10 с паспортным пределом 1 MSPS. Перед преобразователем стоят компенсированный делитель 1:12, OPA810, полностью дифференциальный драйвер THS4551 и опора ADR4540 на 4.096 В. Заявленный диапазон внешнего входа достигает ±30 В. Четыре герконовых реле способны физически соединить выход DAC8551 с измерительным входом: это позволяет прогонять калибровочную последовательность через значительную часть тракта, включая входные буферы и преобразователь. На выходе используется одноканальный 16-битный SPI DAC8551, предусмотрены биполярное питание, аналоговая коммутация и каналы 4–20 мА на XTR116. Питание тестируемого устройства проходит через eFuse, ток контролируют INA238.
Ранний скриншот FFT для петли DAC→ADC показывает выборку 99.6 kS/s при длине записи 4096 отсчётов. Эта демонстрация подтверждает работу тракта, однако ещё не характеризует прибор на предельной частоте 1 MSPS. Для оценки измерительных свойств потребуются спектры на нескольких входных уровнях и частотах, SINAD, ENOB, INL/DNL, температурный дрейф опоры и проверка делителя под длительным напряжением. Отдельной проверки требует заявленный диапазон ±30 В: его практическая ценность определяется допустимой переходной энергией, защитой входа и рассеиваемой мощностью резисторов.
Аппаратные файлы платы и SPICE-материалы опубликованы по CERN-OHL-W-2.0. Прототип остаётся в активной отладке: на первой ревизии была обнаружена обратная полярность входного TVS, затем исправленная на собранной плате. BenchPod пока не квалифицирован как измерительный прибор, однако разделение ролей между STM32 для сети и FPGA для синхронной периферии уже выглядит подходящей основой для компактного стенда, способного одновременно имитировать окружение DUT и фиксировать его реакцию.