Blue Pill – это плата для разработки STM32, ставшая популярной благодаря ее низкой стоимости (сейчас она составляет всего 1,50 доллара на Aliexpress) и совместимости с Arduino через проект STM32duino.
Люди создавали всевозможные проекты вокруг крошечной платы STM32, но мы нашли тестовую прошивку Mark (также известную как thanks4opensource) buck50 очень интересной, поскольку она превращает плату Blue Pill в логический анализатор, совместимый с инструментом командной строки Sigrok с открытым исходным кодом и графическим интерфейсом PulseView.
Прошивка все еще находится на стадии бета-тестирования, поэтому, скорее всего, придется исправлять ошибки. Тем не менее, прошивка Buck50 должна включать следующие ключевые функции на плате Blue Pill:
- 8-канальный, логический анализатор 6+ МГц
- Приблизительная глубина выборки 5K
- Образцы сохраняются только на краях сигнала для эффективного использования памяти
- Сложный запуск с помощью определяемого пользователем конечного автомата, поддерживающего комбинации последовательных («A, затем B, затем C») и логических операций («A или B или C»)
- Вывод на VCD и другие форматы файлов для экспорта в программы просмотра сигналов, включая Pulseview, а также gnuplot, gtkwave и Saleae Logic
- Мониторинг в реальном времени и регистрация цифровых, аналоговых, USART (синхронизация/асинхронизация), SPI (MOSI/MISO) и I2C (ведущий/ведомый/TX/RX) данных
- Двухканальный цифровой запоминающий осциллограф с приблизительной частотой 1 МГц, приблизительной глубиной выборки 5K (10K для одноканального)
- Трехканальный генератор цифровой последовательности импульсов с определяемой пользователем частотой, рабочим циклом и полярностью для каждого канала
- Двунаправленный мост/преобразователь из USART/UART (асинхронный/синхронный), SPI (ведущий/ведомый) или I2C… на USB… в хост-терминал, сокет UNIX или файл устройства UNIX pty
- 8-битный параллельный выходной счетчик (двоичный код или код Грея)
- Хост-терминал ASCII или двоичные входные данные на 8-битный параллельный выход
Прошивка написана на ассемблерном коде C ++ и ARM Thumb-2, а также предоставляются драйвера для Python для управления платой. На Github, есть удивительно подробная документация, и разработчик также предлагает людям отправлять отчеты об ошибках в трекере проблем.
Мы нашли проект, анонсированный в списке рассылки Sigrok, где некоторые обсуждали возможность подделок STM32 и что использование более свежих чипов STM32 может дать лучшие решения, не вдаваясь в детали (пока). Это заставило нас задуматься о Teensy 4.1 на базе NXP Cortex-M7, но для этой платы уже есть прошивка логического анализатора: TeensyLogicAnalyzer, также совместимая с Sigrok.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.