Ce schéma de circuit représente un module récepteur radio FM basé sur le circuit intégré RDA5807M . Il assure principalement la réception du signal FM, la sortie audio et les fonctions de contrôle de base . L'analyse ci-dessous est divisée en composants principaux, modules fonctionnels et paramètres de conception clés.

1. Fonctions des composants principaux et des broches
Circuit intégré principal : RDA5807M
Le RDA5807M est un circuit intégré récepteur radio FM hautement intégré qui prend en charge la réception des émissions FM et le contrôle série I2C/SDIO . D'après le schéma, les broches principales et leurs connexions sont résumées ci-dessous :
| Nom de la broche | Fonction | Composant connecté / Réseau | Description |
|---|---|---|---|
| DÉROUTE | Sortie audio du canal droit | Sortie directe (aucun composant supplémentaire n'est visible) | Fournit un canal audio analogique droit |
| VOYOU | Sortie audio du canal gauche | Sortie directe (aucun composant supplémentaire n'est visible) | Fournit un canal audio analogique gauche |
| RCLK | broche de signal d'horloge | Aucune connexion externe explicite (synchronisation interne probable) | Synchronisation de l'horloge interne |
| VDD | Entrée d'alimentation | Réseau d'alimentation 3V3 | alimentation 3.3V DC |
| GND | Sol | Réseau mondial GND | masse commune pour l'alimentation et le signal |
| SDIO | E/S de données série | Broche 3 (signal de commande) | Communication avec le microcontrôleur pour le réglage, le contrôle du volume, etc. |
| SCLK | Horloge série | Broche 2 (signal d'horloge) | Signal d'horloge pour la communication SDIO |
| FMIN | Entrée de signal FM | Broche 5 | Reçoit le signal RF FM de l'antenne |
| X1 | Entrée de l'oscillateur à cristal | Cristal de 32.768 kHz | Fournit une horloge de référence pour un fonctionnement stable en fréquence |
2. Décomposition du module fonctionnel
Module d'alimentation 2.1
- Tension d'entrée: 3.3 V CC (régulé)
- Composants de filtrage :
- C8 (0.1 µF), C9 (0.1 µF) : Condensateurs de découplage haute fréquence entre VDD et GND, supprimant le bruit d'alimentation
- C10 (22 µF) : Condensateur électrolytique de grande capacité pour le filtrage basse fréquence et le stockage d'énergie
- C26 (0.1 µF) : Découplage supplémentaire pour améliorer encore la stabilité de l'alimentation
Ce filtrage multi-étages assure une alimentation stable et à faible bruit au circuit intégré du récepteur FM.
Module de réception du signal FM 2.2
- Entrée de signal:
- Le Broche FMIN (Broche 5) se connecte à une antenne FM externe (élément d'antenne non représenté sur le schéma)
- Reçoit les signaux de diffusion FM dans le 87-108 MHz bande
- Circuit oscillateur à cristal :
- A Cristal de 32.768 kHz (X1) fournit une horloge de référence précise
- Assure un réglage FM précis et empêche la dérive de fréquence lors de la sélection des stations.
2.3 Module de contrôle et de communication
- Interface de Communication:
- SDIO (Données série) + SCLK (horloge série)
- Une analyse profonde du cerveau Protocoles de communication série I2C ou similaires
- Utilisé pour l'interface avec un MCU externe (par exemple, un microcontrôleur).
- Résistances de rappel :
- R6 (10 kΩ) pour SDIO
- R7 (10 kΩ) pour SCLK
- Les deux sont liés à 3V3, assurant des niveaux logiques stables et une communication fiable
2.4 Module de sortie audio
- Sorties audio :
- DÉROUTE: Audio analogique du canal droit
- VOYOU: Audio analogique du canal gauche
- Ces résultats peuvent être :
- Connecté directement à casque audio
- Connecté à haut-parleurs (remarque : un externe amplificateur audio (nécessaire pour une puissance de sortie plus élevée)
2.5 Module auxiliaire de filtrage et d'adaptation
- Inductances:
- L1, L2 (100 nH) : Probablement utilisé pour l'adaptation d'impédance RF ou le filtrage d'entrée à l'étage d'entrée FM.
- Contribue à réduire la réflexion du signal et à améliorer la sensibilité de réception
- Condensateurs:
- C13 (100 pF), C14 (24 pF) : Utilisez des inducteurs pour former un réseau de filtres LC
- Supprimer les interférences haute fréquence et purifier le signal FM
- Mise à la terre:
- Plusieurs connexions GND indiquent un conception de terrain d'entente mondial
- Réduit le bruit et améliore la stabilité globale du circuit
3. Paramètres clés et caractéristiques de conception
- Tension de fonctionnement: 3.3V
- Entièrement compatible avec les microcontrôleurs courants sans conversion de niveau
- Fréquence du cristal : 32.768 kHz
- Fréquence de référence standard de l'industrie pour une synchronisation stable
- Methode de CONTROLE: Interface série SDIO + SCLK
- Routage simplifié, seulement deux lignes de contrôle nécessaires
- Conception du filtrage :
- Condensateurs de découplage de puissance multiples (0.1 µF + 22 µF)
- Filtrage LC en entrée RF pour une forte immunité au bruit
- Sortie audio:
- Audio analogique à deux canaux (ROUT / LOUT)
- Prend en charge la lecture FM stéréo
4. Scénarios d'application et suggestions d'expansion
Applications typiques
- radios FM portables
- Enceintes intelligentes avec fonction radio FM
- Systèmes de récepteurs FM contrôlés par microcontrôleur
Options d'extension
- Utilisez un antenne télescopique externe ou antenne PCB pour améliorer la sensibilité de réception
- Ajouter un amplificateur de puissance audio (par exemple, LM386) vers ROUT/LOUT pour alimenter des haut-parleurs plus grands
- Activer les fonctionnalités avancées via le contrôle du microcontrôleur :
- balayage automatique des stations
- Stockage des canaux préréglés
- Contrôle du volume numérique
5. Remarques et précautions de conception
- Stabilité de puissance :
- Assurez-vous d'une faible ondulation sur l'alimentation 3.3 V afin d'éviter les bruits parasites et une réception instable.
- Mise à la terre:
- Utilisez un point de référence au sol solide et constant.
- Évitez les différences potentielles entre la masse d'alimentation et la masse audio pour prévenir le bruit.
- Correspondance d'impédance :
- L'antenne connectée à FMIN doivent être adaptés en impédance (généralement 50Ω) pour une réception optimale
- Sélection des composants :
- Utiliser un cristal de haute précision de 32.768 kHz
- Préférez Condensateurs NP0 / C0G pour les composants RF et de synchronisation grâce à une stabilité supérieure
code de programme de circuit radio
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
//------------------------------------------------------------------------------




