Is e Diagram Sgeamatach a’ chuairteachaidh seo Modúl glacadair rèidio FM air a thogail timcheall air an RDA5807M mar an IC bunaiteach. Bidh e gu sònraichte a’ cur an gnìomh Glacadh comharran FM, toradh claisneachd, agus gnìomhan smachd bunaiteachTha an anailis gu h-ìosal air a roinn ann an prìomh phàirtean, modalan gnìomh, agus prìomh pharaimeatairean dealbhaidh.

1. Prìomh phàirtean agus gnìomhan prìne
IC bunaiteach: RDA5807M
Tha RDA5807M 'S e IC glacadair rèidio FM làn-aonaichte a th' ann a tha a' toirt taic do ghlacadh craolaidh FM agus Smachd sreathach I2C / SDIOStèidhichte air an sgeama, tha geàrr-chunntas air na prìnichean iuchair agus na ceanglaichean aca gu h-ìosal:
| Ainm a' Phrìne | Dleastanas | Pàirt Ceangailte / Lìonra | Tuairisgeul |
|---|---|---|---|
| RUIT | Toradh claisneachd seanail deas | Toradh dìreach (gun phàirtean a bharrachd air an sealltainn) | A’ toirt seachad claisneachd analogach seanail dheis |
| LUIT | Toradh claisneachd seanail chlì | Toradh dìreach (gun phàirtean a bharrachd air an sealltainn) | A’ toirt seachad claisneachd analogach seanail chlì |
| RCLK | Prìne comharra cloca | Gun cheangal follaiseach bhon taobh a-muigh (is dòcha sioncronachadh a-staigh) | Sioncronachadh a-staigh a’ chloca |
| VDD | Taic cumhachd a thoirt seachad | Lìon cumhachd 3V3 | Solar cumhachd 3.3V DC |
| GND | Làrach | Lìon GND cruinneil | Cumhachd cumanta agus talamh comharran |
| SDIO | Dàta sreathach I/O | Prìne 3 (comharra smachd) | Conaltradh le MCU airson gleusadh, smachd meud, msaa. |
| SCLK | Cloc sreathach | Prìne 2 (comharra cloca) | Comharra cloca airson conaltradh SDIO |
| FMIN | Cuir a-steach comharra FM | prìne 5 | A’ faighinn comharra FM RF bhon antenna |
| X1 | Cuir a-steach oscillator criostail | Criostal 32.768 kHz | A’ toirt seachad gleoc fiosrachaidh airson obrachadh tricead seasmhach |
2. Mion-sgrùdadh air Modalan Gnìomhach
2.1 Modal Solarachadh Cumhachd
- Voltage a-steach: 3.3V DC (riaghlaichte)
- Co-phàirtean sìolaidh:
- C8 (0.1µF), C9 (0.1µF): Comharradairean dì-cheangail àrd-tricead eadar VDD agus GND, a’ cur bacadh air fuaim cumhachd
- C10 (22µF): Comh-chomharaiche electrolytic mòr-chuid airson sìoladh ìosal-tricead agus stòradh lùtha
- C26 (0.1µF): Dì-cheangal a bharrachd gus seasmhachd cumhachd a leasachadh tuilleadh
Tha an sìoladh ioma-ìre seo a’ dèanamh cinnteach lìbhrigeadh cumhachd seasmhach agus fuaim ìosal chun IC glacadair FM.
Modúl Glacaidh Comharran FM 2.2
- Cuir a-steach comharran:
- Tha Prìne FMIN (Prìne 5) a’ ceangal ri antenna FM taobh a-muigh (eileamaid antenna nach eil air a shealltainn san sgeama)
- A’ faighinn comharran craolaidh FM anns an 87-108 MHz Còmhlan
- Cuairt Oscillator Criostail:
- A Criostal 32.768 kHz (X1) a’ toirt seachad gleoc fiosrachaidh ceart
- A’ dèanamh cinnteach à gleusadh FM mionaideach agus a’ cur casg air gluasad tricead rè taghadh stèisean
2.3 Modúl Smachd is Conaltraidh
- Conaltradh Interface:
- SDIO (Dàta Sreathach) + SCLK (Cloc Sreathach)
- co-chòrdail ris I2C no protocolaidhean conaltraidh sreathach coltach ris
- Air a chleachdadh gus eadar-aghaidh a dhèanamh le MCU taobh a-muigh (me, microcontroller)
- Luchd-dìon tarraing-suas:
- R6 (10kΩ) airson SDIO
- R7 (10kΩ) airson SCLK
- Tha an dà chuid ceangailte ri 3V3, a’ dèanamh cinnteach à ìrean loidigeach seasmhach agus conaltradh earbsach
2.4 Modúl Toraidh Fuaime
- Toraidhean Fuaime:
- RUIT: Fuaim analogach seanail deas
- LÙTH: Fuaim analogach seanail chlì
- Faodaidh na toraidhean seo a bhith:
- Ceangailte gu dìreach ri Fòn-cluaise
- Ceangailte ri luchd-labhairt (nota: taobh a-muigh amplifier fuaim a tha riatanach airson toradh cumhachd nas àirde)
2.5 Modúl Criathraidh is Maidseadh Taice
- Inductors:
- L1, L2 (100 nH): Is dòcha gun tèid a chleachdadh airson maidseadh impedance RF no sìoladh cuir-a-steach aig aghaidh FM
- A’ cuideachadh le bhith a’ lughdachadh meòrachadh chomharran agus a’ leasachadh cugallachd fàilte
- Capacitors:
- C13 (100 pF), C14 (24 pF): Obraich le luchd-ionductaidh gus cruth a chruthachadh Lìonra sìoltachain LC
- Cuir bacadh air bacadh àrd-tricead agus glan an comharra FM
- A ’cur sìos gu talamh:
- Tha iomadh ceangal GND a’ comharrachadh dealbhadh coitcheann cruinneil
- A’ lughdachadh fuaim agus a’ leasachadh seasmhachd iomlan a’ chuairt
3. Prìomh Pharamadairean agus Feartan Dealbhaidh
- Voltage obrachaidh: 3.3V
- Gu tur co-chòrdail ri MCUn prìomh-shruthach gun atharrachadh ìre
- Tricead criostail: 32.768 kHz
- Tricead iomraidh àbhaisteach gnìomhachais airson ùineachadh seasmhach
- Modh Smachd: Eadar-aghaidh sreathach SDIO + SCLK
- Slighe-shligheach sìmplidh, dìreach dà loidhne smachd a dhìth
- Dealbhadh sìolaidh:
- Iomadh comasair dì-cheangail cumhachd (0.1µF + 22µF)
- Criathradh LC air aghaidh RF airson dìonachd làidir bho fhuaim
- Fuaim Species:
- Fuaim analogach dà-sianal (ROUT / LOUT)
- A’ toirt taic do ath-chluich FM stereo
4. Suidheachaidhean Iarrtais agus Molaidhean Leudachaidh
Iarrtasan cumanta
- Rèidiothan FM so-ghiùlain
- Luchd-labhairt snasail le comas rèidio FM
- Siostaman glacadair FM fo smachd MCU
Roghainnean leudachadh
- Cleachd antenna teileasgopach taobh a-muigh no antenna PCB gus cugallachd fàilteachaidh a leasachadh
- Cuir ris amplifier cumhachd claisneachd (m.e., LM386) gu ROUT/LOUT airson luchd-labhairt nas motha a dhràibheadh
- Cuir comas air feartan adhartach tro smachd MCU:
- Sganadh stèiseanan fèin-ghluasadach
- Stòradh seanail ro-shuidhichte
- Smachd meud didseatach
5. Notaichean Dealbhaidh agus Rabhaidhean
- Seasmhachd cumhachd:
- Dèan cinnteach gu bheil tonnan ìosal air an t-solar 3.3V gus fuaim claisneachd no gabhail neo-sheasmhach a sheachnadh
- A ’cur sìos gu talamh:
- Cleachd iomradh talmhainn làidir agus cunbhalach
- Seachain eadar-dhealachaidhean comasach eadar talamh cumhachd agus talamh claisneachd gus casg a chuir air fuaim
- Co-chòrdadh bacadh:
- An antenna ceangailte ris FMIN bu chòir a bhith co-ionnan ri impedance (mar as trice 50Ω) airson gabhail as fheàrr
- Taghadh co-phàirt:
- Cleachd a criostal àrd-chruinneas 32.768 kHz
- Is fheàrr Comh-chomharran NP0 / C0G airson RF agus co-phàirtean co-cheangailte ri tìm air sgàth seasmhachd nas fheàrr
Còd prògram cuairt rèidio
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
//------------------------------------------------------------------------------




