Anailís ar Léaráid Sceimiteach Raidió Bunaithe ar RDA5807M

Is é seo an Léaráid Sceimiteach Chiorcaid Modúl glacadóra raidió FM tógtha timpeall an RDA5807M mar an IC lárnach. Cuireann sé i bhfeidhm go príomha Glacadh comhartha FM, aschur fuaime, agus feidhmeanna rialaithe bunúsachaTá an anailís thíos roinnte ina comhpháirteanna lárnacha, modúil fheidhmiúla, agus príomhpharaiméadair dearaidh.

Léaráid sceimiteach Raidió FM RDA5807M

1. Comhpháirteanna Croí agus Feidhmeanna Bioráin

Croí-IC: RDA5807M

An RDA5807M is IC glacadóra raidió FM comhtháite go mór é a thacaíonn le glacadh craolta FM agus Rialú sraitheach I2C / SDIOBunaithe ar an scéimreach, tá achoimre ar na bioráin eochair agus a gcuid naisc thíos:

Ainm BioráinFeidhmComhpháirt Ceangailte / LíonraTuairisc
BealachAschur fuaime ar dheisAschur díreach (gan aon chomhpháirteanna breise léirithe)Soláthraíonn sé fuaim analógach ar dheis
LOUTAschur fuaime an chainéil chléAschur díreach (gan aon chomhpháirteanna breise léirithe)Soláthraíonn sé fuaim analógach ar an gcainéal clé
RCLKBiorán comhartha cloigGan aon nasc seachtrach follasach (sioncrónú inmheánach is dócha)Sioncrónú clog inmheánach
VDDIonchur soláthair cumhachtaLíonra cumhachta 3V3Soláthar cumhachta 3.3V DC
GNDGroundLíonra GND DomhandaCumhacht choiteann agus talamh comhartha
SDIOSonraí sraitheacha I/OBiorán 3 (comhartha rialaithe)Cumarsáid le MCU le haghaidh tiúnála, rialú toirte, etc.
SCLKClog sraitheachBiorán 2 (comhartha cloig)Comhartha cloig le haghaidh cumarsáide SDIO
FMINIonchur comhartha FMPIN 5Faigheann comhartha FM RF ón antenna
X1Ionchur oscillator criostailCriostail 32.768 kHzSoláthraíonn sé clog tagartha le haghaidh oibriú minicíochta cobhsaí

2. Miondealú ar Mhodúil Fheidhmiúla

2.1 Modúl Soláthar Cumhachta

  • Voltage Ionchur: 3.3V DC (rialáilte)
  • Comhpháirteanna Scagtha:
    • C8 (0.1µF), C9 (0.1µF): Toilleoirí díchúplála ardmhinicíochta idir VDD agus GND, ag cosc ​​torainn chumhachta
    • C10 (22µF): Toilleoir leictrealaíoch mórchóir le haghaidh scagacháin ísealminicíochta agus stórála fuinnimh
    • C26 (0.1µF): Díchúpláil bhreise chun cobhsaíocht chumhachta a fheabhsú tuilleadh

Cinntíonn an scagadh ilchéime seo seachadadh cumhachta cobhsaí agus íseal-torainn chuig an IC glacadóra FM.


Modúl Glactha Comhartha FM 2.2

  • Ionchur Comhartha:
    • An Biorán FMIN (biorán 5) nascann le haeróg FM sheachtrach (ní thaispeántar eilimint an aeróige sa scéimreach)
    • Glacann comharthaí craolta FM sa 87-108 MHz banna
  • Ciorcad Oscillator Criostail:
    • A Criostal 32.768 kHz (X1) soláthraíonn sé clog tagartha cruinn
    • Cinntíonn sé tiúnáil FM beacht agus cuireann sé cosc ​​ar dhreapadh minicíochta le linn roghnú stáisiúin

2.3 Modúl Rialaithe agus Cumarsáide

  • Comhéadan Cumarsáide:
    • SDIO (Sonraí Sraitheach) + SCLK (Clog Sraitheach)
    • Ag luí leis I2C nó prótacail chumarsáide sraitheacha comhchosúla
    • Úsáidtear é chun comhéadan a dhéanamh le MCU seachtrach (m.sh., micrea-rialtóir)
  • Friotóirí Tarraingthe Suas:
    • R6 (10kΩ) le haghaidh SDIO
    • R7 (10kΩ) le haghaidh SCLK
    • Tá an dá cheann ceangailte le 3V3, ag cinntiú leibhéil loighce cobhsaí agus cumarsáid iontaofa

2.4 Modúl Aschuir Fuaime

  • Aschuir Fuaime:
    • RÚIT: Fuaim analógach cainéal deise
    • LOUT: Fuaim analógach cainéal clé
  • Is féidir na haschuir seo a bheith:
    • Ceangailte go díreach le cluasáin
    • Ceangailte le cainteoirí (nóta: seachtrach amplifier fuaime (atá ag teastáil le haghaidh aschur cumhachta níos airde)

2.5 Modúl Scagtha agus Meaitseála Cúnta

  • Ionduchtóirí:
    • L1, L2 (100 nH): Is dócha go n-úsáidtear é le haghaidh meaitseáil impedance RF nó scagadh ionchuir ag an taobh tosaigh FM
    • Cabhraíonn sé le frithchaitheamh comhartha a laghdú agus íogaireacht glactha a fheabhsú
  • toilleoirí:
    • C13 (100 pF), C14 (24 pF): Oibrigh le hionduchtóirí chun foirm a dhéanamh Líonra scagaire LC
    • Cuir bac ar chur isteach ardmhinicíochta agus íonaigh an comhartha FM
  • talamh:
    • Léiríonn il-naisc GND a dearadh comhthalamh domhanda
    • Laghdaíonn sé torann agus feabhsaíonn sé cobhsaíocht iomlán an chiorcaid

3. Príomhpharaiméadair agus Gnéithe Dearaidh

  • Voltage Oibriúcháin: 3.3V
    • Lán-chomhoiriúnach le MCUanna príomhshrutha gan athrú leibhéil
  • Minicíocht Criostail: 32.768 kHz
    • Minicíocht tagartha caighdeánach tionscail le haghaidh uainiú cobhsaí
  • Modh Rialaithe: Comhéadan sraitheach SDIO + SCLK
    • Ródú simplithe, níl ach dhá líne rialaithe ag teastáil
  • Dearadh Scagtha:
    • Il-toilleoirí díchúplála cumhachta (0.1µF + 22µF)
    • Scagadh LC ar thaobh tosaigh RF le haghaidh díolúine láidir torainn
  • Aschur Fuaime:
    • Fuaim analógach dé-chainéil (ROUT / LOUT)
    • Tacaíonn sé le hathsheinm steirió FM

4. Cásanna Iarratais agus Moltaí Leathnaithe

Feidhmchláir tipiciúla

  • Raidióanna FM iniompartha
  • Cainteoirí cliste le feidhmiúlacht raidió FM
  • Córais glacadóra FM rialaithe ag MCU

Roghanna Leathnaithe

  • Úsáid an antenna teileascópach seachtrach nó antenna PCB chun íogaireacht fáiltithe a fheabhsú
  • Cuir an amplifier cumhachta fuaime (m.sh., LM386) go ROUT/LOUT chun cainteoirí níos mó a thiomáint
  • Cumasaigh gnéithe ardleibhéil trí rialú MCU:
    • Scanadh stáisiúin uathoibríoch
    • Stóráil chainéil réamhshocraithe
    • Rialú toirte digiteach

5. Nótaí Dearaidh agus Réamhchúraimí

  • Cobhsaíocht Cumhachta:
    • Cinntigh go bhfuil tonnchrith íseal ar an soláthar 3.3V chun torann fuaime nó fáiltiú éagobhsaí a sheachaint
  • talamh:
    • Bain úsáid as tagairt talún soladach agus comhsheasmhach
    • Seachain difríochtaí féideartha idir talamh cumhachta agus talamh fuaime chun torann a chosc
  • Meaitseáil Impedance:
    • An t-antenna atá ceangailte leis FMIN ba chóir go mbeadh sé meaitseáilte le bacainní (de ghnáth 50Ω) le haghaidh fáiltithe is fearr
  • Roghnú Comhpháirte:
    • Úsáid criostal ardchruinnis 32.768 kHz
    • Is fearr Toilleoirí NP0 / C0G le haghaidh comhpháirteanna RF agus uainiúcháin mar gheall ar chobhsaíocht níos fearr

Cód cláir ciorcaid raidió

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
//------------------------------------------------------------------------------

Leave a Comment

Nach mbeidh do sheoladh r-phoist a fhoilsiú. Réimsí riachtanacha atá marcáilte *