この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 0x1204. FM_RSQ_RSSI_LO_THRESHOLD 概要
FM_RSQ_RSSI_LO_THRESHOLD
RSSIがこの閾値を下回った場合にRSQ割り込みを発生させる、低い方の閾値を設定します。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードのときにのみ設定または読み出しが可能です。
デフォルト値は0 dBμVです。
対応モード:すべて
デフォルト値:0x0000
単位:dBμV
ステップ:1
範囲:0~127
RSSIがこの閾値を下回った場合にRSQ割り込みを発生させる、低い方の閾値を設定します。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードのときにのみ設定または読み出しが可能です。
デフォルト値は0 dBμVです。
対応モード:すべて
デフォルト値:0x0000
単位: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 | RSSIL | 0 | 0 | 0 | 0 | 0 | 0 |
| Bit | Name | Function |
|---|---|---|
| 7:0 | RSSIL | FM RSQ RSSI低閾値。 RSSIがこの閾値を下回った場合にRSQ割り込みを発生させる閾値。 単位はdBμVで、1 dB刻み(0~127)で指定します。 デフォルト値は0 dBμVです。 |
2.2 プロパティ
本プロパティは、FM受信時におけるRSQ(受信信号品質)割り込みを発生させるための「RSSI(受信信号強度)の下限しきい値」を設定します。
現在の受信RSSI値がこのプロパティで設定した値を下回った(Below)際、条件が満たされ、ステータスレジスタの割り込みフラグがセットされます。
デフォルト値は 0x0000(0 dBμV)となっており、初期状態では実質的に下限割り込みが発生しない(最低値)ようにマスクされています。
現在の受信RSSI値がこのプロパティで設定した値を下回った(Below)際、条件が満たされ、ステータスレジスタの割り込みフラグがセットされます。
デフォルト値は 0x0000(0 dBμV)となっており、初期状態では実質的に下限割り込みが発生しない(最低値)ようにマスクされています。
2.2.1 RSSIL (RSSI Low Threshold)
目的と概要:
割り込みをトリガするRSSIの下限値を 0〜127 dBμV の範囲(1 dBμVステップ)で設定します。
FM_RSQ_INT_SOURCE (0x1200) プロパティ内の RSSILOEN ビットを有効にすることで、このしきい値を下回った際に GPO2/INT ピン経由でホストマイコンへリアルタイムに割り込み信号(RSQ_INT)を出力できます。
AN332に明記されない目的と解説:
FM_RSQ_INT_SOURCE (0x1200) プロパティ内の RSSILOEN ビットを有効にすることで、このしきい値を下回った際に GPO2/INT ピン経由でホストマイコンへリアルタイムに割り込み信号(RSQ_INT)を出力できます。
移動体受信時のフェージング・トンネル進入検知: 車載やポータブル機器において、ビル影やトンネルへの進入、マルチパスフェージングによる急激な電界沈み込みをミリ秒単位で検知し、
オーディオのミュートやモノラル化を先回りして行うトリガとして機能します。
非同期シークのブレーク条件判定: チップ内蔵のオートシークではなく、ホスト側でチューニングを細かく制御しながら独自のスキャンを行う際、 バックグラウンドでの無効局(ノイズ床)判定を高速化するために利用されます。
非同期シークのブレーク条件判定: チップ内蔵のオートシークではなく、ホスト側でチューニングを細かく制御しながら独自のスキャンを行う際、 バックグラウンドでの無効局(ノイズ床)判定を高速化するために利用されます。
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 コマンドの重要ステップと注意事項
初期値(0x00)の解放漏れに注意:
ソース有効化ビットの確認:
割り込みクリアの順序:
デフォルトが 0(最低値)のため、割り込み機能をテストする際は、まず現在の環境のノイズ床よりも高い値(例: 20〜30 dBμVなど)を設定しないと、電界低下の割り込みは絶対にトリガされません。
ソース有効化ビットの確認:
設定を反映させるには、必ず FM_RSQ_INT_SOURCE (0x1200) の RSSILOEN (Bit 0) を 1 にセットするステップを並行して行ってください。
割り込みクリアの順序:
割り込みが発生した後は、FM_RSQ_STATUS (0x23) コマンドを発行してステータスを読み出すことで、デバイス内部の割り込みフラグをクリアしてください。
クリアしないと、ピンの状態が戻らず次の低下を検知できません。
クリアしないと、ピンの状態が戻らず次の低下を検知できません。
4.2 もう少し踏み込んだ応用展開
動的オーディオ・ブレンドの補正:
ウィンドウ・コンパレータによる電界スタビリティ監視:
Si4735には自動ステレオ・モノラルブレンド(FM_AUDIO_BLEND_RSSI_~)がありますが、電界が極端に落ちる寸前にホスト側で先んじてハイカットフィルターを強めたり、
ソフトミュートの減衰スピードを動的に早めたりする「超快適リスニング制御」のトリガとして応用できます。
ウィンドウ・コンパレータによる電界スタビリティ監視:
前述の 0x1203 (HI) とこの 0x1204 (LO) を同時に有効化することで、電界が「一定の安定した範囲」に収まっているかを監視するウィンドウ・コンパレータを構成できます。
この範囲を逸脱した時だけホストが起動して処理を行うようにすれば、ホストマイコンの超低消費電力(Sleep)運用が可能になります。
この範囲を逸脱した時だけホストが起動して処理を行うようにすれば、ホストマイコンの超低消費電力(Sleep)運用が可能になります。
4.3 デバッグ時のチェックリスト
0x1200 (FM_RSQ_INT_SOURCE) の RSSILOEN は適切に有効化されているか?
アンテナを抜く、またはシールドボックスに入れた際に、期待通り GPO2/INT ピンが変化するか?
設定した RSSIL の値が、その地域の「放送局がない周波数のノイズ床(フロアノイズ)」よりも高く設定されているか?(低すぎると無信号状態でもトリガされません)
FM_RSQ_STATUS (0x23) を発行した際、応答の RSSI_LOW フラグ(Bit 0)が正しく 1 になっているか?
アンテナを抜く、またはシールドボックスに入れた際に、期待通り GPO2/INT ピンが変化するか?
設定した RSSIL の値が、その地域の「放送局がない周波数のノイズ床(フロアノイズ)」よりも高く設定されているか?(低すぎると無信号状態でもトリガされません)
FM_RSQ_STATUS (0x23) を発行した際、応答の RSSI_LOW フラグ(Bit 0)が正しく 1 になっているか?
4.4 まとめ
FM_RSQ_RSSI_LO_THRESHOLD(0x1204)は、受信品質の劣化やサービスエリア外への逸脱をいち早く察知するための防衛的プロパティです。
上限しきい値(0x1203)と組み合わせて「電界のHysteresis(ヒステリシス)ループ」や「ウィンドウ監視」をソフトウェア側で実装することで、 パチパチとした不快なノイズが鳴る前に音質をマイルドに変化させるなど、高級カーオーディオ並みの滑らかな追従制御が可能になります。
上限しきい値(0x1203)と組み合わせて「電界のHysteresis(ヒステリシス)ループ」や「ウィンドウ監視」をソフトウェア側で実装することで、 パチパチとした不快なノイズが鳴る前に音質をマイルドに変化させるなど、高級カーオーディオ並みの滑らかな追従制御が可能になります。
