Analisis Diagram Skematik Radio Dumasar kana RDA5807M

Diagram Skematik sirkuit ieu mangrupikeun Modul panarima radio FM diwangun sabudeureun éta RDA5807M salaku IC inti. Ieu utamina ngalaksanakeun Panarimaan sinyal FM, kaluaran audio, sareng fungsi kontrol dasarAnalisis di handap ieu dibagi kana komponén inti, modul fungsional, sareng parameter desain konci.

Diagram skematis Radio FM RDA5807M

1. Komponen Inti sareng Fungsi Pin

IC Inti: RDA5807M

nu RDA5807M nyaéta IC panarima radio FM anu terintegrasi pisan anu ngadukung panarimaan siaran FM sareng Kontrol serial I2C / SDIODumasar kana skéma, pin konci sareng sambunganna diringkeskeun di handap ieu:

Ngaran PinfungsiKomponen / Jaringan anu Terhubunggambaran
ROUTKaluaran audio saluran katuhuKaluaran langsung (teu aya komponén tambahan anu dipidangkeun)Nyayogikeun audio analog saluran katuhu
LOUTKaluaran audio saluran kéncaKaluaran langsung (teu aya komponén tambahan anu dipidangkeun)Nyayogikeun audio analog saluran kénca
RCLKPin sinyal jamTeu aya sambungan éksternal anu jelas (kamungkinan sinkronisasi internal)Sinkronisasi jam internal
VDDinput catu dayaJaring kakuatan 3V3Pasokan kakuatan 3.3V DC
GNDtanahNet GND GlobalDaya umum sareng sinyal taneuh
SDIOI/O data serialPin 3 (sinyal kontrol)Komunikasi sareng MCU pikeun nyetel, ngontrol volume, jsb.
SCLKJam sérialPin 2 (sinyal jam)Sinyal jam pikeun komunikasi SDIO
FMINInput sinyal FMpin 5Narima sinyal FM RF ti anteneu
X1Input osilator kristalKristal 32.768 kHzNyayogikeun jam rujukan pikeun operasi frékuénsi anu stabil

2. Rincian Modul Fungsional

2.1 Power Supply Module

  • Input tegangan: 3.3V DC (diatur)
  • Komponen Panyaring:
    • C8 (0.1µF), C9 (0.1µF): Kapasitor decoupling frékuénsi luhur antara VDD sareng GND, ngurangan noise daya
    • C10 (22µF): Kapasitor éléktrolitik curah pikeun panyaringan frékuénsi rendah sareng panyimpenan énergi
    • C26 (0.1µF): Decoupling tambahan pikeun ningkatkeun stabilitas daya

Panyaringan multi-tahap ieu mastikeun pangiriman daya anu stabil sareng rendah noise ka IC panarima FM.


Modul Panarimaan Sinyal 2.2 FM

  • Masukan Sinyal:
    • nu Pin FMIN (Pin 5) nyambung ka anteneu FM éksternal (élémen anteneu teu dipidangkeun dina skéma)
    • Narima sinyal siaran FM dina 87-108 MHz pita
  • Sirkuit Osilator Kristal:
    • A Kristal 32.768 kHz (X1) nyadiakeun jam rujukan anu akurat
    • Mastikeun tuning FM anu tepat sareng nyegah parobahan frékuénsi nalika milih stasiun

2.3 Modul Kontrol sareng Komunikasi

  • Komunikasi Interface:
    • SDIO (Data Sérial) + SCLK (Jam Sérial)
    • cocog sareng I2C atanapi protokol komunikasi serial anu sami
    • Dianggo pikeun berinteraksi sareng MCU éksternal (contona, mikrokontroler)
  • Resistor Pull-up:
    • R6 (10kΩ) kanggo SDIO
    • R7 (10kΩ) kanggo SCLK
    • Duanana disambungkeun ka 3V3, mastikeun tingkat logika anu stabil sareng komunikasi anu tiasa dipercaya

2.4 Modul Kaluaran Audio

  • Kaluaran Audio:
    • RUTE: Audio analog saluran katuhu
    • LOUT: Audio analog saluran kénca
  • Kaluaran ieu tiasa:
    • Dihubungkeun langsung ka headphone
    • Dihubungkeun ka speaker (catetan: éksternal panguat audio diperyogikeun pikeun kaluaran daya anu langkung luhur)

2.5 Modul Panyaringan sareng Pencocokan Bantu

  • Induktor:
    • L1, L2 (100 nH): Kamungkinan dianggo pikeun cocog impedansi RF atanapi panyaringan input di tungtung hareup FM
    • Ngabantosan ngirangan pantulan sinyal sareng ningkatkeun sensitivitas panarimaan
  • Kapasitor:
    • C13 (100 pF), C14 (24 pF): Gawé bareng jeung induktor pikeun ngabentuk hiji Jaringan filter LC
    • Nyegah gangguan frékuénsi luhur sareng ngamurnikeun sinyal FM
  • Grounding:
    • Sababaraha sambungan GND nunjukkeun hiji desain landasan umum global
    • Ngurangan noise sareng ningkatkeun stabilitas sirkuit sacara umum

3. Parameter Kunci sareng Fitur Desain

  • Tegangan operasi: 3.3V
    • Cocog pisan sareng MCU mainstream tanpa ngarobih tingkat
  • Frékuénsi Kristal: 32.768 kHz
    • Frékuénsi rujukan standar industri pikeun timing anu stabil
  • Métode Kontrol: Antarbeungeut sérial SDIO + SCLK
    • Routing anu disederhanakeun, ngan ukur dua jalur kontrol anu diperyogikeun
  • Desain Panyaringan:
    • Kapasitor pamisah daya sababaraha (0.1µF + 22µF)
    • Panyaringan LC dina ujung hareup RF pikeun kekebalan noise anu kuat
  • Kaluaran audio:
    • Audio analog dua saluran (ROUT / LOUT)
    • Ngarojong pamuteran FM stereo

4. Skenario Aplikasi sareng Saran Ékspansi

Aplikasi has

  • Radio FM portabel
  • Spiker pinter kalayan fungsi radio FM
  • Sistem panarima FM anu dikontrol ku MCU

ékspansi Options

  • Anggo hiji anteneu teleskopik éksternal atanapi anteneu PCB pikeun ningkatkeun sensitivitas panarimaan
  • Tambihkeun hiji amplifier daya audio (contona, LM386) ka ROUT/LOUT pikeun ngajalankeun speaker anu langkung ageung
  • Aktipkeun fitur canggih via kontrol MCU:
    • Pamindaian stasiun otomatis
    • Panyimpenan saluran anu tos disetel
    • Kontrol volume digital

5. Catetan Desain sareng Pancegahan

  • Stabilitas kakuatan:
    • Pastikeun riak anu handap dina suplai 3.3V pikeun nyingkahan gangguan audio atanapi panarimaan anu teu stabil
  • Grounding:
    • Anggo rujukan taneuh anu padet sareng konsisten
    • Hindarkeun béda poténsial antara taneuh listrik sareng taneuh audio pikeun nyegah noise
  • Impedansi cocog:
    • Antena anu disambungkeun ka FMIN kedah cocog sareng impedansi (biasana 50Ω) pikeun panarimaan anu optimal
  • Pilihan komponén:
    • ngagunakeun kristal 32.768 kHz akurasi luhur
    • Langkung resep Kapasitor NP0 / C0G pikeun RF sareng komponén anu aya hubunganana sareng timing kusabab stabilitas anu unggul

Kode program sirkuit 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
//------------------------------------------------------------------------------

Leave a Comment

Email alamat anjeun teu bakal dipedar. widang dibutuhkeun nu ditandaan *