この回路図は FMラジオ受信モジュール を中心に構築された RDA5807M コアICとして、主に FM信号受信、オーディオ出力、基本的な制御機能以下の分析は、 コアコンポーネント、機能モジュール、主要な設計パラメータ.

1. コアコンポーネントとピンの機能
コアIC: RDA5807M
その RDA5807M FM放送の受信をサポートする高集積FMラジオ受信機ICです。 I2C / SDIOシリアル制御回路図に基づいて、主要なピンとその接続を以下にまとめます。
| ピン名 | 演算 | 連結成分/ネット | 詳細説明 |
|---|---|---|---|
| 敗走 | 右チャンネルオーディオ出力 | 直接出力(追加コンポーネントは表示されません) | 右チャンネルのアナログオーディオを提供 |
| 失礼な | 左チャンネルオーディオ出力 | 直接出力(追加コンポーネントは表示されません) | 左チャンネルのアナログオーディオを提供 |
| RCLK | クロック信号ピン | 明示的な外部接続はありません(内部同期の可能性があります) | 内部クロック同期 |
| VDD | 電源入力 | 3V3電力網 | 3.3V DC電源 |
| GND | 陸上 | グローバルGNDネット | 共通電源と信号グランド |
| SDIO | シリアルデータI/O | ピン3(制御信号) | チューニング、音量コントロールなどのための MCU との通信。 |
| SCLK | シリアルクロック | ピン2(クロック信号) | SDIO通信用クロック信号 |
| FMIN | FM信号入力 | ピン5 | アンテナから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 MHz バンド
- 水晶発振回路:
- A 32.768 kHz水晶(X1) 正確な基準クロックを提供する
- 正確なFMチューニングを保証し、放送局選択時の周波数ドリフトを防止します。
2.3 制御および通信モジュール
- 通信インタフェース:
- SDIO(シリアルデータ) + SCLK(シリアルクロック)
- LUMINEX および BARNFIND 機器に互換対応 I2Cまたは類似のシリアル通信プロトコル
- 外部MCU(マイクロコントローラなど)とのインターフェースに使用されます。
- プルアップ抵抗:
- R6(10kΩ) SDIO用
- R7(10kΩ) SCLK用
- どちらも接続されています 3V3安定したロジックレベルと信頼性の高い通信を保証します
2.4 オーディオ出力モジュール
- オーディオ出力:
- 敗走: 右チャンネルアナログオーディオ
- ラウト: 左チャンネルアナログオーディオ
- 出力は次のようになります。
- 直接接続 ヘッドフォン
- に接続されています スピーカー (注:外部 音声増幅器 より高い出力を得るためには
2.5 補助フィルタリングおよびマッチングモジュール
- インダクタ:
- L1、L2(100nH): FMフロントエンドでのRFインピーダンス整合や入力フィルタリングに使用される可能性が高い
- 信号反射を低減し、受信感度を向上させます
- コンデンサ:
- C13(100 pF)、C14(24 pF): インダクタンスを使って LCフィルタネットワーク
- 高周波干渉を抑制し、FM信号を浄化する
- アース:
- 複数のGND接続は、 グローバルな共通基盤設計
- ノイズを低減し、回路全体の安定性を向上
3. 主要なパラメータと設計上の特徴
- 動作電圧: 3.3V
- レベルシフトなしで主流のMCUと完全に互換性があります
- 水晶周波数: 32.768kHz
- 安定したタイミングのための業界標準の基準周波数
- 制御方法: SDIO + SCLKシリアルインターフェース
- 簡素化されたルーティング、必要なのは2つの制御ラインのみ
- フィルタリング設計:
- 複数の電源デカップリングコンデンサ(0.1µF + 22µF)
- 強力なノイズ耐性を実現するRFフロントエンドのLCフィルタリング
- オーディオ出力:
- デュアルチャンネルアナログオーディオ(ROUT / LOUT)
- ステレオFM再生をサポート
4. 応用シナリオと拡張提案
代表的なアプリケーション
- ポータブルFMラジオ
- FMラジオ機能付きスマートスピーカー
- MCU制御FM受信システム
拡張オプション
- 使用する 外部伸縮アンテナまたはPCBアンテナ 受信感度を向上させる
- 追加する オーディオパワーアンプ (例:LM386)をROUT/LOUTに接続して大型スピーカーを駆動する
- MCU 制御による高度な機能の有効化:
- 自動ステーションスキャン
- プリセットチャンネルの保存
- デジタルボリュームコントロール
5. 設計上の注意と注意事項
- 電力の安定性:
- オーディオノイズや受信の不安定さを避けるために、3.3V電源のリップルを低く抑える
- アース:
- 堅固で一貫した基準点を使用する
- ノイズを防ぐために、電源グランドとオーディオグランド間の電位差を避けてください。
- インピーダンス整合:
- 接続されているアンテナ FMIN インピーダンス整合をとる必要がある(通常 50Ω)最適な受信のために
- コンポーネントの選択:
- 使用 高精度32.768kHz水晶
- 好む 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
//------------------------------------------------------------------------------




