この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 0x1404. FM_SEEK_TUNE_RSSI_THRESHOLD 概要
FM_SEEK_TUNE_RSSI_THRESHOLD
有効なFMシーク/チューンとみなすためのRSSI閾値を設定します。次のコマンドを送信可能な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモード時のみ設定または読み出しが可能です。
デフォルト値は20 dBμVです。
対応デバイス:すべて
デフォルト値:0x0014
単位:dBμV
ステップ:1
範囲:0~127
有効なFMシーク/チューンとみなすためのRSSI閾値を設定します。次のコマンドを送信可能な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモード時のみ設定または読み出しが可能です。
デフォルト値は20 dBμVです。
対応デバイス:すべて
デフォルト値:0x0014
単位:dBμV
ステップ:1
範囲:0~127
2 プロパティ
2.1 プロパティリスト
| Bit | 上位バイト PROPH | 下位バイト PROPL | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | SKRSSI | ||||||
| Bit | Name | Function |
|---|---|---|
| 6:0 | SKRSSI | FMシーク/チューニング時の受信信号強度(RSSI)閾値。 シークまたはチューニング中に有効なチャンネルが検出されたかどうかを判定するためのRSSI閾値です。 単位はdBμVで、1 dBμV刻み(0~127)で指定します。 デフォルト値は20 dBμVです。 |
2.2 プロパティ
本プロパティは、FMモードでのオートシーク(FM_SEEK_START)実行時、チップが「有効な放送局が存在する」とみなしてシークを自動停止させるための「最低限必要なRSSI(受信信号強度)」のしきい値を設定します。
現在の周波数における受信電界強度が、本プロパティで設定した値を以上(Equal or Above)であり、かつ前項のSNRしきい値を満たしている場合に、シークエンジンは局を発見したと判断してその周波数でホールドします。
デフォルト値は 0x0014(20 dBμV)です。
現在の周波数における受信電界強度が、本プロパティで設定した値を以上(Equal or Above)であり、かつ前項のSNRしきい値を満たしている場合に、シークエンジンは局を発見したと判断してその周波数でホールドします。
デフォルト値は 0x0014(20 dBμV)です。
2.2.1 SKRSSI (FM Seek/Tune RSSI Threshold)
目的と概要:
有効な局として判定するRSSIの最低しきい値を 0〜127 dBμV の範囲(1 dBμVステップ)で設定します。
先述のSNRしきい値(0x1403)と緊密に連携し、空間を飛び交う無数の電波(またはノイズ)の中から、一定以上のエネルギーを持った信号だけを選別するための「物理的な電界フィルター」として機能します。
AN332に明記されない目的と解説:
先述のSNRしきい値(0x1403)と緊密に連携し、空間を飛び交う無数の電波(またはノイズ)の中から、一定以上のエネルギーを持った信号だけを選別するための「物理的な電界フィルター」として機能します。
固定設置アンテナの利得(ゲイン)過多による「偽物の局」への誤停止ブロック:
[AN332]では単に基準値としての説明ですが、固定受信環境において大型の外部アンテナ(多エレメントの八木アンテナなど)やブースターを接続している場合、 本来は局が存在しない周波数のフロアノイズ(ノイズ床)自体がアンテナ利得によって20 dBμV以上に増幅されてしまうことがあります。
デフォルト(20 dBμV)のままだと、シークエンジンがすべての周波数を「局がある」と誤認して1ステップごとに毎回停止するハングアップのような状態に陥ります。
本プロパティを設置アンテナの素性に合わせて 25〜35 dBμV 付近に適正に引き上げておくことで、アンテナ由来のノイズ床を完全にまたぎ越し、 本物の放送局だけを的確にハントするための「環境最適化ボリューマー」として機能します。
[AN332]では単に基準値としての説明ですが、固定受信環境において大型の外部アンテナ(多エレメントの八木アンテナなど)やブースターを接続している場合、 本来は局が存在しない周波数のフロアノイズ(ノイズ床)自体がアンテナ利得によって20 dBμV以上に増幅されてしまうことがあります。
デフォルト(20 dBμV)のままだと、シークエンジンがすべての周波数を「局がある」と誤認して1ステップごとに毎回停止するハングアップのような状態に陥ります。
本プロパティを設置アンテナの素性に合わせて 25〜35 dBμV 付近に適正に引き上げておくことで、アンテナ由来のノイズ床を完全にまたぎ越し、 本物の放送局だけを的確にハントするための「環境最適化ボリューマー」として機能します。
3 応答パラメータ
STATUS (Status Byte)
RESP1 (Response Byte 1 / High Byte)
RESP2 (Response Byte 2 / Low Byte)
[目的と概要]デバイスの現在の全体ステータスを返します。
最上位ビットの CTS (Clear to Send) は、デバイスが次のコマンドを受け付けられる状態(1)か、処理中(0)かを示します。
ERR ビット(Bit 6)が 1 の場合は、直前のコマンドやパラメータに不正があったことをホストに伝えます。
最上位ビットの 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 となります。
FM_RSQ_RSSI_HI_THRESHOLD の有効範囲は 0〜127(7ビット)であるため、このバイトは常に 0x00 となります。
RESP2 (Response Byte 2 / Low Byte)
[目的と概要]GET_PROPERTY 実行時にのみ意味を持ち、設定されているプロパティ値の下位8ビット(LSB)を返します。
ここに現在設定されている RSSIH の値(0x00〜0x7F)が格納されて返ってきます。
ここに現在設定されている RSSIH の値(0x00〜0x7F)が格納されて返ってきます。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
Powerupモードでの実行必須:
SNR(0x1403)との複合「AND」ロジック:
必ず POWER_UP (0x01) コマンドを発行し、デバイスが完全にFM受信モード(CTS=1)になった後に設定を行ってください。
SNR(0x1403)との複合「AND」ロジック:
重ねてになりますが、シーク停止の条件は「RSSI ≥ SKRSSI」かつ「SNR ≥ SKSNR」です。
電界強度(RSSI)だけがどれほど強力でも、SNRが基準を満たさなければシークは停止しません。逆もまた然りです。
電界強度(RSSI)だけがどれほど強力でも、SNRが基準を満たさなければシークは停止しません。逆もまた然りです。
4.2 もう少し踏み込んだ応用展開
アンテナ感度・受信環境に応じた「スマート自動キャリブレーション(校正)」の実装:
固定レシーバーのホストマイコン側ソフトウェアにおいて、起動時に「放送局が存在しないことが分かっている特定の周波数」を数箇所ダミー受信させ、
そのロケーションにおける生のフロアノイズ(RSSI値)を測定する親切なシステムが構築できます。
例えばその環境のノイズ床が平均 22 dBμV であれば、本プロパティ(SKRSSI)を自動的に ノイズ床 + 6dB = 28 dBμV に自動計算して動的設定します。
これにより、ユーザーが室内アンテナから屋外の巨大八木アンテナへ繋ぎ替えたとしても、プログラムがシークの誤停止を自動で学習・排除する「賢いオート環境適応シーク」が実現できます。
例えばその環境のノイズ床が平均 22 dBμV であれば、本プロパティ(SKRSSI)を自動的に ノイズ床 + 6dB = 28 dBμV に自動計算して動的設定します。
これにより、ユーザーが室内アンテナから屋外の巨大八木アンテナへ繋ぎ替えたとしても、プログラムがシークの誤停止を自動で学習・排除する「賢いオート環境適応シーク」が実現できます。
4.3 デバッグ時のチェックリスト
アンテナを接続した状態でシークが全く止まらない場合、SKRSSI の値が現在の受信環境に対して高すぎないか?(一時的に 0 や 10 などに下げて挙動の変化を見てください)
逆に局がない場所で細かく止まりすぎる場合、大型アンテナによるフロアノイズの持ち上がりが原因ではないか?(その場合は、値を 25〜30 付近へ引き上げてみてください)
SET_PROPERTY 発行直後に STATUS の CTS ビットをポーリングし、内部レジスタへの反映を100%保証してからシークを開始しているか?
逆に局がない場所で細かく止まりすぎる場合、大型アンテナによるフロアノイズの持ち上がりが原因ではないか?(その場合は、値を 25〜30 付近へ引き上げてみてください)
SET_PROPERTY 発行直後に STATUS の CTS ビットをポーリングし、内部レジスタへの反映を100%保証してからシークを開始しているか?
4.4 まとめ
FM_SEEK_TUNE_RSSI_THRESHOLD(0x1404)は、Si4735のシークエンジンに対し、「物理的な電波の力強さ」という絶対的な合格ラインを提示する重要プロパティです。
固定設置型の受信機においては、使用するアンテナの利得や設置された部屋の電磁ノイズ環境(PCやモニターからの輻射)によって最適な値が大きく変動します。
hobbylab.jpのページで解説される際、前項のSNR(品質)と今回のRSSI(強度)のAND条件の重要性、そして固定アンテナ運用時におけるノイズ床の跨ぎ越しテクニックを網羅することで、 自作DSPラジオの選局フィールを市販の高級機以上に洗練させるための極めて実戦的なリファレンスが完成します。
固定設置型の受信機においては、使用するアンテナの利得や設置された部屋の電磁ノイズ環境(PCやモニターからの輻射)によって最適な値が大きく変動します。
hobbylab.jpのページで解説される際、前項のSNR(品質)と今回のRSSI(強度)のAND条件の重要性、そして固定アンテナ運用時におけるノイズ床の跨ぎ越しテクニックを網羅することで、 自作DSPラジオの選局フィールを市販の高級機以上に洗練させるための極めて実戦的なリファレンスが完成します。
