यह परिपथ आरेख एक है एफएम रेडियो रिसीवर मॉड्यूल के चारों ओर निर्मित आरडीए5807एम कोर आईसी के रूप में। यह मुख्य रूप से कार्यान्वित करता है एफएम सिग्नल रिसेप्शन, ऑडियो आउटपुट और बुनियादी नियंत्रण कार्यनीचे दिया गया विश्लेषण निम्नलिखित भागों में विभाजित है: मुख्य घटक, कार्यात्मक मॉड्यूल और प्रमुख डिज़ाइन पैरामीटर.

1. मुख्य घटक और पिन के कार्य
कोर आईसी: आरडीए5807एम
RSI आरडीए5807एम यह एक अत्यधिक एकीकृत एफएम रेडियो रिसीवर आईसी है जो एफएम प्रसारण रिसेप्शन का समर्थन करता है और I2C / SDIO सीरियल नियंत्रणआरेख के आधार पर, प्रमुख पिन और उनके कनेक्शनों का सारांश नीचे दिया गया है:
| पिन नाम | समारोह | कनेक्टेड कंपोनेंट / नेट | विवरण |
|---|---|---|---|
| घोर पराजय | दायां चैनल ऑडियो आउटपुट | सीधा आउटपुट (कोई अतिरिक्त घटक नहीं दिखाए गए) | दाएँ चैनल एनालॉग ऑडियो प्रदान करता है |
| गंवार | बाएँ चैनल का ऑडियो आउटपुट | सीधा आउटपुट (कोई अतिरिक्त घटक नहीं दिखाए गए) | बाएँ चैनल का एनालॉग ऑडियो प्रदान करता है |
| आरसीएलके | क्लॉक सिग्नल पिन | कोई स्पष्ट बाहरी कनेक्शन नहीं (संभवतः आंतरिक सिंक्रोनाइज़ेशन) | आंतरिक घड़ी सिंक्रनाइज़ेशन |
| VDD | बिजली आपूर्ति इनपुट | 3V3 पावर नेट | 3.3V डीसी बिजली की आपूर्ति |
| GND | जमीन | वैश्विक जीएनडी नेट | सामान्य पावर और सिग्नल ग्राउंड |
| SDIO | सीरियल डेटा इनपुट/आउटपुट | पिन 3 (नियंत्रण संकेत) | ट्यूनिंग, वॉल्यूम कंट्रोल आदि के लिए एमसीयू के साथ संचार। |
| एससीएलके | सीरियल घड़ी | पिन 2 (क्लॉक सिग्नल) | SDIO संचार के लिए क्लॉक सिग्नल |
| एफएमआईएन | एफएम सिग्नल इनपुट | पिन 5 | एंटीना से एफएम आरएफ सिग्नल प्राप्त करता है |
| X1 | क्रिस्टल ऑसिलेटर इनपुट | 32.768 किलोहर्ट्ज़ क्रिस्टल | स्थिर आवृत्ति संचालन के लिए संदर्भ घड़ी प्रदान करता है |
2. कार्यात्मक मॉड्यूल विभाजन
2.1 पावर सप्लाई मॉड्यूल
- इनपुट वोल्टेज: 3.3V डीसी (विनियमित)
- फ़िल्टरिंग घटक:
- C8 (0.1µF), C9 (0.1µF): VDD और GND के बीच उच्च-आवृत्ति वाले डीकपलिंग कैपेसिटर, पावर नॉइज़ को दबाते हैं।
- C10 (22µF): कम आवृत्ति फ़िल्टरिंग और ऊर्जा भंडारण के लिए बल्क इलेक्ट्रोलाइटिक कैपेसिटर
- C26 (0.1µF): बिजली स्थिरता को और बेहतर बनाने के लिए अतिरिक्त डीकपलिंग।
यह बहु-स्तरीय फ़िल्टरिंग सुनिश्चित करती है स्थिर और कम शोर वाली बिजली आपूर्ति एफएम रिसीवर आईसी को।
2.2 एफएम सिग्नल रिसेप्शन मॉड्यूल
- सिग्नल इनपुट:
- RSI FMIN पिन (पिन 5) यह एक बाहरी एफएम एंटीना से जुड़ता है (एंटीना तत्व आरेख में नहीं दिखाया गया है)
- यह एफएम प्रसारण सिग्नल प्राप्त करता है। 87-108 MHz बैंड
- क्रिस्टल ऑसिलेटर सर्किट:
- A 32.768 किलोहर्ट्ज़ क्रिस्टल (X1) यह एक सटीक संदर्भ घड़ी प्रदान करता है
- यह सटीक एफएम ट्यूनिंग सुनिश्चित करता है और स्टेशन चयन के दौरान आवृत्ति विचलन को रोकता है।
2.3 नियंत्रण और संचार मॉड्यूल
- संचार इंटरफेस:
- एसडीआईओ (सीरियल डेटा) + एससीएलके (सीरियल क्लॉक)
- के साथ संगत आई2सी या इसी तरह के सीरियल संचार प्रोटोकॉल
- इसका उपयोग बाहरी MCU (जैसे, माइक्रोकंट्रोलर) के साथ इंटरफेस करने के लिए किया जाता है।
- पुल-अप प्रतिरोधक:
- आर6 (10kΩ) एसडीआईओ के लिए
- आर7 (10kΩ) एससीएलके के लिए
- दोनों जुड़े हुए हैं 3V3स्थिर लॉजिक स्तर और विश्वसनीय संचार सुनिश्चित करना।
2.4 ऑडियो आउटपुट मॉड्यूल
- ऑडियो आउटपुट:
- रूट: दायां चैनल एनालॉग ऑडियो
- लुटेरा: बाएँ चैनल का एनालॉग ऑडियो
- इन आउटपुट में निम्नलिखित शामिल हो सकते हैं:
- सीधे तौर पर जुड़ा हुआ headphones के
- से जुड़ा वक्ताओं (नोट: एक बाहरी ऑडियो एम्पलीफायर (उच्च शक्ति उत्पादन के लिए आवश्यक है)
2.5 सहायक फ़िल्टरिंग और मिलान मॉड्यूल
- Inductors:
- एल1, एल2 (100 एनएम): संभवतः इसका उपयोग एफएम फ्रंट एंड पर आरएफ प्रतिबाधा मिलान या इनपुट फ़िल्टरिंग के लिए किया जाता है।
- सिग्नल रिफ्लेक्शन को कम करने और रिसेप्शन सेंसिटिविटी को बेहतर बनाने में मदद करता है।
- Capacitors:
- C13 (100 pF), C14 (24 pF): एक प्रेरक के साथ काम करें एलसी फ़िल्टर नेटवर्क
- उच्च आवृत्ति हस्तक्षेप को दबाएँ और एफएम सिग्नल को शुद्ध करें
- ग्राउंडिंग:
- एकाधिक जीएनडी कनेक्शन एक संकेत देते हैं वैश्विक साझा आधार डिजाइन
- शोर को कम करता है और सर्किट की समग्र स्थिरता में सुधार करता है।
3. प्रमुख मापदंड और डिजाइन विशेषताएँ
- ऑपरेटिंग वोल्टेज: 3.3V
- लेवल शिफ्टिंग के बिना मुख्यधारा के एमसीयू के साथ पूरी तरह से संगत।
- क्रिस्टल आवृत्ति: 32.768 kHz
- स्थिर समय निर्धारण के लिए उद्योग-मानक संदर्भ आवृत्ति
- नियंत्रण रखने का तरीका: SDIO + SCLK सीरियल इंटरफ़ेस
- सरल रूटिंग, केवल दो नियंत्रण लाइनों की आवश्यकता
- फ़िल्टरिंग डिज़ाइन:
- एकाधिक पावर डीकपलिंग कैपेसिटर (0.1µF + 22µF)
- उच्च शोर प्रतिरोधक क्षमता के लिए आरएफ फ्रंट एंड पर एलसी फ़िल्टरिंग।
- ऑडियो आउटपुट:
- डुअल-चैनल एनालॉग ऑडियो (ROUT / LOUT)
- स्टीरियो एफएम प्लेबैक को सपोर्ट करता है
4. अनुप्रयोग परिदृश्य और विस्तार सुझाव
विशिष्ट आवेदन पत्र
- पोर्टेबल एफएम रेडियो
- एफएम रेडियो सुविधा वाले स्मार्ट स्पीकर
- एमसीयू-नियंत्रित एफएम रिसीवर सिस्टम
विस्तार विकल्प
- एक का उपयोग करें बाह्य दूरबीनीय एंटीना या पीसीबी एंटीना रिसेप्शन संवेदनशीलता को बेहतर बनाने के लिए
- एक जोड़ें ऑडियो पावर एम्पलीफायर (उदाहरण के लिए, LM386) को बड़े स्पीकरों को चलाने के लिए ROUT/LOUT में कनेक्ट करें।
- MCU नियंत्रण के माध्यम से उन्नत सुविधाओं को सक्षम करें:
- स्वचालित स्टेशन स्कैनिंग
- प्रीसेट चैनल संग्रहण
- डिजिटल वॉल्यूम नियंत्रण
5. डिज़ाइन संबंधी नोट्स और सावधानियां
- शक्ति स्थिरता:
- ऑडियो नॉइज़ या अस्थिर रिसेप्शन से बचने के लिए 3.3V सप्लाई पर कम रिपल सुनिश्चित करें।
- ग्राउंडिंग:
- एक ठोस और सुसंगत आधार संदर्भ का उपयोग करें
- शोर को रोकने के लिए पावर ग्राउंड और ऑडियो ग्राउंड के बीच संभावित अंतरों से बचें।
- प्रतिबाधा मिलान:
- एंटीना इससे जुड़ा हुआ है एफएमआईएन प्रतिबाधा-मिलान होना चाहिए (आमतौर पर 50Ω) बेहतर रिसेप्शन के लिए
- घटक चयन:
- उपयोग उच्च-सटीकता वाला 32.768 किलोहर्ट्ज़ क्रिस्टल
- पसंद करते हैं एनपी0 / सी0जी संधारित्र बेहतर स्थिरता के कारण आरएफ और टाइमिंग से संबंधित घटकों के लिए उपयुक्त।
रेडियो सर्किट प्रोग्राम कोड
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
//------------------------------------------------------------------------------



