Hobby Lab 趣味のモノ作り実験のサイトです。
部品 オペアンプ_関係 Si4735 マニュアル PrpNote0x1402
1 0x1402. FM_SEEK_FR・・ 概要
2 プロパティ
2.1 プロパティリスト
2.2 プロパティ
2.2.1 SKSPACE
3 応答パラメータ
4 その他(Gemini)の見解
4.1 コマンドのステップ注意事項
4.2 もう少し踏み込んだ応用展開
4.3 デバッグ時のチェックリスト
4.4 まとめ

PrO:Si4735関係  Si4735について
 Si4735ラジオを作って見よう1
 Si4735テスト中に困った!事項
 v コマンド & パラメータ解説 v
 0x01. POWER_UP
 0x10. GET_REV
 0x11. POWER_DOWN
 0x12. SET_PROPERTY
 0x13. GET_PROPERTY
 0x14. GET_INT_STATUS
 0x20. FM_TUNE_FREQ
 0x21. FM_SEEK_START
 0x22. FM_TUNE_STATUS
 0x23. FM_RSQ_STATUS
 0x24. FM_RDS_STATUS
 0x27. FM_AGC_STATUS
 0x28. FM_AGC_OVERRIDE
 0x40. AM_TUNE_FREQ
 0x41. AM_SEEK_START
 0x42. AM_TUNE_STATUS
 0x43. AM_RSQ_STATUS
 0x47. AM_AGC_STATUS
 0x48. AM_AGC_OVERRIDE
 0x80. GPIO_CTL
 0x81. GPIO_SET
 v プロパティ解説 v
 0x0001.GPO_IEN
 0x0102. DIGITAL_OUTPUT・・
 0x0104. DIGITAL_OUTPUT・・
 0x0201. REFCLK_FREQ
 0x0202. REFCLK_PRESCALE
 0x1100. FM_DEEMPHASIS
 0x1102. FM_CHANNEL_FILTER
 0x1107. FM_ANTENNA_INPUT
 0x1108. FM_MAX_TUNE_ERR・・
 0x1200. FM_RSQ_INT_SOURCE
 0x1201. FM_RSQ_SNR_HI_T・・
 0x1202. FM_RSQ_SNR_LO_T・・
 0x1203. FM_RSQ_RSSI_HI・・
 0x1204. FM_RSQ_RSSI_LO・・
 0x1205. FM_RSQ_MULTIPA・・
 0x1206. FM_RSQ_MULTIPA・・
 0x1207. FM_RSQ_BLEND_TH・・
 0x1300. FM_SOFT_MUTE_RATE
 0x1301. FM_SOFT_MUTE_SL・・
 0x1302. FM_SOFT_MUTE_M・・
 0x1303. FM_SOFT_MUTE_S・・
 0x1304. FM_SOFT_MUTE_R・・
 0x1305. FM_SOFT_MUTE_A・・
 0x1400. FM_SEEK_BAND_B・・
 0x1401. FM_SEEK_BAND_TOP
 0x1402. FM_SEEK_FREQ_S・・
 0x1403. FM_SEEK_TUNE_S・・
 0x1404. FM_SEEK_TUNE_R・・
 0x1500. FM_RDS_INT_SOU・・
 0x1501. FM_RDS_INT_FIF・・
 0x1502. FM_RDS_CONFIG
 0x1503. FM_RDS_CONFIDE・・
 0x1800. FM_BLEND_RSSI_S・・
 0x1801. FM_BLEND_RSSI_M・・
 0x1802. FM_BLEND_RSSI_A・・
 0x1803. FM_BLEND_RSSI_R・・
 0x1804. FM_BLEND_SNR_ST・・
 0x1805. FM_BLEND_SNR_M・・
 0x1806. FM_BLEND_SNR_A・・
 0x1807. FM_BLEND_SNR_R・・
 0x1808. FM_BLEND_MULTI・・
 0x1809. FM_BLEND_MULTI・・
 0x180A. FM_BLEND_MULTI・・
 0x180B. FM_BLEND_MULTI・・
 0x1A00. FM_HICUT_SNR_H・・
 0x1A01. FM_HICUT_SNR_L・・
 0x1A02. FM_HICUT_ATTAC・・
 0x1A03. FM_HICUT_RELEA・・
 0x1A04. FM_HICUT_MULTI・・
 0x1A05. FM_HICUT_MULTI・・
 0x1A06. FM_HICUT_CUTOF・・
 0x3100. AM_DEEMPHASIS
 0x3102. AM_CHANNEL_FIL・・
 0x3103. AM_AUTOMATIC_V・・
 0x3104. AM_MODE_AFC_SW・・
 0x3105. AM_MODE_AFC_SW・・
 0x3200. AM_RSQ_INT_SOU・・
 0x3201. AM_RSQ_SNR_HI_T・
 0x3202. AM_RSQ_SNR_LO_T・
 0x3203. AM_RSQ_RSSI_HI・・
 0x3204. AM_RSQ_RSSI_LO・・
 0x3300. AM_SOFT_MUTE_R・・
 0x3400. AM_SEEK_BAND_B・・
 0x3401. AM_SEEK_BAND_TOP
 0x3402. AM_SEEK_FREQ_S・・
 0x3403. AM_SEEK_TUNE_S・・
 0x3404. AM_SEEK_TUNE_R・・
 0x4000. RX_VOLUME
 0x4001. RX_HARD_MUTE

Pr:OPAMP オペアンプ関係
PrO:送受信機  Si4735
PrO:オペアンプ  LM324
 LM358
Pr:Prプロセッサ関係
PrP:プロセッサ
動作比較
 STM32F動作比較
 CH32V203&STM32F 動作比較
 arduino動作比較
raspberrypi関係
 RaspberryPiハード
CH32V関係
 -CH32V開始
 -203K8T6(32Pin)開始
 -203C8T6(48P)開始
 -003J4M6(8Pin)開始
 -003F4P6(20Pin)開始
 -Moun River StudioⅡ
 プログラミング!
  203_GPIO関係
  203_TIME関係
  203_TIME Encoder
  203_I2C関係
  203_1-Wire関係
  003_DS18B20テスター
  USART(UART)関係
  DS18B20をModBus制御
 -マニュアル
 203データシート
 203取説
  MBA メモリとバス方式
  PWR 電力制御
  RCC リセット・拡張・クロック
  BKP バックアップレジスタ
  CRC 巡回冗長検査
  RTC リアルタイムクロック
  GPIO GPIOと代替機能
  DMA ダイレクトメモリアクセス制御
  ADTM 高度な制御タイマー
  GPTM 汎用タイマー
  BCTM 基本タイマー
  USART 同期非同期通信
arduino関係
 ESP12関係
 (a)ESP-8266D1mini注意
PrP:その他  RS485ドライバー
 CP2102 BRIDGE
 WCH-LinkEエミュレーター
Pr:Wire 電線関係
Pr:Resistance 抵抗
Pr:Capacitor コンデンサ
Pr:Coil コイル
Pr:PassiveElmt 受動素子
Pr:Diode ダイオード関係
Pr:Tr トランジスタ関係
2SC1815
 リレードライバー設計
 アンプ設計
 発振器
TLP152
 TLP152テスト
TLP2361
 TLP2361テスト
TLP5754
 TLP5754テスト
Pr:Source 電源関係  ツェナーダイオード
 TL431
 LM317
PrS:Downモジュール
 EGS002_IR2110S
 SKU011012
 ACDC02
 XH_M299
 LM2596
 Mini360_MP23070N
 DROK
 WH140
PrS:UPモジュール
 MT3608
PrS:充電モジュール
 TP4056
Pr:Sensor_AD_時計等
PrS:電圧、電流
ADS1115 16bit4CH I2C A/D
 Hardware
 RaspberryPi_コマンド接続
 RaspberryPi_Python
 Arduino
 CH23V203 MounRiverStudioⅡ
INA226 I2C 直流電圧電流
 Hardware
 Arduino
 RaspberryPi_Python
WCS 電流ホール素子
 Hardware
PrS:温度、気圧、湿度、照度
BNE280 I2C 気圧,湿度,気温
 Hardware
 Arduino
 RaspberryPi_Python
BH1750 I2C 照度
 Hardware
 Arduino
 RaspberryPi_Python
DS18B20 1-Wire 温度計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:時間、日時
DS3231 I2C 時計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:表示器
MAR3953 320X480 3.95"
 概要と線や点を描く
 フォントを描く
SSD1306 I2C 0.96"OLED
 Hardware
 Arduino
 RaspberryPi_Python
Pr:Old Processor他
Ot:Others その他
この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。

1 プロパティ 0x1402. FM_SEEK_FREQ_SPACING 概要

FM_SEEK_FREQ_SPACING
FMシーク時の周波数間隔を選択します。
有効な値は5、10、20の3つのみです。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードのときにのみ設定または読み取りが可能です。
デフォルトは100 kHzです。

対応モード:すべて
デフォルト値:0x000A




2 プロパティ

2.1 プロパティリスト

Bit上位バイト PROPH下位バイト PROPL
1514131211109 8 7 6 5 4 3 2 1 0
Name SKSPACE

BitNameFunction
15:0SKSPACEFMシーク時の周波数間隔。
シーク機能実行時の周波数間隔を選択します。
10 kHz単位で指定します。
有効な値は5(50 kHz)、10(100 kHz)、20(200 kHz)の3つのみです。
デフォルト値は10です。

2.2 プロパティ

本プロパティは、FMモードにおいて自動選局(FM_SEEK_START)コマンドを実行した際、次の選局候補を探すために周波数をステップさせる「周波数間隔(チャネルスペース)」を設定します。
世界の各地域(日本、アメリカ、ヨーロッパなど)によって異なるFM放送のチャネル割り当て間隔に、内蔵シークエンジンを適合させるためのプロパティです。
デフォルト値は 0x0014(十進数で20、つまり 200 kHz)に設定されており、米国市場のFMチャネル間隔に準拠しています。

2.2.1 SKSPACE (FM Seek Frequency Spacing)

目的と概要:
自動選局時の周波数ステップ間隔を以下の3つのインデックス値から選択して指定します。
1 (0x01) : 100 kHz ステップ(日本・ヨーロッパなどの標準)
2 (0x02) : 200 kHz ステップ(アメリカなどの標準、デフォルト)
0 (0x00) : 50 kHz ステップ(一部の欧州・特殊環境用)
AN332に明記されない目的と解説:
日本国内運用における「シーク空振り」の完全な回避:
AN332プログラミングガイドのデフォルト(200kHz)のまま日本国内(100kHzステップ)でシークをかけると、偶数チャネル(例: 80.0MHz)は拾えても、 奇数チャネル(例: 80.1MHzや81.3MHzなど)に配置された放送局をシークエンジンが物理的に飛び越えてしまい、永久に受信できない状態になります。
本プロパティを明確に 1 (100kHz) に書き換えるステップは、日本向けFMレシーバーを構築する上で「ファースト・プライオリティ」となる絶対必須の処理です。
Eスポ受信時における「隣接チャネル混信」の切り分け性能向上:
50kHzステップ(0)への動的切り替えは、Eスポ発生時に特に威力を発揮します。海外からの強力なスポラディックE層による電波は、 国内のチャネルプラン(100kHz刻み)の「隙間」にあたる周波数(例: 87.55MHzや87.65MHzなど)で飛び込んでくるケースがあります。
あえて50kHzステップに設定しておくことで、これら国内規格外の微弱な海外局も内蔵シークで正確にロックオンし、隣り合う強力な国内局の混信(カブリ)から完全に分離して受信するための技術的布石となります。





3 応答パラメータ

STATUS (Status Byte)
[目的と概要]デバイスの現在の全体ステータスを返します。
最上位ビットの CTS (Clear to Send) は、デバイスが次のコマンドを受け付けられる状態(1)か、処理中(0)かを示します。
ERR ビット(Bit 6)が 1 の場合は、直前のコマンドやパラメータに不正があったことをホストに伝えます。

RESP1 (Response Byte 1 / High Byte)
[目的と概要]GET_PROPERTY 実行時にのみ意味を持ち、設定されている16ビットのプロパティ値のうち上位8ビット(MSB)を返します。
FM_RSQ_RSSI_HI_THRESHOLD の有効範囲は 0〜127(7ビット)であるため、このバイトは常に 0x00 となります。

RESP2 (Response Byte 2 / Low Byte)
[目的と概要]GET_PROPERTY 実行時にのみ意味を持ち、設定されているプロパティ値の下位8ビット(LSB)を返します。
ここに現在設定されている RSSIH の値(0x00〜0x7F)が格納されて返ってきます。
>



4 その他(Google AI (Gemini) の見解)

4.1 コマンドの重要ステップと注意事項

Powerupモードでの実行必須:
必ず POWER_UP (0x01) コマンドを発行し、デバイスが完全にFM受信モード(CTS=1)になった後に設定を行ってください。

手動選局コマンドとの連動性の誤解に注意:
本プロパティはあくまで「内蔵の自動シーク(FM_SEEK_START)時」のステップ幅を規定するものです。
ホストマイコン側から直接周波数を指定してチューニングする FM_TUNE_FREQ (0x20) コマンドを使用する場合は、本プロパティの設定値に関わらず、常に10kHz刻みの任意の周波数をピンポイントで指定可能です。

入力値の直接指定(Hzではない):
100や50という物理的な数値を書き込むのではなく、0, 1, 2 という「インデックス番号」を正確に書き込む必要があります。

4.2 もう少し踏み込んだ応用展開

「高速ざっくりスキャン」と「精密DX探索」の2段階シークモード:
固定受信機において、普段の選局時は 1 (100kHz) に設定して国内局をサクサクと快適に巡回させます。
一方で、Eスポ観測時や夜間の超遠距離受信モード(DXモード)が有効化された際は、プログラム側で本プロパティを 0 (50kHz) に引き下げ、内蔵シークの歩幅を極限まで細かくします。
これにより、国内の正規局の間座に滑り込んでいる未知の海外FM波や、隣接チャンネルに歪んで漏れてきている微弱な混信成分までをも自動で検出・ホールドさせる、 マニア好みの「超精密微調シークアルゴリズム」がホスト側の単純なプロパティ操作だけで実現可能になります。

4.3 デバッグ時のチェックリスト

日本国内の放送局をシークする際、値がデフォルトの 2 (200kHz) のままになっていないか?(必ず 1 (100kHz) に書き換えているか確認してください)
シークを実行した際、たとえば 80.0 MHz からスタートして 80.1 MHz, 80.2 MHz と、意図した通りのステップ幅で周波数が遷移しているか?(FM_TUNE_STATUS コマンドで現在周り続けている周波数をポーリングすることで確認できます)
SET_PROPERTY 発行直後に STATUS の CTS ビットをポーリングし、内部レジスタへの反映を100%保証してからシークを開始しているか?

4.4 まとめ

FM_SEEK_FREQ_SPACING(0x1402)は、Si4735の自動シークエンジンに対し、「各国の電波法(チャネルプラン)」という地理的ルールを叩き込むための必須プロパティです。
固定設置型の受信機において、日本国内運用のための「100kHz(1)」指定を確実に行うことはもちろん、遠距離受信やEスポ追従のコンディションに応じて「50kHz(0)」への動的拡張を使い分けることで、 チップ単体では成し得ない「海外局の隙間受信」に完全対応した、極めてディープな高級モニターレシーバーへとシステムを昇華させることができます。






































更新日 2026/07/11 11:56  管理者 平林 剛Hirabayashi Takeshi