この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 0x3402. AM_SEEK_FREQ_SPACING 概要
AM_SEEK_FREQ_SPACING
シーク実行時のAM帯域における周波数間隔を設定します。
この周波数間隔は、現在選局されている周波数から次に選局される周波数までの間隔を決定します。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードの時のみ設定または読み出しが可能です。
デフォルトの周波数間隔は10 kHzです。
対象: すべて
デフォルト: 0x000A
単位: kHz
有効な値: 1 (1 kHz)、5 (5 kHz)、9 (9 kHz)、10 (10 kHz)
推奨値:
米国AM: 10 (10 kHz)
アジアAM: 9 (9 kHz)
SW: 5 (5 kHz)
LW: 9 (9 kHz)
シーク実行時のAM帯域における周波数間隔を設定します。
この周波数間隔は、現在選局されている周波数から次に選局される周波数までの間隔を決定します。
次のコマンドを送信しても安全な状態になると、CTSビット(およびオプションの割り込み)がセットされます。
このプロパティは、パワーアップモードの時のみ設定または読み出しが可能です。
デフォルトの周波数間隔は10 kHzです。
対象: すべて
デフォルト: 0x000A
単位: kHz
有効な値: 1 (1 kHz)、5 (5 kHz)、9 (9 kHz)、10 (10 kHz)
推奨値:
米国AM: 10 (10 kHz)
アジアAM: 9 (9 kHz)
SW: 5 (5 kHz)
LW: 9 (9 kHz)
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 | 0 | 0 | 0 | AMSKSPACE | |||
| Bit | Name | Function |
|---|---|---|
| 3:0 | AMSKSPACE | AMシーク周波数間隔 AMバンドでシークを行う際の周波数間隔を設定します。 デフォルトの周波数間隔は10 kHzです。 |
2.2 プロパティ
AMバンド(中波、短波、長波含む)でシーク(自動選局)動作を行う際の周波数ステップ(間隔)を設定・決定するためのプロパティです。
シーク実行時、現在受信中の周波数から次にスキャンする周波数までの距離をこの設定値(kHz単位)に基づいて移動します。
本プロパティはPowerupモード時のみ設定および読み出しが可能です。
シーク実行時、現在受信中の周波数から次にスキャンする周波数までの距離をこの設定値(kHz単位)に基づいて移動します。
本プロパティはPowerupモード時のみ設定および読み出しが可能です。
2.2.1 AMSKSPACE (AM Seek Spacing)
目的と概要:
1 (1 kHz)
5 (5 kHz)
9 (9 kHz)
10 (10 kHz)
AN332に明記されない目的と解説:
1 kHz間隔での超微細シークを実行します。
5 (5 kHz)
5 kHz間隔でのシークを実行します。主に短波帯(SW)での推奨値です。
9 (9 kHz)
9 kHz間隔でのシークを実行します。主にアジア、ヨーロッパ、オセアニアのAM(中波)および長波(LW)での推奨値です。
10 (10 kHz)
0 kHz間隔でのシークを実行します(デフォルト値)。主に北米・南米(USなど)のAM(中波)での推奨値です。
通常の中波放送では使用しません。主に短波(SW)帯の微調密接局のシークや、アマチュア無線・SSBパッチ適用時のステップ補正、
独自のステップスキャンアルゴリズムを構築する際の最小単位として利用されます。
国際短波放送の標準的なチャンネルプラン(5 kHzステップ)に完全一致させるために使用されます。
ITU(国際電気通信連合)第1地域および第3地域の放送規格に準拠した自動選局を最速で行うために必須の設定です。
FCC(連邦通信委員会)管轄の第2地域規格に準拠します。
日本の環境で10 kHzのままシークすると、9 kHzステップの国内局をすべて見落とす原因になります。
日本の環境で10 kHzのままシークすると、9 kHzステップの国内局をすべて見落とす原因になります。
3 応答パラメータ
プロパティ設定(SET_PROPERTY)時および取得(GET_PROPERTY)時の応答パラメータです。
STATUS (ステータスバイト)
RESP1 〜 RESP4 (プロパティ値取得時のみ)
STATUS (ステータスバイト)
チップの現在の状態を返します。
最上位ビットの CTS (Clear to Send) が 1 になることで、コマンドが正常に処理され、次のコマンドを受け入れ可能になったことをホストに伝えます。
最上位ビットの CTS (Clear to Send) が 1 になることで、コマンドが正常に処理され、次のコマンドを受け入れ可能になったことをホストに伝えます。
RESP1 〜 RESP4 (プロパティ値取得時のみ)
GET_PROPERTY コマンドを送信した場合、設定されている16ビットのプロパティ値(AM_SEEK_FREQ_SPACING の現在の値)が返されます。
正しく書き込まれたかの検証(ベリファイ)に使用します。
正しく書き込まれたかの検証(ベリファイ)に使用します。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
シーク範囲との不整合に注意:
デフォルト値の罠:
シークを開始する前に、必ず下限周波数(AM_SEEK_BAND_BOTTOM)と上限周波数(AM_SEEK_BAND_TOP)を設定してください。
これら全体の範囲が、設定した AM_SEEK_FREQ_SPACING の倍数になっていないと、上限・下限付近でシークがループするか、 異常終了する挙動を見せることがあります。
これら全体の範囲が、設定した AM_SEEK_FREQ_SPACING の倍数になっていないと、上限・下限付近でシークがループするか、 異常終了する挙動を見せることがあります。
デフォルト値の罠:
チップの初期値は 10 kHz です。国内向け(9 kHz)ラジオを制作する場合、Powerup後に明示的に 0x0009 を書き込まないと、
自動選局が一切機能しない(または奇数局しか引っかからない)状態に陥ります。
4.2 もう少し踏み込んだ応用展開
バンド自動判別連動アルゴリズム:
高速スキャン&微調整の2段階シーク:
ファームウェア側で「受信バンド(MW / SW / LW)」を切り替える関数をトリガーに、
この 0x3402 プロパティを動的に書き換える「自動ステップ割り当て」の実装を推奨します。
ユーザーにステップを意識させないシームレスな操作感が実現できます。
ユーザーにステップを意識させないシームレスな操作感が実現できます。
高速スキャン&微調整の2段階シーク:
まずは 9 kHz や 5 kHz の標準ステップで超高速シーク(AM_SEEK)を走らせ、局を検知した後に 1 kHz ステップに切り替えて微調シーク、
または AM_TUNE_FREQ で周辺を1 kHzずつ探ることで、隣接局の混信を避けた最適な同調ポイントをソフトウェア側で自動判定できます。
4.3 デバッグ時のチェックリスト
SET_PROPERTY コマンド発行直後、ステータスバイトの CTS ビットが立っているか(待機処理が入っているか)。
短波(SW)帯シーク時に、間隔を 5 にしているか(9 や 10 のままだと、多くの短波放送局をスキップします)。
シークが特定の周波数で無限ループしていないか(その場合は、バンド端の設定値とステップ幅の余りを確認してください)。
現在のモードが本当にAM受信モード(AM_RXI)になっているか(FMモード時にこのプロパティを送るとエラーになります)。
短波(SW)帯シーク時に、間隔を 5 にしているか(9 や 10 のままだと、多くの短波放送局をスキップします)。
シークが特定の周波数で無限ループしていないか(その場合は、バンド端の設定値とステップ幅の余りを確認してください)。
現在のモードが本当にAM受信モード(AM_RXI)になっているか(FMモード時にこのプロパティを送るとエラーになります)。
4.4 まとめ
AM_SEEK_FREQ_SPACING は、Si4735をマルチバンド(中波・短波・長波)
ラジオとして正常に機能させるための基礎かつ最重要の環境設定プロパティです。
地域ごとの電波法(9kHz/10kHz)やバンド特性(5kHz/1kHz)に合わせて動的に制御することで、 DSPラジオとしてのシーク精度と体験を最大限に高めることができます。
地域ごとの電波法(9kHz/10kHz)やバンド特性(5kHz/1kHz)に合わせて動的に制御することで、 DSPラジオとしてのシーク精度と体験を最大限に高めることができます。
