Questo schema elettrico del circuito è un Modulo ricevitore radio FM costruito attorno al RDA5807M come il circuito integrato principale. Implementa principalmente Ricezione del segnale FM, uscita audio e funzioni di controllo di baseL'analisi seguente è suddivisa in componenti principali, moduli funzionali e parametri di progettazione chiave.

1. Funzioni dei componenti principali e dei pin
Circuito integrato principale: RDA5807M
Migliori RDA5807M è un ricevitore radio FM altamente integrato che supporta la ricezione di trasmissioni FM e Controllo seriale I2C / SDIOSulla base dello schema, i pin chiave e le relative connessioni sono riepilogati di seguito:
| Nome pin | Funzione | Componente connesso / Rete | Descrizione |
|---|---|---|---|
| ROTTA | Uscita audio del canale destro | Uscita diretta (nessun componente aggiuntivo mostrato) | Fornisce audio analogico del canale destro |
| ZOCCOLATO | Uscita audio del canale sinistro | Uscita diretta (nessun componente aggiuntivo mostrato) | Fornisce audio analogico del canale sinistro |
| RCLK | Perno del segnale di clock | Nessuna connessione esterna esplicita (probabile sincronizzazione interna) | Sincronizzazione dell'orologio interno |
| VDD | Ingresso alimentazione | Rete di alimentazione 3V3 | 3.3V Alimentatore CC |
| GND | Terra | Rete GND globale | Massa comune di alimentazione e segnale |
| SDIO | I/O dati seriali | Pin 3 (segnale di controllo) | Comunicazione con MCU per la sintonizzazione, il controllo del volume, ecc. |
| SCLC | Orologio seriale | Pin 2 (segnale di clock) | Segnale di clock per la comunicazione SDIO |
| FMIN | Ingresso segnale FM | Perno 5 | Riceve il segnale FM RF dall'antenna |
| X1 | Ingresso dell'oscillatore a cristallo | Cristallo da 32.768 kHz | Fornisce un clock di riferimento per un funzionamento a frequenza stabile |
2. Scomposizione del modulo funzionale
Modulo di alimentazione 2.1
- Tensione di ingresso: 3.3 V CC (regolato)
- Componenti di filtraggio:
- C8 (0.1 µF), C9 (0.1 µF): Condensatori di disaccoppiamento ad alta frequenza tra VDD e GND, che sopprimono il rumore di potenza
- C10 (22 µF): Condensatore elettrolitico sfuso per filtraggio a bassa frequenza e accumulo di energia
- C26 (0.1 µF): Disaccoppiamento aggiuntivo per migliorare ulteriormente la stabilità di potenza
Questo filtraggio multistadio garantisce erogazione di potenza stabile e silenziosa al circuito integrato del ricevitore FM.
2.2 Modulo di ricezione del segnale FM
- Ingresso segnale:
- Migliori Pin FMIN (Pin 5) si collega a un'antenna FM esterna (elemento antenna non mostrato nello schema)
- Riceve segnali di trasmissione FM in 87-108 MHz gruppo musicale
- Circuito dell'oscillatore a cristallo:
- A Cristallo da 32.768 kHz (X1) fornisce un orologio di riferimento accurato
- Assicura una sintonizzazione FM precisa e previene la deriva della frequenza durante la selezione della stazione
2.3 Modulo di controllo e comunicazione
- Interfaccia di comunicazione:
- SDIO (dati seriali) + SCLK (Orologio seriale)
- Compatibile con Protocolli di comunicazione seriale I2C o simili
- Utilizzato per interfacciarsi con un MCU esterno (ad esempio, un microcontrollore)
- Resistenze di pull-up:
- R6 (10 kΩ) per SDIO
- R7 (10 kΩ) per SCLK
- Entrambi sono collegati a 3V3, garantendo livelli logici stabili e comunicazioni affidabili
2.4 Modulo di uscita audio
- Uscite audio:
- ROTTA: Audio analogico del canale destro
- ZUPPA: Audio analogico del canale sinistro
- Questi output possono essere:
- Collegato direttamente a cuffia
- Collegato a Altoparlanti (nota: un esterno amplificatore audio è necessario per una maggiore potenza in uscita)
2.5 Modulo di filtraggio e adattamento ausiliario
- Induttori:
- L1, L2 (100 nH): Probabilmente utilizzato per l'adattamento dell'impedenza RF o per il filtraggio dell'ingresso nel front-end FM
- Aiuta a ridurre la riflessione del segnale e a migliorare la sensibilità di ricezione
- Condensatori:
- C13 (100 pF), C14 (24 pF): Lavorare con gli induttori per formare un Rete di filtri LC
- Sopprime le interferenze ad alta frequenza e purifica il segnale FM
- Messa a terra:
- Più connessioni GND indicano un progettazione di un terreno comune globale
- Riduce il rumore e migliora la stabilità complessiva del circuito
3. Parametri chiave e caratteristiche di progettazione
- Tensione di funzionamento: 3.3V
- Completamente compatibile con le MCU tradizionali senza spostamento di livello
- Frequenza del cristallo: 32.768 kHz
- Frequenza di riferimento standard del settore per una temporizzazione stabile
- Metodo di controllo: Interfaccia seriale SDIO + SCLK
- Instradamento semplificato, sono necessarie solo due linee di controllo
- Progettazione del filtraggio:
- Condensatori di disaccoppiamento di potenza multipli (0.1µF + 22µF)
- Filtraggio LC sul front-end RF per una forte immunità al rumore
- Uscita audio:
- Audio analogico a doppio canale (ROUT / LOUT)
- Supporta la riproduzione FM stereo
4. Scenari applicativi e suggerimenti di espansione
Applicazioni tipiche
- Radio FM portatili
- Altoparlanti intelligenti con funzionalità radio FM
- Sistemi di ricezione FM controllati da MCU
Opzioni di espansione
- Usa un antenna telescopica esterna o antenna PCB per migliorare la sensibilità di ricezione
- Aggiungi un amplificatore di potenza audio (ad esempio, LM386) a ROUT/LOUT per pilotare altoparlanti più grandi
- Abilita funzionalità avanzate tramite il controllo MCU:
- Scansione automatica delle stazioni
- Memorizzazione dei canali preimpostati
- Controllo digitale del volume
5. Note di progettazione e precauzioni
- Stabilità di potenza:
- Assicurare un basso ripple sull'alimentazione a 3.3 V per evitare rumore audio o ricezione instabile
- Messa a terra:
- Utilizzare un riferimento di terra solido e coerente
- Evitare differenze di potenziale tra la massa di alimentazione e la massa audio per prevenire il rumore
- Impedenza di corrispondenza:
- L'antenna collegata a FMIN dovrebbe essere adattato all'impedenza (tipicamente 50Ω) per una ricezione ottimale
- Selezione dei componenti:
- Utilizzare cristallo ad alta precisione da 32.768 kHz
- Preferire Condensatori NP0 / C0G per componenti RF e relativi alla temporizzazione grazie alla stabilità superiore
Codice di programmazione del circuito 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
//------------------------------------------------------------------------------




