Данная принципиальная схема представляет собой Модуль FM-радиоприемника построен вокруг RDA5807M в качестве основной интегральной схемы. Она в основном реализует Приём FM-сигнала, вывод звука и основные функции управления.Приведенный ниже анализ разделен на основные компоненты, функциональные модули и ключевые параметры проектирования.

1. Основные компоненты и функции выводов
Основной интегральный чип: RDA5807M
RDA5807M Это высокоинтегрированная микросхема FM-радиоприемника, поддерживающая прием FM-вещания. Последовательное управление I2C/SDIOНа основе представленной схемы основные контакты и их соединения суммированы ниже:
| Имя пин-кода | Функция | Подключенный компонент / Сеть | Описание |
|---|---|---|---|
| МАРШРУТ | Аудиовыход правого канала | Прямой вывод (дополнительные компоненты не показаны) | Обеспечивает аналоговый звук правого канала. |
| МНОГО | Выход звука левого канала | Прямой вывод (дополнительные компоненты не показаны) | Обеспечивает аналоговый звук левого канала. |
| РКЛК | вывод тактового сигнала | Нет явного внешнего подключения (вероятно, внутренняя синхронизация). | Внутренняя синхронизация часов |
| VDD | Вход питания | 3V3 силовая сеть | Источник питания постоянного тока 3.3V |
| GND | земля | Глобальная сеть GND | Общее питание и сигнальное заземление |
| SDIO | Последовательный ввод/вывод данных | Контакт 3 (управляющий сигнал) | Взаимодействие с микроконтроллером для настройки, регулировки громкости и т.д. |
| СКЛК | Серийные часы | Контакт 2 (тактовый сигнал) | Тактовый сигнал для связи SDIO |
| ФМИН | Вход FM-сигнала | Контакт 5 | Принимает радиочастотный FM-сигнал от антенны. |
| X1 | Вход кварцевого генератора | Кристалл 32.768 кГц | Обеспечивает опорный тактовый сигнал для стабильной работы на заданной частоте. |
2. Разбор функционального модуля
Модуль источника питания 2.1
- Входное напряжение: 3.3 В постоянного тока (регулируемый)
- Фильтрующие компоненты:
- C8 (0.1 мкФ), C9 (0.1 мкФ): Высокочастотные развязывающие конденсаторы между VDD и GND, подавляющие помехи питания.
- C10 (22 мкФ): Электролитический конденсатор большой емкости для низкочастотной фильтрации и накопления энергии.
- C26 (0.1 мкФ): Дополнительная развязка для дальнейшего повышения стабильности электропитания.
Эта многоступенчатая фильтрация обеспечивает стабильная и малошумная подача питания к микросхеме FM-приемника.
Модуль приема FM-сигнала 2.2
- Входной сигнал:
- Контакт FMIN (контакт 5) Подключается к внешней FM-антенне (антенный элемент на схеме не показан).
- Принимает FM-радиосигналы в 87-108 МГц группа
- Схема кварцевого генератора:
- A Кристалл 32.768 кГц (X1) обеспечивает точные эталонные часы
- Обеспечивает точную настройку FM-диапазона и предотвращает дрейф частоты при выборе станции.
2.3 Модуль управления и связи
- Интерфейс связи:
- SDIO (последовательные данные) + SCLK (последовательный тактовый генератор)
- Совместим с I2C или аналогичные протоколы последовательной связи
- Используется для взаимодействия с внешним микроконтроллером (например, микроконтроллером).
- Подтягивающие резисторы:
- R6 (10 кОм) для SDIO
- R7 (10 кОм) для SCLK
- Оба связаны с 3V3обеспечивая стабильные логические уровни и надежную связь.
Модуль аудиовыхода 2.4
- Аудио выходы:
- ПУТЬ: Аналоговый звук правого канала
- ЛУТ: Левый канал аналогового звука
- Результатами могут быть:
- Подключено напрямую к наушники
- Подключен к динамики (примечание: внешний усилитель (необходимо для более высокой выходной мощности)
2.5 Вспомогательный модуль фильтрации и согласования
- Катушки индуктивности:
- L1, L2 (100 нГн): Вероятно, используется для согласования радиочастотного импеданса или фильтрации входного сигнала на входе ЧМ-сигнала.
- Помогает уменьшить отражение сигнала и повысить чувствительность приема.
- Конденсаторы:
- C13 (100 пФ), C14 (24 пФ): Используйте индукторы для формирования Сеть LC-фильтров
- Подавляет высокочастотные помехи и очищает FM-сигнал.
- Заземление:
- Множественные соединения GND указывают на глобальный дизайн на основе общих принципов
- Снижает уровень шума и повышает общую стабильность цепи.
3. Ключевые параметры и особенности конструкции
- Рабочее Напряжение: 3.3V
- Полностью совместим с основными микроконтроллерами без преобразования уровней сигнала.
- Частота кварцевого резонатора: 32.768 кГц
- Стандартная для отрасли опорная частота для стабильной синхронизации
- Метод управления: Последовательный интерфейс SDIO + SCLK
- Упрощенная трассировка, требуется всего две линии управления.
- Проектирование фильтров:
- Несколько развязывающих конденсаторов (0.1 мкФ + 22 мкФ)
- LC-фильтрация на ВЧ-тракте для обеспечения высокой помехоустойчивости
- Аудио выход:
- Двухканальный аналоговый звук (ROUT / LOUT)
- Поддерживает воспроизведение стерео FM-радио.
4. Сценарии применения и предложения по расширению
Типичные применения
- Портативные FM-радиоприемники
- Умные колонки с функцией FM-радио
- Системы FM-приемников, управляемые микроконтроллером.
Варианты расширения
- Используйте внешняя телескопическая антенна или антенна на печатной плате для повышения чувствительности приема
- Добавьте усилитель мощности (например, LM386) на ROUT/LOUT для управления более крупными динамиками
- Включение расширенных функций посредством управления микроконтроллером:
- Автоматическое сканирование станций
- Хранение предустановленных каналов
- Цифровой регулятор громкости
5. Примечания к проектированию и меры предосторожности
- Стабильность мощности:
- Обеспечьте низкий уровень пульсаций напряжения питания 3.3 В, чтобы избежать звуковых помех или нестабильного приема.
- Заземление:
- Используйте надежную и устойчивую опорную точку на местности.
- Избегайте потенциальных различий между заземлением питания и заземлением аудиосигнала, чтобы предотвратить возникновение помех.
- Согласование импеданса:
- Антенна подключена к ФМИН должны быть согласованы по импедансу (как правило). 50Ω) для оптимального приема
- Выбор компонентов:
- Использовать высокоточный кварцевый резонатор 32.768 кГц
- предпочитать Конденсаторы NP0 / C0G для радиочастотных и синхронизирующих компонентов благодаря превосходной стабильности.
Программный код радиосхемы
RDA5807.H
/*
**==============================================================================
** RDA5807.H:
**
** Description:
**
**==============================================================================
*/
#ifndef __RDA5807__
#define __RDA5807__
//------------------------------------------------------------------------------
#ifdef RDA5807_GLOBALS
#define RDA5807_EXT
#else
#define RDA5807_EXT extern
#endif // RDA5807_GLOBALS
//------------------------------------------------------------------------------
//==============================================================================
void RDA5807Init(void);
//------------------------------------------------------------------------------
RDA5807_EXT uint16_t g_nRDA5807Channel;
//------------------------------------------------------------------------------
void RDA5807Setup(void);
void RDA5807I2CWrite(uint8_t * pucData, int nLength);
void RDA5807SetChannel(float freq);
//==============================================================================
// END OF THE FILE : RDA5807.H
//------------------------------------------------------------------------------
#endif // __RDA5807__
/*
**==============================================================================
** RDA5807.C:
**
**==============================================================================
*/
//------------------------------------------------------------------------------
#include "stm32f0xx_hal.h"
#include "stm32f0xxa.h"
#define RDA5807_GLOBALS 1 // Define the global variables
#include "RDA5807.H"
//------------------------------------------------------------------------------
#define RDA5807_BOOT_LENGTH 12
uint8_t RDA5807_boot_config[] = {
0xc1, 0x03, // Register 0x2
0x00, 0x00, // Register 0x3
0x0a, 0x00, // Register 0x4
0x88, 0x0f, // Register 0x5
0x00, 0x00, // Register 0x6
0x42, 0x02, // Register 0x7
};
//------------------------------------------------------------------------------
#define RDA5807_TUNE_CONFIG_LENGTH 4
uint8_t RDA5807_tune_config[] = {
0xc0, 0x01, // Register 2
0x00, 0x00, // Reigster 3
};
void RDA5807SetTuneConfig(uint16_t channel) {
RDA5807_tune_config[2] = (uint8_t)(channel >> 2);
RDA5807_tune_config[3] = (uint8_t)(((channel & 0x3) << 6) | 0x10);
}
//------------------------------------------------------------------------------
void RDA5807Init(void) {
/* Assumin band starts at 87.0MHz(per setting below)
* and channel spaceing of 100kHz(0.1Mhz)(per settings below)
* then channel can be derive as floowins:
* channel = (<desired freq in MHz> - 87.0) / 0.1
*
* which is ave as:
* <10x desired ferq in MHz> - 870
*/
g_nRDA5807Channel = 6;
RDA5807Setup();
}
//------------------------------------------------------------------------------
extern I2C_HandleTypeDef hi2c1;
void RDA5807I2CWrite(uint8_t * pucData, int nLength) {
HAL_I2C_Master_Transmit(&hi2c1, 0x20, pucData, nLength, 10);
}
//------------------------------------------------------------------------------
void RDA5807Setup(void) {
RDA5807I2CWrite(RDA5807_boot_config, RDA5807_BOOT_LENGTH);
RDA5807SetTuneConfig(g_nRDA5807Channel);
RDA5807I2CWrite(RDA5807_tune_config, RDA5807_TUNE_CONFIG_LENGTH);
}
void RDA5807SetChannel(float freq) {
g_nRDA5807Channel = (int)((freq - 87.0) * 10.0 + 0.5);
RDA5807SetTuneConfig(g_nRDA5807Channel);
RDA5807I2CWrite(RDA5807_tune_config, RDA5807_TUNE_CONFIG_LENGTH);
}
//==============================================================================
// END OF THE FILE : RDA5807.C
//------------------------------------------------------------------------------




