Uchambuzi wa Mchoro wa Kielelezo cha Redio Kulingana na RDA5807M

Mchoro huu wa Kielelezo cha Mzunguko ni Moduli ya kipokezi cha redio ya FM kujengwa kuzunguka RDA5807M kama IC ya msingi. Inatekeleza zaidi Mapokezi ya mawimbi ya FM, utoaji wa sauti, na kazi za msingi za udhibitiUchambuzi ulio hapa chini umegawanywa katika vipengele vya msingi, moduli za utendaji kazi, na vigezo muhimu vya muundo.

Mchoro wa kielelezo wa Redio ya FM RDA5807M

1. Vipengele vya Kiini na Vitendakazi vya Pin

Kiini cha IC: RDA5807M

The RDA5807M ni kifaa cha kupokea redio cha FM kilichounganishwa sana ambacho kinaunga mkono mapokezi ya matangazo ya FM na Kidhibiti cha mfululizo cha I2C / SDIOKulingana na mchoro, pini muhimu na miunganisho yake vimefupishwa hapa chini:

Jina la PinikaziKipengele Kilichounganishwa / MtandaoMaelezo ya Kiufundi
NJIATowe la sauti la njia ya kuliaMatokeo ya moja kwa moja (hakuna vipengele vya ziada vinavyoonyeshwa)Hutoa sauti ya analogi ya njia ya kulia
LOUTToa sauti ya chaneli ya kushotoMatokeo ya moja kwa moja (hakuna vipengele vya ziada vinavyoonyeshwa)Hutoa sauti ya analogi ya njia ya kushoto
RCLKPini ya mawimbi ya saaHakuna muunganisho dhahiri wa nje (huenda usawazishaji wa ndani)Usawazishaji wa saa ya ndani
VDDPembejeo ya utoaji wa nguvuWavu wa umeme wa 3V3Usambazaji wa nguvu wa 3.3V DC
GNDGroundWavu wa GND wa kimataifaNguvu ya kawaida na ardhi ya ishara
SDIOI/O ya data ya mfululizoPini 3 (ishara ya udhibiti)Mawasiliano na MCU kwa ajili ya kurekebisha, kudhibiti sauti, n.k.
SCLKSaa ya mfululizoPini 2 (ishara ya saa)Ishara ya saa kwa mawasiliano ya SDIO
FMINIngizo la mawimbi ya FMPini 5Hupokea mawimbi ya FM RF kutoka kwa antena
X1Ingizo la oscillator ya fuweleFuwele ya 32.768 kHzHutoa saa ya marejeleo kwa ajili ya uendeshaji thabiti wa masafa

2. Uchanganuzi wa Moduli Utendaji

2.1 Moduli ya Ugavi wa Umeme

  • Pembejeo Voltage: 3.3V DC (iliyodhibitiwa)
  • Vipengele vya Kuchuja:
    • C8 (0.1µF), C9 (0.1µF): Vipokezi vya mtengano wa masafa ya juu kati ya VDD na GND, vinavyokandamiza kelele ya nguvu
    • C10 (22µF): Kifaa cha kuchuja kwa wingi kwa masafa ya chini na uhifadhi wa nishati
    • C26 (0.1µF): Utenganishaji wa ziada ili kuboresha zaidi uthabiti wa nguvu

Uchujaji huu wa hatua nyingi unahakikisha uwasilishaji wa nguvu thabiti na wa kelele ya chini kwa kipokezi cha FM IC.


Moduli ya Mapokezi ya Mawimbi ya FM ya 2.2

  • Ingizo la Ishara:
    • The Pini ya FMIN (Pini 5) huunganisha kwenye antena ya nje ya FM (kipengele cha antena hakijaonyeshwa kwenye mchoro)
    • Hupokea mawimbi ya matangazo ya FM katika 87-108 MHz bendi
  • Mzunguko wa Oscillator ya Kioo:
    • A Fuwele ya 32.768 kHz (X1) hutoa saa sahihi ya marejeleo
    • Huhakikisha urekebishaji sahihi wa FM na huzuia kuteleza kwa masafa wakati wa uteuzi wa kituo

2.3 Moduli ya Udhibiti na Mawasiliano

  • Muunganisho wa Mawasiliano:
    • SDIO (Data ya Ufuatiliaji) + SCLK (Saa ya Mfululizo)
    • Sambamba na I2C au itifaki zinazofanana za mawasiliano ya mfululizo
    • Hutumika kuunganishwa na MCU ya nje (km, kidhibiti kidogo)
  • Vipingamizi vya Kuvuta Juu:
    • R6 (10kΩ) kwa SDIO
    • R7 (10kΩ) kwa SCLK
    • Zote mbili zimeunganishwa na 3V3, kuhakikisha viwango thabiti vya mantiki na mawasiliano ya kuaminika

2.4 Moduli ya Kutoa Sauti

  • Matokeo ya Sauti:
    • NJIA: Sauti ya analogi ya njia ya kulia
    • LOUT: Sauti ya analogi ya njia ya kushoto
  • Matokeo haya yanaweza kuwa:
    • Imeunganishwa moja kwa moja na headphones
    • Imeunganishwa na wasemaji (kumbuka: sehemu ya nje audio amplifier inahitajika kwa utoaji wa nguvu nyingi zaidi)

2.5 Moduli Saidizi ya Kuchuja na Kulinganisha

  • Inductors:
    • L1, L2 (100 nH): Huenda ikatumika kwa ajili ya kulinganisha impedansi ya RF au kuchuja ingizo kwenye sehemu ya mbele ya FM
    • Husaidia kupunguza uakisi wa mawimbi na kuboresha usikivu wa mapokezi
  • Capacitors:
    • C13 (100 pF), C14 (24 pF): Fanya kazi na waendeshaji ili kuunda Mtandao wa kichujio cha LC
    • Zuia mwingiliano wa masafa ya juu na usafishe mawimbi ya FM
  • Kupigia:
    • Miunganisho mingi ya GND inaonyesha muundo wa kimataifa wa pamoja
    • Hupunguza kelele na kuboresha utulivu wa mzunguko kwa ujumla

3. Vigezo Muhimu na Sifa za Ubunifu

  • Uendeshaji Voltage: 3.3V
    • Inaendana kikamilifu na MCU za kawaida bila kuhama kwa kiwango
  • Masafa ya Fuwele: 32.768 kHz
    • Masafa ya marejeleo ya kiwango cha tasnia kwa muda thabiti
  • Njia ya Kudhibiti: Kiolesura cha mfululizo cha SDIO + SCLK
    • Uelekezaji rahisi, mistari miwili tu ya udhibiti inahitajika
  • Ubunifu wa Kuchuja:
    • Vipokezi vingi vya kutenganisha kwa nguvu (0.1µF + 22µF)
    • Kuchuja kwa LC kwenye sehemu ya mbele ya RF kwa ajili ya kinga kali ya kelele
  • Vifaa vya Matokeo:
    • Sauti ya analogi ya njia mbili (ROUT / LOUT)
    • Inasaidia uchezaji wa stereo FM

4. Matukio ya Matumizi na Mapendekezo ya Upanuzi

Maombi ya Kawaida

  • Redio za FM zinazobebeka
  • Spika mahiri zenye utendaji wa redio ya FM
  • Mifumo ya kupokea FM inayodhibitiwa na MCU

Chaguzi za Upanuzi

  • Tumia antena ya nje ya teleskopu au antena ya PCB kuboresha usikivu wa mapokezi
  • Ongeza amplifier ya nguvu ya sauti (km, LM386) hadi ROUT/LOUT kwa ajili ya kuendesha spika kubwa
  • Washa vipengele vya hali ya juu kupitia udhibiti wa MCU:
    • Uchanganuzi wa kituo kiotomatiki
    • Hifadhi ya kituo iliyowekwa mapema
    • Udhibiti wa sauti ya dijitali

5. Maelezo na Tahadhari za Ubunifu

  • Uthabiti wa Nguvu:
    • Hakikisha wimbi dogo kwenye usambazaji wa 3.3V ili kuepuka kelele ya sauti au mapokezi yasiyo thabiti
  • Kupigia:
    • Tumia marejeleo thabiti na thabiti ya msingi
    • Epuka tofauti zinazowezekana kati ya ardhi ya umeme na ardhi ya sauti ili kuzuia kelele
  • Ulinganisho wa Impedans:
    • Antena imeunganishwa na FMIN inapaswa kuendana na impedansi (kawaida 50Ω) kwa ajili ya mapokezi bora
  • Uteuzi wa Sehemu:
    • Matumizi ya fuwele ya usahihi wa juu ya 32.768 kHz
    • Pendelea Vipokezi vya NP0 / C0G kwa RF na vipengele vinavyohusiana na muda kutokana na uthabiti bora

Msimbo wa programu ya saketi ya redio

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

Kuondoka maoni

Anwani yako ya barua si kuchapishwa. Mashamba required ni alama *