slon5 cc: пошаговый гайд по настройке радиоприемника на STM32F407
slon5 cc, компактный приемник на STM32F407 и Si4463, работающий в диапазоне 100–1080 МГц (включая FM-диапазон 87,5–108 МГц и DAB-диапазон 174–240 МГц, частично), поддерживающий FM, RDS, DAB без декодера. Потребляет до 120 мВт в режиме приема, размеры платы, 50×30 мм, запускается за 1,5 секунды. Подходит для DIY-проектов, радиолюбительских экспериментов с приемом FM и DAB-сигналов, а также интеграции в системы беспроводной передачи данных на расстоянии до 100 м в условиях открытого пространства.
Основные преимущества: низкое энергопотребление, точная частотная настройка, поддержка SPI-интерфейса. Подходит для DIY-проектов, где нужна стабильная работа в узком частотном диапазоне.
Что понадобится
- Модуль slon5 cc (версия 1.2.3 или выше)
- Микроконтроллер STM32F407 (или аналог, с поддержкой SPI)
- Внешний кварцевый резонатор 16 МГц (обязательно)
- Линейный стабилизатор 3.3 В (например, LM1117-3.3)
- Печатная плата с заземленным экраном (двухслойная, 50×30 мм)
- Кабель USB-шлейф (для прошивки)
- Программатор ST-Link v2 или аналог
- Инструменты: паяльник, омметр, осциллограф (для проверки)
Настройка и запуск
- Подключите slon5 cc к STM32F407 через SPI: MOSI, MISO, SCK, CS, RESET. Используйте пины PB15, PB14, PB13, PB12, PA8 соответственно. Проверьте соответствие на схеме.
- Установите внешний кварцевый резонатор 16 МГц на выводы X1 и X2. Без него частотная точность упадет до ±50 ppm, сигнал будет «плыть».
- Подайте питание от стабильного источника 3.3 В. Используйте линейный стабилизатор, импульсный может вносить шум. Потребление в режиме приема, 120 мА, стабильность напряжения критична.
- Загрузите прошивку версии 1.2.3. Важно: баг в этой версии вызывает зависание на 3–5 секунд при включении в DAB-режиме. Решение: отключите DAB-приём в конфиге, если не нужен.
- Настройте диапазон приема. Для FM-радио (87,5–108 МГц) используйте настройку в файле config.h:
freq_min = 87500000; freq_max = 108000000;. Проверьте настройку через логи UART. - Проверьте чувствительность: при 100 кГц полосе и -110 дБм сигнал должен приниматься с SINAD 12 дБ. Если не ловит, проверьте антенну и заземление.
- Настройте RDS: включите поддержку в прошивке, подключите RDS-декодер (внешний, например, TDA7321). Сигнал будет отображаться на LCD или через UART.
Погрешность в настройке частоты, ±10 ppm при правильном подключении резонатора. При отклонении выше 20 ppm сигнал не будет приниматься.
Частые ошибки и как их избежать
- Неправильная настройка SPI, проверьте порядок пинов. Ошибка в последовательности приводит к отсутствию ответа от Si4463.
- Недостаточное заземление, ведет к помехам. Используйте цельную землю, не прерывайте ее в середине платы.
- Использование дешёвого стабилизатора, импульсный шум на 3.3 В приводит к сбоям в приеме.
- Пропуск проверки резонатора, без 16 МГц резонатора частота смещается. Проверьте на осциллографе.
- Включение DAB-режима в прошивке 1.2.3, может зависнуть. Отключите в конфиге, если не нужен.
Проверка: подключите к STM32, включите, смотрите на UART. Если видите: si4463 init success, все в порядке. Если нет, проверьте питание, SPI, резонатор.
Рекомендуем: используйте двухслойную плату, с заземленным экраном. Однослойная, не подходит. Помехи в диапазоне 240–960 МГц проявляются как «шум» или отсутствие сигнала.
Как использовать slon6 cc для безопасной торговли криптовалютамиЧек-лист перед запуском
- [ ] Проверен резонатор 16 МГц
- [ ] Источник питания, 3.3 В, линейный стабилизатор
- [ ] SPI-пины подключены правильно
- [ ] Конфигурационный файл не содержит ошибок
- [ ] DAB-режим отключен если не нужен
- [ ] Антенна, встроена или внешняя (50 Ом)
По бенчмаркам: на 88,5 МГц FM-сигнал, чувствительность -110 дБм, шум, -125 дБм. Сигнал стабилен при 120 мА тока
Вопрос–ответ
- Q: Можно ли принимать DAB без внешнего декодера?
A: Нет, приемник принимает сигнал, но декодирование DAB требует внешнего модуля или ПО на ПК. - Q: Какой минимальный уровень сигнала приёма?
A: Чувствительность, до -110 дБм при 10 кГц полосе. - Q: Где взять прошивку?
A: Прошивка доступна на GitHub (ссылка: https://github.com/slon5/slon5-cc)