Для получения результата аналогичного приведённому ниже примеру потребуется:
- Vostok UNO-VN035
- Любой генератор сигнала
- VScode с плагином PlatformIO
- GNU Radio, можно установить например с помощью radioconda, в том числе для Windows
В комментариях к прошивке есть ссылки на официальную документацию для микроконтроллера 1921ВК035. Полезные материалы и примеры кода также можно найти на github и bitbucket разработчиков.
После первого открытия проекта в platformio, необходимо дождаться окончания конфигурации. Перед загрузкой в плату Vostok, установите корректный COM-порт в конфигурационном файле platformio.ini. Также, установите требуемую скорость UART в том же файле и в файле retarget_conf.h (переменная RETARGET_UART_BAUD).
В случае изменения тактирования блоков микроконтроллера таким образом, что тактовая частота будет вне допустимых границ, микроконтроллер не будет работать и превратится в "кирпич". Чтобы сбросить микроконтроллер, необходимо стереть flash память и заново записать загрузчик. Для этого необходимо использовать отладчик, например ST-Link V2. Загрузчик и процедуру его перезаписи можно найти по ссылке.
В .grc файле содержится граф для GNU Radio, на котором есть блок для получения данных из serial порта и блок "осциллограф". В блоке Serial Read требуется задать номер COM порта (такой же, как в VScode, можно найти в диспетчере устройств) и скорость порта, аналогично той, которая задана в VScode.
Если вы не изменяли прошивку микроконтроллера, то подайте на пин A0 платы Vostok аналоговый сигнал с частотой примерно 1-2 кГц. В результате, вы увидите что-то аналогичное картинке.
В данном примере, частота дискретизации АЦП составляет 1 МГц, однако запись в UART длится дольше дольше, чем проходит время между прерываниями от АЦП. Если отключить постоянную передачу данных от АЦП в serial, и вместо этого копить данные в FIFO буфере, при заполнении останавливать работу АЦП и после этого передавать записанные данные в UART, то АЦП показывает заявленные характеристики по скорости оцифровки, т.е. 1 Мвыб/сек. Обратите внимание, что на рисунке ниже указана частота входного синусоидального сигнала, в то время как частота оцифровки не изменяется.
Далее, можно поэкспериментировать с тактированием блоков микроконтроллера, оцифровать сигнал с амплитудной, частотной или BPSK модуляцией.