Aquest diagrama esquemàtic de circuit és un Mòdul receptor de ràdio FM construït al voltant de RDA5807M com a circuit integrat principal. Implementa principalment Recepció de senyal FM, sortida d'àudio i funcions de control bàsiquesL'anàlisi següent es divideix en components bàsics, mòduls funcionals i paràmetres clau de disseny.

1. Component principal i funcions dels pins
Circuit integrat principal: RDA5807M
La RDA5807M és un receptor de ràdio FM altament integrat que admet la recepció d'emissions FM i Control sèrie I2C / SDIOSegons l'esquema, els pins clau i les seves connexions es resumeixen a continuació:
| Nom del pin | function | Component connectat / Xarxa | Descripció |
|---|---|---|---|
| RUTA | Sortida d'àudio del canal dret | Sortida directa (no es mostren components addicionals) | Proporciona àudio analògic de canal dret |
| LOUT | Sortida d'àudio del canal esquerre | Sortida directa (no es mostren components addicionals) | Proporciona àudio analògic de canal esquerre |
| RCLK | Pin de senyal de rellotge | Cap connexió externa explícita (probablement sincronització interna) | Sincronització de rellotge intern |
| VDD | Entrada d’alimentació | Xarxa d'alimentació 3V3 | Alimentació CC 3.3V |
| GND | Grounds | Xarxa global de GND | Potència comuna i terra de senyal |
| SDIO | E/S de dades en sèrie | Pin 3 (senyal de control) | Comunicació amb MCU per a sintonització, control de volum, etc. |
| SCLK | Rellotge de sèrie | Pin 2 (senyal de rellotge) | Senyal de rellotge per a la comunicació SDIO |
| FMIN | Entrada de senyal FM | Pin 5 | Rep el senyal FM RF de l'antena |
| X1 | Entrada d'oscil·lador de cristall | Cristall de 32.768 kHz | Proporciona un rellotge de referència per a un funcionament de freqüència estable |
2. Desglossament del mòdul funcional
2.1 Mòdul d'alimentació
- Voltatge d'entrada: 3.3V CC (regulat)
- Components de filtratge:
- C8 (0.1 µF), C9 (0.1 µF): Condensadors de desacoblament d'alta freqüència entre VDD i GND, que suprimeixen el soroll de potència
- C10 (22 µF): Condensador electrolític a granel per a filtratge de baixa freqüència i emmagatzematge d'energia
- C26 (0.1 µF): Desacoblament addicional per millorar encara més l'estabilitat de l'energia
Aquest filtratge multietapa garanteix subministrament de potència estable i de baix soroll al circuit integrat del receptor FM.
Mòdul de recepció de senyal FM 2.2
- Entrada de senyal:
- La Pin FMIN (Pin 5) es connecta a una antena FM externa (l'element de l'antena no es mostra a l'esquema)
- Rep senyals d'emissió FM a la 87-108 MHz banda
- Circuit d'oscil·lador de cristall:
- A Cristall de 32.768 kHz (X1) proporciona un rellotge de referència precís
- Garanteix una sintonització FM precisa i evita la deriva de freqüència durant la selecció d'emissores
2.3 Mòdul de control i comunicació
- Interfície de comunicació:
- SDIO (dades en sèrie) + SCLK (Rellotge en sèrie)
- Compatible amb I2C o protocols de comunicació sèrie similars
- S'utilitza per interactuar amb un MCU extern (per exemple, un microcontrolador)
- Resistències de tracció:
- R6 (10kΩ) per a SDIO
- R7 (10kΩ) per SCLK
- Tots dos estan connectats a 3V3, garantint nivells lògics estables i una comunicació fiable
2.4 Mòdul de sortida d'àudio
- Sortides d'àudio:
- DERROTA: Àudio analògic de canal dret
- LOUT: Àudio analògic de canal esquerre
- Aquestes sortides poden ser:
- Connectat directament a auriculars
- Connectat a altaveus (nota: una informació externa amplificador d'àudio es requereix per a una potència de sortida més alta)
2.5 Mòdul auxiliar de filtratge i coincidència
- Inductors:
- L1, L2 (100 nH): Probablement s'utilitza per a l'adaptació d'impedància de RF o el filtratge d'entrada a l'extrem frontal d'FM.
- Ajuda a reduir la reflexió del senyal i a millorar la sensibilitat de recepció
- Condensadors:
- C13 (100 pF), C14 (24 pF): Treballa amb inductors per formar un Xarxa de filtres LC
- Suprimeix les interferències d'alta freqüència i purifica el senyal FM
- A terra:
- Diverses connexions GND indiquen un disseny global comú
- Redueix el soroll i millora l'estabilitat general del circuit
3. Paràmetres clau i característiques de disseny
- Voltatge de funcionament: 3.3V
- Totalment compatible amb els MCU convencionals sense canvi de nivell
- Freqüència del cristall: 32.768 kHz
- Freqüència de referència estàndard de la indústria per a una sincronització estable
- Mètode de control: Interfície sèrie SDIO + SCLK
- Enrutament simplificat, només calen dues línies de control
- Disseny de filtratge:
- Condensadors de desacoblament de potència múltiple (0.1µF + 22µF)
- Filtratge LC a la part frontal de RF per a una forta immunitat al soroll
- Sortida De Àudio:
- Àudio analògic de dos canals (ROUT / LOUT)
- Admet la reproducció d'FM estèreo
4. Escenaris d'aplicació i suggeriments d'expansió
aplicacions típiques
- Ràdios FM portàtils
- Altaveus intel·ligents amb funció de ràdio FM
- Sistemes receptors FM controlats per MCU
Opcions d'expansió
- Utilitzeu un antena telescòpica externa o antena PCB per millorar la sensibilitat de recepció
- Afegeix un amplificador de potència d'àudio (per exemple, LM386) a ROUT/LOUT per controlar altaveus més grans
- Habilita les funcions avançades mitjançant el control de l'MCU:
- Escaneig automàtic d'estacions
- Emmagatzematge de canals predefinits
- control de volum digital
5. Notes de disseny i precaucions
- Estabilitat de potència:
- Assegureu-vos que la font d'alimentació de 3.3 V tingui una ondulació baixa per evitar soroll d'àudio o una recepció inestable.
- A terra:
- Utilitzeu una referència terrestre sòlida i consistent
- Eviteu les diferències de potencial entre la presa de corrent i la presa de corrent per evitar sorolls.
- Coincidència d'impedància:
- L'antena connectada a FMIN hauria de ser adaptat per impedància (normalment 50Ω) per a una recepció òptima
- Selecció de components:
- Utilitzar cristall d'alta precisió de 32.768 kHz
- Preferir Condensadors NP0 / C0G per a components de RF i relacionats amb el temps a causa d'una estabilitat superior
Codi de programa del circuit de ràdio
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
//------------------------------------------------------------------------------




