இந்த மின்சுற்று வரைபடம், RDA5807M-ஐ மைய ஐசியாகக் கொண்டு உருவாக்கப்பட்ட ஒரு FM வானொலி பெறுவித் தொகுதியாகும் . இது முக்கியமாக FM சமிக்ஞை பெறுதல், ஒலி வெளியீடு மற்றும் அடிப்படைக் கட்டுப்பாட்டுச் செயல்பாடுகளைச் செயல்படுத்துகிறது . கீழேயுள்ள பகுப்பாய்வானது, மையக் கூறுகள், செயல்பாட்டுத் தொகுதிகள் மற்றும் முக்கிய வடிவமைப்பு அளவுருக்கள் எனப் பிரிக்கப்பட்டுள்ளது.

1. முக்கிய கூறு மற்றும் பின் செயல்பாடுகள்
கோர் ஐசி: RDA5807M
RDA5807M என்பது FM ஒலிபரப்பு வரவேற்பு மற்றும் I2C / SDIO தொடர் கட்டுப்பாட்டை ஆதரிக்கும் ஒரு உயர் ஒருங்கிணைந்த FM ரேடியோ ரிசீவர் IC ஆகும் . திட்ட வரைபடத்தின் அடிப்படையில், முக்கிய முனைகளும் அவற்றின் இணைப்புகளும் கீழே சுருக்கமாகக் கொடுக்கப்பட்டுள்ளன:
| பின் பெயர் | விழா | இணைக்கப்பட்ட கூறு / நிகரம் | விளக்கம் |
|---|---|---|---|
| பாதை | வலது-சேனல் ஆடியோ வெளியீடு | நேரடி வெளியீடு (கூடுதல் கூறுகள் எதுவும் காட்டப்படவில்லை) | வலது-சேனல் அனலாக் ஆடியோவை வழங்குகிறது |
| லௌட் | இடது-சேனல் ஆடியோ வெளியீடு | நேரடி வெளியீடு (கூடுதல் கூறுகள் எதுவும் காட்டப்படவில்லை) | இடது-சேனல் அனலாக் ஆடியோவை வழங்குகிறது |
| ஆர்.சி.எல்.கே. | கடிகார சமிக்ஞை முள் | வெளிப்படையான வெளிப்புற இணைப்பு இல்லை (அநேகமாக உள் ஒத்திசைவு) | உள் கடிகார ஒத்திசைவு |
| ஒருதிசை | பவர் சப்ளை உள்ளீடு | 3V3 பவர் நெட் | 3.3V DC மின்சாரம் |
| நிலம் | தரையில் | உலகளாவிய GND நிகரம் | பொதுவான மின்சாரம் மற்றும் சமிக்ஞை தரை |
| எஸ்டிஐஓ | தொடர் தரவு I/O | பின் 3 (கட்டுப்பாட்டு சமிக்ஞை) | டியூனிங், ஒலியளவு கட்டுப்பாடு போன்றவற்றுக்கு MCU உடனான தொடர்பு. |
| எஸ்.சி.எல்.கே. | தொடர் கடிகாரம் | பின் 2 (கடிகார சமிக்ஞை) | SDIO தகவல்தொடர்புக்கான கடிகார சமிக்ஞை |
| எஃப்எம்ஐஎன் | FM சிக்னல் உள்ளீடு | முள் | ஆண்டெனாவிலிருந்து FM RF சிக்னலைப் பெறுகிறது |
| X1 | படிக அலையியற்றி உள்ளீடு | 32.768 kHz படிகம் | நிலையான அதிர்வெண் செயல்பாட்டிற்கான குறிப்பு கடிகாரத்தை வழங்குகிறது. |
2. செயல்பாட்டு தொகுதி முறிவு
2.1 பவர் சப்ளை மாட்யூல்
- உள்ளீடு மின்னழுத்தம்: 3.3V DC (ஒழுங்குபடுத்தப்பட்டது)
- வடிகட்டுதல் கூறுகள்:
- C8 (0.1µF), C9 (0.1µF): VDD மற்றும் GND இடையே உயர் அதிர்வெண் இணைப்பு நீக்கும் மின்தேக்கிகள், மின் இரைச்சலை அடக்குகின்றன.
- C10 (22µF): குறைந்த அதிர்வெண் வடிகட்டுதல் மற்றும் ஆற்றல் சேமிப்புக்கான மொத்த மின்னாற்பகுப்பு மின்தேக்கி
- C26 (0.1µF): மின் நிலைத்தன்மையை மேலும் மேம்படுத்த கூடுதல் இணைப்பு நீக்கம்
இந்த பல-கட்ட வடிகட்டலானது, FM ரிசீவர் IC-க்கு நிலையான மற்றும் குறைந்த இரைச்சல் கொண்ட மின் விநியோகத்தை உறுதி செய்கிறது.
2.2 FM சிக்னல் வரவேற்பு தொகுதி
- சமிக்ஞை உள்ளீடு:
- தி FMIN பின் (பின் 5) வெளிப்புற FM ஆண்டெனாவுடன் இணைக்கிறது (ஆண்டெனா உறுப்பு வரைபடத்தில் காட்டப்படவில்லை)
- FM ஒளிபரப்பு சிக்னல்களைப் பெறுகிறது. 87–108 மெகா ஹெர்ட்ஸ் இசைக்குழு
- படிக அலையியற்றி சுற்று:
- A 32.768 kHz படிகம் (X1) துல்லியமான குறிப்பு கடிகாரத்தை வழங்குகிறது.
- துல்லியமான FM ட்யூனிங்கை உறுதிசெய்து, நிலையத் தேர்வின் போது அதிர்வெண் சறுக்கலைத் தடுக்கிறது.
2.3 கட்டுப்பாடு மற்றும் தொடர்பு தொகுதி
- தொடர்பு இடைமுகம்:
- SDIO (தொடர் தரவு) + SCLK (சீரியல் கடிகாரம்)
- இணக்கமானது I2C அல்லது அதைப் போன்ற தொடர் தொடர்பு நெறிமுறைகள்
- வெளிப்புற MCU உடன் இடைமுகப்படுத்தப் பயன்படுகிறது (எ.கா., மைக்ரோகண்ட்ரோலர்)
- புல்-அப் ரெசிஸ்டர்கள்:
- R6 (10kΩ) SDIO க்கு
- R7 (10kΩ) SCLK-க்காக
- இரண்டும் இணைக்கப்பட்டுள்ளன 3V3, நிலையான தர்க்க நிலைகள் மற்றும் நம்பகமான தகவல்தொடர்பை உறுதி செய்தல்
2.4 ஆடியோ வெளியீட்டு தொகுதி
- ஆடியோ வெளியீடுகள்:
- பாதை: வலது-சேனல் அனலாக் ஆடியோ
- லௌட்: இடது-சேனல் அனலாக் ஆடியோ
- இந்த வெளியீடுகள் பின்வருமாறு இருக்கலாம்:
- நேரடியாக இணைக்கப்பட்டுள்ளது ஹெட்ஃபோன்கள்
- இணைக்கப்பட்டுவிட்டது பேச்சாளர்கள் (குறிப்பு: ஒரு வெளிப்புறம் ஆடியோ பெருக்கி அதிக சக்தி வெளியீட்டிற்கு தேவைப்படுகிறது)
2.5 துணை வடிகட்டுதல் மற்றும் பொருத்துதல் தொகுதி
- தூண்டிகள்:
- எல்1, எல்2 (100 என்ஹெச்): FM முன் முனையில் RF மின்மறுப்பு பொருத்தம் அல்லது உள்ளீட்டு வடிகட்டலுக்குப் பயன்படுத்தப்படலாம்.
- சமிக்ஞை பிரதிபலிப்பைக் குறைக்கவும் வரவேற்பு உணர்திறனை மேம்படுத்தவும் உதவுகிறது
- மின்தேக்கிகள்:
- C13 (100 pF), C14 (24 pF): தூண்டிகளுடன் இணைந்து பணியாற்றி ஒரு LC வடிகட்டி நெட்வொர்க்
- உயர் அதிர்வெண் குறுக்கீட்டை அடக்கி, FM சிக்னலை சுத்திகரிக்கவும்.
- அடிப்படை:
- பல GND இணைப்புகள் a ஐக் குறிக்கின்றன உலகளாவிய பொதுவான வடிவமைப்பு
- சத்தத்தைக் குறைத்து ஒட்டுமொத்த சுற்று நிலைத்தன்மையை மேம்படுத்துகிறது
3. முக்கிய அளவுருக்கள் மற்றும் வடிவமைப்பு அம்சங்கள்
- இயக்க மின்னழுத்தம்: 3.3V
- நிலை மாற்றம் இல்லாமல் பிரதான MCU களுடன் முழுமையாக இணக்கமானது
- படிக அதிர்வெண்: 32.768 கிலோஹெர்ட்ஸ்
- நிலையான நேரத்திற்கான தொழில்துறை-தரநிலை குறிப்பு அதிர்வெண்
- கட்டுப்பாட்டு முறை: SDIO + SCLK தொடர் இடைமுகம்
- எளிமைப்படுத்தப்பட்ட ரூட்டிங், இரண்டு கட்டுப்பாட்டு கோடுகள் மட்டுமே தேவை.
- வடிகட்டுதல் வடிவமைப்பு:
- பல மின் இணைப்பு நீக்க மின்தேக்கிகள் (0.1µF + 22µF)
- வலுவான இரைச்சல் நோய் எதிர்ப்பு சக்திக்காக RF முன் முனையில் LC வடிகட்டுதல்
- ஆடியோ வெளியீடு:
- இரட்டை-சேனல் அனலாக் ஆடியோ (ROUT / LOUT)
- ஸ்டீரியோ எஃப்எம் பிளேபேக்கை ஆதரிக்கிறது
4. பயன்பாட்டு காட்சிகள் மற்றும் விரிவாக்க பரிந்துரைகள்
வழக்கமான பயன்பாடுகள்
- எடுத்துச் செல்லக்கூடிய FM ரேடியோக்கள்
- எஃப்எம் ரேடியோ செயல்பாட்டுடன் கூடிய ஸ்மார்ட் ஸ்பீக்கர்கள்
- MCU-கட்டுப்படுத்தப்பட்ட FM பெறுதல் அமைப்புகள்
விரிவாக்கம் விருப்பங்கள்
- ஒரு பயன்படுத்த வெளிப்புற தொலைநோக்கி ஆண்டெனா அல்லது PCB ஆண்டெனா வரவேற்பு உணர்திறனை மேம்படுத்த
- ஒரு சேர்க்க ஆடியோ பவர் பெருக்கி (எ.கா., LM386) பெரிய ஸ்பீக்கர்களை இயக்குவதற்கு ROUT/LOUT க்கு
- MCU கட்டுப்பாடு வழியாக மேம்பட்ட அம்சங்களை இயக்கு:
- தானியங்கி நிலைய ஸ்கேனிங்
- முன்னமைக்கப்பட்ட சேனல் சேமிப்பிடம்
- டிஜிட்டல் ஒலியளவு கட்டுப்பாடு
5. வடிவமைப்பு குறிப்புகள் மற்றும் முன்னெச்சரிக்கைகள்
- சக்தி நிலைத்தன்மை:
- ஆடியோ சத்தம் அல்லது நிலையற்ற வரவேற்பைத் தவிர்க்க 3.3V விநியோகத்தில் குறைந்த சிற்றலையை உறுதி செய்யவும்.
- அடிப்படை:
- உறுதியான மற்றும் நிலையான தரைக் குறிப்பைப் பயன்படுத்தவும்.
- சத்தத்தைத் தடுக்க மின் தரைக்கும் ஆடியோ தரைக்கும் இடையிலான சாத்தியமான வேறுபாடுகளைத் தவிர்க்கவும்.
- மின்மறுப்பு பொருத்தம்:
- ஆண்டெனா இணைக்கப்பட்டுள்ளது எஃப்எம்ஐஎன் மின்மறுப்பு-பொருத்தமாக இருக்க வேண்டும் (பொதுவாக 50Ω) உகந்த வரவேற்புக்காக
- கூறு தேர்வு:
- ஒரு பயன்படுத்த உயர் துல்லியம் 32.768 kHz படிகம்
- போக்குவரத்தை விரும்புகிறேன் NP0 / C0G மின்தேக்கிகள் உயர்ந்த நிலைத்தன்மை காரணமாக RF மற்றும் நேரம் தொடர்பான கூறுகளுக்கு
ரேடியோ சுற்று நிரல் குறியீடு
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
//------------------------------------------------------------------------------




