Iyi circuit Schematic Diagram imodule yekugamuchira radio yeFM yakavakirwa paRDA5807M secore IC. Inonyanya kushandisa FM signal reception, audio output, uye basic control functions . Ongororo iri pazasi yakakamurwa kuita core components, functional modules, uye key design parameters.

1. Chikamu Chepakati uye Mabasa ePin
Core IC: RDA5807M
RDA5807M iradio receiver yeFM yakabatana zvikuru inotsigira FM broadcast reception uye I2C / SDIO serial control . Zvichienderana nechirongwa, ma key pins neconnections dzawo zvakapfupikiswa pazasi:
| Pin Zita | basa | Chikamu Chakabatana / Net | tsananguro |
|---|---|---|---|
| NZIRA | Kubuda kweodhiyo yechiteshi chekurudyi | Kubuda zvakananga (hapana zvimwe zvikamu zvinoratidzwa) | Inopa odhiyo yeanalog yechiteshi chekurudyi |
| LOUT | Odhiyo inoburitswa kuruboshwe | Kubuda zvakananga (hapana zvimwe zvikamu zvinoratidzwa) | Inopa odhiyo yeanalog yekuruboshwe |
| RCLK | Pini yechiratidzo chewachi | Hapana kubatana kwekunze kwakajeka (zvichida kuwiriraniswa kwemukati) | Kuenderana kwewachi yemukati |
| VDD | Power supply input | 3V3 mambure emagetsi | 3.3V DC magetsi |
| GND | Ground | GND net yepasi rose | Simba rakajairika uye pasi pechiratidzo |
| SDIO | Ruzivo rweSerial I/O | Pin 3 (chiratidzo chekudzora) | Kutaurirana neMCU pakugadzirisa, kudzora vhoriyamu, nezvimwewo. |
| SCLK | Wachi yeserial | Pin 2 (chiratidzo chewachi) | Chiratidzo chewachi chekutaurirana kweSDIO |
| FMIN | Kupinza kwechiratidzo cheFM | Pini 5 | Inogamuchira chiratidzo cheFM RF kubva kuantenna |
| X1 | Kupinza kwekristaro | 32.768 kHz kristaro | Inopa wachi yekutarisa kuti ishande zvakanaka pakufamba kwenguva |
2. Kupatsanurwa kweMamodule Anoshanda
2.1 Power Supply Module
- Input Voltage: 3.3V DC (yakarongedzwa)
- Sefa Zvikamu:
- C8 (0.1µF), C9 (0.1µF): Ma capacitor anoparadzanisa ma frequency akawanda pakati peVDD neGND, achideredza ruzha rwesimba
- C10 (22µF): Capacitor yemagetsi yakawanda yekusefa-frequency yakaderera uye yekuchengetedza simba
- C26 (0.1µF): Kuwedzera kupatsanurwa kwemagetsi kuti kuwedzere kugadzikana kwemagetsi
Kusefa uku kwezvikamu zvakawanda kunovimbisa kuti simba remagetsi rinotumirwa kuFM receiver IC rakasimba uye risina ruzha rwakanyanya .
2.2 FM Signal Reception Module
- Signal Inzwa Zvinotaurwa:
- The Pini yeFMIN (Pin 5) inobatanidza kune antenna yekunze yeFM (chinhu che antenna hachiratidzirwe muchirongwa)
- Inogamuchira masaini eredhiyo yeFM mu 87-108 MHz Band
- Dunhu reCrystal Oscillator:
- A 32.768 kHz kristaro (X1) inopa wachi chaiyo yekutarisa
- Inovimbisa kugadziriswa kweFM nemazvo uye inodzivirira kutenderera kwema frequency panguva yekusarudza chiteshi
2.3 Module yeKudzora neKutaurirana
- Mutauro wekukurukurirana:
- SDIO (Data reSerial) + SCLK (Wachi yeSerial)
- kunoenderana I2C kana mamwe mapuroteni ekutaurirana akafanana
- Inoshandiswa kubatanidza neMCU yekunze (semuenzaniso, microcontroller)
- Zvinodzivirira Kudhonza:
- R6 (10kΩ) yeSDIO
- R7 (10kΩ) yeSCLK
- Ose akabatana ne 3V3, kuve nechokwadi chekuti mazinga ekufunga akasimba uye kutaurirana kwakavimbika
2.4 Module Inobuda Munzwi
- Audio Outputs:
- NZIRA: Odhiyo yeanalog yechiteshi chekurudyi
- ZVINHU ZVAKANYANYA: Odhiyo yeanalog yekuruboshwe
- Zvinobuda izvi zvinogona kuva:
- Yakabatana zvakananga ku pamahedhifoni
- Yakabatanidzwa ne vakurukuri (cherechedza: chinhu chekunze amplifier yeaudio inodiwa kuti simba ribude rakawanda)
2.5 Module Yekubatsira Yekusefa uye Kufananidza
- Inductors:
- L1, L2 (100 nH): Zvingangoshandiswa pakuenzanisa RF impedance kana kusefa kwekuisa paFM front end
- Inobatsira kuderedza kuratidzwa kwechiratidzo uye kuvandudza kunzwisiswa kwekugamuchira
- Capacitors:
- C13 (100 pF), C14 (24 pF): Shanda nevainductors kuti ugadzire LC firita network
- Dzivisa kupindira kwe high-frequency uye chenesa FM signal
- Grounding:
- Kubatana kwakawanda kweGND kunoratidza a dhizaini yepasi rose yenzvimbo yakabatana
- Inoderedza ruzha uye inovandudza kugadzikana kwese kwese kwedunhu
3. Zvikamu Zvikuru uye Zvimiro zveDhizaini
- Operating Voltage: 3.3V
- Inoshanda zvizere neMCUs huru pasina kuchinja nhanho
- Kuwanda kweKristaro: 32.768 kHz
- Maitikiro enguva yakatarwa muindasitiri kuti nguva igare yakagadzikana
- Kudzora Maitiro: SDIO + SCLK serial interface
- Kurongeka kuri nyore, mitsetse miviri chete ndiyo inodiwa
- Dhizaini Yekusefa:
- Ma capacitor ekubvisa simba akawanda (0.1µF + 22µF)
- Kusefa kweLC kumberi kweRF kuti pave nekudzivirira ruzha rwakasimba
- Mutero weMutauro:
- Odhiyo yeanalog ine nzira mbiri (ROUT / LOUT)
- Inotsigira kutamba kwe stereo FM
4. Maitiro Ekushandisa uye Mazano Ekuwedzera
Maitiro echimiro
- Maredhiyo eFM anotakurika
- Maspika akangwara ane mashandiro eredhiyo yeFM
- Masisitimu ekugamuchira FM anodzorwa neMCU
Kuwedzera Kwekushandisa
- Shandisa iyo antenna yekunze yetelescopic kana antenna yePCB kuvandudza kunzwisiswa kwekugamuchira
- Wedzera an amplifier yesimba reodhiyo (semuenzaniso, LM386) kuenda kuROUT/LOUT yekufambisa masipika makuru
- Gonesa maficha epamusoro kuburikidza neMCU control:
- Kuskena otomatiki kwechiteshi
- Gadzirisa nzvimbo yekuchengetera chiteshi
- Kudzora vhoriyamu yedhijitari
5. Zvinyorwa zveDhizaini uye Zvekuchengetedza
- Simba Kugadzikana:
- Iva nechokwadi chekuti 3.3V haipindi ruzha rwakawanda kuti usanyanya kugadzikana kana ruzha rusina kugadzikana
- Grounding:
- Shandisa gwara rekutsigira rakasimba uye rinoenderana
- Dzivisa musiyano ungavapo pakati penzvimbo yemagetsi nenzvimbo yekurira kuti udzivise ruzha
- Impedans Matching:
- Antena yakabatana ne FMIN inofanira kunge yakafanana ne impedance (kazhinji 50Ω) kuti vagamuchire zvakanaka
- Chikamu Sarudzo:
- Shandisa a kristaro yakanyatsorurama ye32.768 kHz
- Unofarira Ma capacitor eNP0 / C0G yeRF uye zvikamu zvine chekuita nenguva nekuda kwekugadzikana kwakanyanya
Kodhi yepurogiramu yedunhu reredhiyo
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
//------------------------------------------------------------------------------




