RDA5807M এর উপর ভিত্তি করে রেডিও স্কিম্যাটিক ডায়াগ্রাম বিশ্লেষণ

এই সার্কিট স্কিম্যাটিক ডায়াগ্রামটি একটি এফএম রেডিও রিসিভার মডিউল চারপাশে নির্মিত RDA5807M মূল আইসি হিসেবে। এটি মূলত বাস্তবায়ন করে এফএম সিগন্যাল গ্রহণ, অডিও আউটপুট এবং মৌলিক নিয়ন্ত্রণ ফাংশননিচের বিশ্লেষণটি বিভক্ত: মূল উপাদান, কার্যকরী মডিউল এবং মূল নকশা পরামিতি.

FM রেডিও RDA5807M স্কিম্যাটিক ডায়াগ্রাম

১. মূল উপাদান এবং পিন ফাংশন

কোর আইসি: RDA5807M

সার্জারির RDA5807M একটি অত্যন্ত সমন্বিত FM রেডিও রিসিভার IC যা FM সম্প্রচার গ্রহণ সমর্থন করে এবং I2C / SDIO সিরিয়াল নিয়ন্ত্রণস্কিম্যাটিকের উপর ভিত্তি করে, কী পিন এবং তাদের সংযোগগুলি নীচে সংক্ষিপ্ত করা হয়েছে:

পিন নামক্রিয়াসংযুক্ত উপাদান / নেটবিবরণ
রাউটডান-চ্যানেল অডিও আউটপুটসরাসরি আউটপুট (কোনও অতিরিক্ত উপাদান দেখানো হয়নি)ডান-চ্যানেল অ্যানালগ অডিও প্রদান করে
LOUTবাম-চ্যানেল অডিও আউটপুটসরাসরি আউটপুট (কোনও অতিরিক্ত উপাদান দেখানো হয়নি)বাম-চ্যানেল অ্যানালগ অডিও প্রদান করে
আরসিএলকেঘড়ির সিগন্যাল পিনকোনও স্পষ্ট বাহ্যিক সংযোগ নেই (সম্ভবত অভ্যন্তরীণ সিঙ্ক)অভ্যন্তরীণ ঘড়ি সিঙ্ক্রোনাইজেশন
Vddপাওয়ার সাপ্লাই ইনপুট3V3 পাওয়ার নেট3.3V ডিসি পাওয়ার সাপ্লাই
GNDস্থলগ্লোবাল জিএনডি নেটসাধারণ শক্তি এবং সংকেত স্থল
এসডিআইওসিরিয়াল ডেটা ইনপুট/আউটপুটপিন ৩ (নিয়ন্ত্রণ সংকেত)টিউনিং, ভলিউম নিয়ন্ত্রণ ইত্যাদির জন্য MCU-এর সাথে যোগাযোগ।
এসসিএলকেসিরিয়াল ঘড়িপিন ২ (ঘড়ির সংকেত)SDIO যোগাযোগের জন্য ঘড়ির সংকেত
FMINএফএম সংকেত ইনপুটপিন 5অ্যান্টেনা থেকে FM RF সিগন্যাল গ্রহণ করে
X1ক্রিস্টাল অসিলেটর ইনপুট32.768 kHz ক্রিস্টালস্থিতিশীল ফ্রিকোয়েন্সি অপারেশনের জন্য রেফারেন্স ঘড়ি প্রদান করে

2. কার্যকরী মডিউল ভাঙ্গন

2.1 পাওয়ার সাপ্লাই মডিউল

  • ইনপুট ভোল্টেজ: ২৪ ভোল্ট ডিসি (নিয়ন্ত্রিত)
  • ফিল্টারিং উপাদান:
    • C8 (0.1µF), C9 (0.1µF): VDD এবং GND এর মধ্যে উচ্চ-ফ্রিকোয়েন্সি ডিকাপলিং ক্যাপাসিটার, পাওয়ার শব্দ দমন করে
    • C10 (22µF): কম-ফ্রিকোয়েন্সি ফিল্টারিং এবং শক্তি সঞ্চয়ের জন্য বাল্ক ইলেক্ট্রোলাইটিক ক্যাপাসিটর
    • C26 (0.1µF): বিদ্যুৎ স্থিতিশীলতা আরও উন্নত করতে অতিরিক্ত ডিকাপলিং

এই বহু-পর্যায়ের ফিল্টারিং নিশ্চিত করে স্থিতিশীল এবং কম শব্দে বিদ্যুৎ সরবরাহ এফএম রিসিভার আইসি-তে।


২.২ এফএম সিগন্যাল রিসেপশন মডিউল

  • সিগন্যাল ইনপুট:
    • সার্জারির FMIN পিন (পিন ৫) একটি বহিরাগত FM অ্যান্টেনার সাথে সংযোগ স্থাপন করে (অ্যান্টেনার উপাদানটি স্কিম্যাটিকটিতে দেখানো হয়নি)
    • এফএম সম্প্রচার সংকেত গ্রহণ করে 87-108 মেগাহার্টজ দল
  • ক্রিস্টাল অসিলেটর সার্কিট:
    • A ৩২.৭৬৮ kHz স্ফটিক (X১) একটি সঠিক রেফারেন্স ঘড়ি প্রদান করে
    • স্টেশন নির্বাচনের সময় সুনির্দিষ্ট FM টিউনিং নিশ্চিত করে এবং ফ্রিকোয়েন্সি ড্রিফট প্রতিরোধ করে

২.৩ নিয়ন্ত্রণ এবং যোগাযোগ মডিউল

  • যোগাযোগ ইন্টারফেস:
    • SDIO (সিরিয়াল ডেটা) + SCLK (সিরিয়াল ক্লক)
    • মানানসই I2C বা অনুরূপ সিরিয়াল যোগাযোগ প্রোটোকল
    • একটি বহিরাগত MCU (যেমন, মাইক্রোকন্ট্রোলার) এর সাথে ইন্টারফেস করতে ব্যবহৃত হয়
  • পুল-আপ প্রতিরোধক:
    • R6 (১০kΩ) SDIO-এর জন্য
    • R7 (১০kΩ) SCLK-এর জন্য
    • উভয়ই এর সাথে সংযুক্ত 3V3, স্থিতিশীল যুক্তি স্তর এবং নির্ভরযোগ্য যোগাযোগ নিশ্চিত করা

২.৪ অডিও আউটপুট মডিউল

  • অডিও আউটপুট:
    • রুট: ডান-চ্যানেল অ্যানালগ অডিও
    • লাউট: বাম-চ্যানেল অ্যানালগ অডিও
  • এই আউটপুটগুলি হতে পারে:
    • সরাসরি সংযুক্ত হেডফোন
    • এর সাথে সংযুক্ত ভাষাভাষী (বিঃদ্রঃ: একটি বহিরাগত অডিও পরিবর্ধক উচ্চতর বিদ্যুৎ উৎপাদনের জন্য প্রয়োজন)

২.৫ অক্জিলিয়ারী ফিল্টারিং এবং ম্যাচিং মডিউল

  • সূচক:
    • L1, L2 (100 nH): FM ফ্রন্ট এন্ডে RF ইম্পিডেন্স ম্যাচিং বা ইনপুট ফিল্টারিংয়ের জন্য সম্ভবত ব্যবহৃত হয়
    • সংকেত প্রতিফলন কমাতে এবং অভ্যর্থনা সংবেদনশীলতা উন্নত করতে সাহায্য করে
  • ক্যাপাসিটারগুলি:
    • C13 (100 pF), C14 (24 pF): একটি তৈরি করতে ইন্ডাক্টরগুলির সাথে কাজ করুন এলসি ফিল্টার নেটওয়ার্ক
    • উচ্চ-ফ্রিকোয়েন্সি হস্তক্ষেপ দমন করুন এবং FM সংকেত বিশুদ্ধ করুন
  • পটভূমি:
    • একাধিক GND সংযোগ নির্দেশ করে a বিশ্বব্যাপী সাধারণ-ভূমি নকশা
    • শব্দ কমায় এবং সামগ্রিক সার্কিট স্থিতিশীলতা উন্নত করে

3. মূল পরামিতি এবং নকশা বৈশিষ্ট্য

  • অপারেটিং ভোল্টেজ: 3.3V
    • স্তর পরিবর্তন ছাড়াই মূলধারার MCU গুলির সাথে সম্পূর্ণ সামঞ্জস্যপূর্ণ
  • স্ফটিক ফ্রিকোয়েন্সি: 32.768 ২ kHz
    • স্থিতিশীল সময়ের জন্য শিল্প-মান রেফারেন্স ফ্রিকোয়েন্সি
  • নিয়ন্ত্রণ পদ্ধতি: SDIO + SCLK সিরিয়াল ইন্টারফেস
    • সরলীকৃত রাউটিং, মাত্র দুটি নিয়ন্ত্রণ লাইন প্রয়োজন
  • ফিল্টারিং ডিজাইন:
    • একাধিক পাওয়ার ডিকাপলিং ক্যাপাসিটার (0.1µF + 22µF)
    • শক্তিশালী শব্দ প্রতিরোধ ক্ষমতার জন্য RF ফ্রন্ট এন্ডে LC ফিল্টারিং
  • অডিও আউটপুট:
    • ডুয়াল-চ্যানেল অ্যানালগ অডিও (ROUT / LOUT)
    • স্টেরিও এফএম প্লেব্যাক সমর্থন করে

৪. আবেদনের পরিস্থিতি এবং সম্প্রসারণের পরামর্শ

চিরাচরিত আবেদন

  • পোর্টেবল এফএম রেডিও
  • এফএম রেডিও কার্যকারিতা সহ স্মার্ট স্পিকার
  • এমসিইউ-নিয়ন্ত্রিত এফএম রিসিভার সিস্টেম

বিস্তার অপশন

  • একটি ব্যবহার করুন বাহ্যিক টেলিস্কোপিক অ্যান্টেনা বা পিসিবি অ্যান্টেনা অভ্যর্থনা সংবেদনশীলতা উন্নত করতে
  • একটি যোগ করুন অডিও শক্তি পরিবর্ধক (যেমন, LM386) থেকে ROUT/LOUT পর্যন্ত বড় স্পিকার চালানোর জন্য
  • MCU নিয়ন্ত্রণের মাধ্যমে উন্নত বৈশিষ্ট্যগুলি সক্ষম করুন:
    • স্বয়ংক্রিয় স্টেশন স্ক্যানিং
    • প্রিসেট চ্যানেল স্টোরেজ
    • ডিজিটাল ভলিউম নিয়ন্ত্রণ

৫. নকশা নোট এবং সতর্কতা

  • শক্তি স্থিতিশীলতা:
    • অডিও শব্দ বা অস্থির অভ্যর্থনা এড়াতে 3.3V সরবরাহে কম তরঙ্গ নিশ্চিত করুন।
  • পটভূমি:
    • একটি দৃঢ় এবং সামঞ্জস্যপূর্ণ স্থল রেফারেন্স ব্যবহার করুন
    • শব্দ প্রতিরোধ করতে পাওয়ার গ্রাউন্ড এবং অডিও গ্রাউন্ডের মধ্যে সম্ভাব্য পার্থক্য এড়িয়ে চলুন।
  • প্রতিবন্ধকতা ম্যাচিং:
    • অ্যান্টেনা সংযুক্ত FMIN প্রতিবন্ধকতা-মিলিত হওয়া উচিত (সাধারণত 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
//------------------------------------------------------------------------------

মতামত দিন

আপনার ইমেইল প্রকাশ করা হবে না। প্রয়োজনীয় ক্ষেত্রগুলি চিহ্নিত করা আছে *