si5351-signal-generator/

В предыдущих проектах я не единожды использовал Si5351 , и вероятно, буду использовать его в будущих. Так вот, еще на этапе прототипирования нередко возникают вопросы уровня «интересно, какую мощность выдаст УМ класса C , если раскачать его Si5351 с drive strength, выставленным в 2MA». Поскольку каждый раз возиться с паяльником, макетками и программатором надоедает, было решено сделать генератор с корпусом и дисплеем.

Вот что получилось:

Я использовал корпус Gainta B023 и ЖКИ 2004 с I2C-интерфейсом . Из элементов управления предусмотрены две кнопки и роторный энкодер . Работает все это хозяйство под управлением STM32F103.

Генератор имеет два канала, поскольку у Si5351 только два канала могут выдавать совершенно независимые частоты. Кнопки перемещают курсор влево и вправо. Вращение энкодера приводит к изменению частоты или уровня сигнала на канале, в зависимости от положения курсора. Нажатие на роторный энкодер перемещает курсор в то же положение для другого канала.

Нажатие двух кнопок одновременно переводит генератор в альтернативный режим работы:

В этом режиме каналы имеют одинаковую частоту, но сигнал второго канала сдвинут на 90° . Уровень сигнала на каналах все так же регулируется независимо. Повторное нажатие двух кнопок одновременно переводит генератор в режим работы по умолчанию.

Ну и, конечно же, всем интересно, что находится внутри:

Черная отладочная плата была куплена когда-то давно, но лежала без дела из-за сравнительно больших габаритов. Какой-нибудь Blue Pill справился бы с задачей не хуже.

Именно такой генератор я и хотел получить. Полную версию прошивки и кое-какую дополнительную информацию вы найдете на GitHub .

admin

Share
Published by
admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

2 недели ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

2 недели ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

2 недели ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

2 недели ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

2 недели ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

2 недели ago