RDA5807M Tabanlı Radyo Şematik Diyagram Analizi

Bu devre şematik diyagramı bir FM radyo alıcı modülü etrafında inşa edilmiş RDA5807M Çekirdek entegre devre olarak. Esas olarak şu işlevleri yerine getirir: FM sinyal alımı, ses çıkışı ve temel kontrol fonksiyonlarıAşağıdaki analiz şu bölümlere ayrılmıştır: temel bileşenler, fonksiyonel modüller ve önemli tasarım parametreleri.

FM Radyo RDA5807M şematik diyagramı

1. Ana Bileşen ve Pin Fonksiyonları

Ana Entegre Devre: RDA5807M

MKS RDA5807M FM radyo yayın alımını destekleyen, yüksek düzeyde entegre edilmiş bir FM radyo alıcı IC'sidir. I2C / SDIO seri kontrolüŞemaya göre, temel pinler ve bağlantıları aşağıda özetlenmiştir:

Pin AdıİşlevBağlı Bileşen / AğAçıklama
ROTASağ kanal ses çıkışıDoğrudan çıkış (ekstra bileşen gösterilmemiştir)Sağ kanal analog ses sinyali sağlar.
KABA ADAMSol kanal ses çıkışıDoğrudan çıkış (ekstra bileşen gösterilmemiştir)Sol kanal analog ses sinyali sağlar.
RCLKSaat sinyali piniAçık bir harici bağlantı yok (muhtemelen dahili senkronizasyon).Dahili saat senkronizasyonu
VDDGüç kaynağı girişi3V3 güç ağı3.3V DC güç kaynağı
GNDZeminKüresel GND ağıOrtak güç ve sinyal topraklaması
SDIOSeri veri giriş/çıkışıPin 3 (kontrol sinyali)Ayarlama, ses kontrolü vb. için MCU ile iletişim.
SCLKSeri saatPin 2 (saat sinyali)SDIO iletişimi için saat sinyali
FMINFM sinyal girişiPim 5Antenden FM RF sinyali alır.
X1Kristal osilatör girişi32.768 kHz kristalKararlı frekans çalışması için referans saat sağlar.

2. Fonksiyonel Modül Ayrıştırması

2.1 Güç Kaynağı Modülü

  • Giriş gerilimi: 3.3V DC (düzenlenmiş)
  • Filtreleme Bileşenleri:
    • C8 (0.1µF), C9 (0.1µF): VDD ve GND arasına yerleştirilen yüksek frekanslı ayırma kapasitörleri, güç gürültüsünü bastırır.
    • C10 (22µF): Düşük frekanslı filtreleme ve enerji depolama için büyük hacimli elektrolitik kondansatör
    • C26 (0.1µF): Güç kararlılığını daha da iyileştirmek için ek ayrıştırma

Bu çok aşamalı filtreleme şunları sağlar: istikrarlı ve düşük gürültülü güç dağıtımı FM alıcı entegre devresine.


2.2 FM Sinyal Alma Modülü

  • Sinyal Girişi:
    • MKS FMIN pini (Pin 5) Harici bir FM antenine bağlanır (anten elemanı şemada gösterilmemiştir).
    • FM yayın sinyallerini alır. 87 – 108 MHz bant
  • Kristal Osilatör Devresi:
    • A 32.768 kHz kristal (X1) doğru bir referans saati sağlar
    • Hassas FM ayarı sağlar ve istasyon seçimi sırasında frekans kaymasını önler.

2.3 Kontrol ve İletişim Modülü

  • İletişim Arayüzü:
    • SDIO (Seri Veri) + SCLK (Seri Saat)
    • uyumlu I2C veya benzeri seri iletişim protokolleri
    • Harici bir MCU (örneğin, mikrodenetleyici) ile arayüz oluşturmak için kullanılır.
  • Çekme dirençleri:
    • R6 (10kΩ) SDIO için
    • R7 (10kΩ) SCLK için
    • İkisi de birbirine bağlıdır. 3V3Bu sayede istikrarlı mantık seviyeleri ve güvenilir iletişim sağlanır.

2.4 Ses Çıkış Modülü

  • Ses Çıkışları:
    • ROTA: Sağ kanal analog ses
    • KABA ADAM: Sol kanal analog ses
  • Bu çıktılar şunlar olabilir:
    • Doğrudan bağlı kulaklık
    • Bağlı hoparlörler (not: harici bir ses yükseltici (daha yüksek güç çıkışı için gereklidir)

2.5 Yardımcı Filtreleme ve Eşleştirme Modülü

  • İndüktörler:
    • L1, L2 (100 nH): Büyük olasılıkla FM ön ucunda RF empedans eşleştirme veya giriş filtreleme için kullanılıyor.
    • Sinyal yansımasını azaltmaya ve alım hassasiyetini artırmaya yardımcı olur.
  • Kondansatörler:
    • C13 (100 pF), C14 (24 pF): İndüktörlerle çalışarak bir yapı oluşturun. LC filtre ağı
    • Yüksek frekanslı parazitleri bastırın ve FM sinyalini arındırın.
  • topraklama:
    • Birden fazla GND bağlantısı şunu gösterir: küresel ortak zemin tasarımı
    • Gürültüyü azaltır ve genel devre kararlılığını artırır.

3. Temel Parametreler ve Tasarım Özellikleri

  • Çalışma gerilimi: 3.3V
    • Seviye kaydırma gerektirmeden ana akım mikrodenetleyicilerle tamamen uyumludur.
  • Kristal Frekansı: 32.768 kHz
    • Kararlı zamanlama için endüstri standardı referans frekansı
  • Kontrol metodu: SDIO + SCLK seri arayüzü
    • Basitleştirilmiş yönlendirme, sadece iki kontrol hattı gereklidir.
  • Filtreleme Tasarımı:
    • Çoklu güç ayırma kapasitörleri (0.1µF + 22µF)
    • RF ön ucunda güçlü gürültü bağışıklığı için LC filtreleme.
  • Ses Çıkışı:
    • Çift kanallı analog ses (ROUT / LOUT)
    • Stereo FM çalmayı destekler.

4. Uygulama Senaryoları ve Genişletme Önerileri

Tipik uygulamalar

  • Taşınabilir FM radyoları
  • FM radyo işlevine sahip akıllı hoparlörler
  • MCU kontrollü FM alıcı sistemleri

Genişletme Seçenekleri

  • Bir harici teleskopik anten veya PCB anteni alım hassasiyetini iyileştirmek için
  • Ekle Ses güç amplifikatörü (Örneğin, LM386) daha büyük hoparlörleri çalıştırmak için ROUT/LOUT'a bağlanır.
  • MCU kontrolü aracılığıyla gelişmiş özellikleri etkinleştirin:
    • Otomatik istasyon taraması
    • Önceden ayarlanmış kanal depolama
    • Dijital ses kontrolü

5. Tasarım Notları ve Önlemler

  • Güç Kararlılığı:
    • Ses gürültüsünü veya kararsız alımı önlemek için 3.3V güç kaynağında düşük dalgalanma sağlayın.
  • topraklama:
    • Sağlam ve tutarlı bir zemin referansı kullanın.
    • Gürültüyü önlemek için güç topraklaması ve ses topraklaması arasındaki potansiyel farklılıklardan kaçının.
  • Empedans eşleştirme:
    • Anten şuraya bağlıydı: FMIN empedans uyumlu olmalıdır (tipik olarak 50Ω) en iyi alım için
  • Bileşen Seçimi:
    • Kullanmak yüksek hassasiyetli 32.768 kHz kristal
    • tercih ederim NP0 / C0G kapasitörleri RF ve zamanlama ile ilgili bileşenler için üstün kararlılık nedeniyle

Radyo devresi program kodu

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
//------------------------------------------------------------------------------

Leave a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlenmişlerdir. *