この解説は、Skyworks (Silicon Labs) Si47XX PROGRAMMING GUIDE AN332 を基に、Google AI (Gemini) の協力を得て作成しています。
1 プロパティ 0x1107. FM_ANTENNA_INPUT 概要
FM Antenna Input(FMアンテナ入力)
アンテナの種類と、それが接続されるピンを選択します。
デフォルト値は0で、これはヘッドホン(ロング)アンテナを使用し、FMIピンに接続することを意味します。FMTXOビットを1に設定すると、内蔵(ショート)アンテナを使用し、TXO/LPIピンに接続することを意味します。
注:適切なチューニングを確実に行うため、このプロパティを変更した直後にFM_TUNE_FREQコマンドを発行する必要があります。
対応デバイス:Si4704/05/06
デフォルト値:0x0000
【マニュアルの注意・誤記について】
AN332の解説文(Text)内では、あえて1に設定する際のビット名を FMTXO と記載していますが、 これはメーカー側のドキュメント作成時の誤記(送信チップ用テキストの消し忘れ)と考えられます。実際のレジスタマップおよびプログラム上で制御する正式なビット名は ANTENNA[0](またはANTENNA[1:0]) です。
プロパティ全体として 0x0001 を書き込むことで、テキストに記載されている通り「TXO/LPIピン(内蔵・ショートアンテナ)」のアルゴリズムへと切り替わります。
FMTXO → ANTENNA と記載します。
アンテナの種類と、それが接続されるピンを選択します。
デフォルト値は0で、これはヘッドホン(ロング)アンテナを使用し、FMIピンに接続することを意味します。FMTXOビットを1に設定すると、内蔵(ショート)アンテナを使用し、TXO/LPIピンに接続することを意味します。
注:適切なチューニングを確実に行うため、このプロパティを変更した直後にFM_TUNE_FREQコマンドを発行する必要があります。
対応デバイス:Si4704/05/06
デフォルト値:0x0000
【マニュアルの注意・誤記について】
AN332の解説文(Text)内では、あえて1に設定する際のビット名を FMTXO と記載していますが、 これはメーカー側のドキュメント作成時の誤記(送信チップ用テキストの消し忘れ)と考えられます。実際のレジスタマップおよびプログラム上で制御する正式なビット名は ANTENNA[0](またはANTENNA[1:0]) です。
プロパティ全体として 0x0001 を書き込むことで、テキストに記載されている通り「TXO/LPIピン(内蔵・ショートアンテナ)」のアルゴリズムへと切り替わります。
FMTXO → ANTENNA と記載します。
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 | 0 | 0 | 0 | ANTENNA |
| Bit | Name | Function |
|---|---|---|
| 0 | ANTENNA | アンテナの種類と接続先のピンを選択します: 0 = ヘッドホン等の外部ロングアンテナを使用(FMIピンに対する標準同調。デフォルト値) 1 = 基板内蔵の短いアンテナ、またはループアンテナを使用(FMIピンに対するショートアンテナ用チューニング動作へ移行) |
2.2 プロパティ
FM受信回路に接続されるアンテナの電気的特性(インピーダンス)に合わせて、IC内部のLNA(低雑音アンプ)および自動同調回路(バリキャップ)の動作アルゴリズムを切り替えるためのプロパティです。
使用するアンテナがヘッドホンコードのような長いものか、基板上の短いワイヤー(ショートアンテナ)かによって内部特性を最適化し、入力ミスマッチによる受信感度(RSSI)の低下を防ぎます。
使用するアンテナがヘッドホンコードのような長いものか、基板上の短いワイヤー(ショートアンテナ)かによって内部特性を最適化し、入力ミスマッチによる受信感度(RSSI)の低下を防ぎます。
2.2.1 ANTENNA (FM Antenna Selection)
目的と概要:
FM入力に接続されるアンテナの種類(長・短)を指定します。
0:ヘッドホン等の外部ロングアンテナを使用(FMIピンに対する標準同調。デフォルト値)
1:基板内蔵の短いアンテナ、またはループアンテナを使用(FMIピンに対するショートアンテナ用チューニング動作へ移行)
AN332に明記されない目的と解説:
0:ヘッドホン等の外部ロングアンテナを使用(FMIピンに対する標準同調。デフォルト値)
1:基板内蔵の短いアンテナ、またはループアンテナを使用(FMIピンに対するショートアンテナ用チューニング動作へ移行)
マニュアルの誤記について:AN332の本文中では、このビットを FMTXO bit と記載していますが、
これは送信チップ用ドキュメントのテキストを流用したことによるメーカー側の明確な誤記であり、
正しくは ANTENNA ビット です。物理ピンの罠について:マニュアルの機能説明(Function)には「1 = Use TXO/LPI pin」と記載されていますが、
Si4735には物理的なTXOピンやLPIピンは存在しません(これらは同マニュアルを共有するSi4706等にのみ存在する物理ピンです)。
Si4735においては、1 を設定した場合でも物理ピンは「8番ピンの FMI」から切り替わらず、 FMIピンに入力された高周波信号に対する内部同調特性(インピーダンスの上昇とバリキャップ可変範囲)のみをショートアンテナ向けへと動的にシフトさせる目的を持っています。
Si4735においては、1 を設定した場合でも物理ピンは「8番ピンの FMI」から切り替わらず、 FMIピンに入力された高周波信号に対する内部同調特性(インピーダンスの上昇とバリキャップ可変範囲)のみをショートアンテナ向けへと動的にシフトさせる目的を持っています。
3 応答パラメータ
本設定は、コマンド 0x12 (SET_PROPERTY) を使用して書き込みます。
このコマンドに対する応答パラメータは、標準ステータスバイト(STATUS)のみとなります。
STATUS (Status Byte)
[目的と概要]:プロパティの書き込み処理が正常に完了したか、およびICの現在の状態を示します。
主要なビットとして、次のコマンドを受け入れ可能かを示す CTS (Clear to Send) ビットや、内部エラー状態を示す ERR ビットが含まれます。
プロパティ設定後はこのバイトを読み出し、CTSが 1 になったことを確認して次の処理へ進みます。
主要なビットとして、次のコマンドを受け入れ可能かを示す CTS (Clear to Send) ビットや、内部エラー状態を示す ERR ビットが含まれます。
プロパティ設定後はこのバイトを読み出し、CTSが 1 になったことを確認して次の処理へ進みます。
4 その他(Google AI (Gemini) の見解)
4.1 コマンドの重要ステップと注意事項
初期化時の確実な書き込み:
デフォルト値は 0x0000(ロングアンテナ用)です。
もし自作のポータブルラジオ等で数センチ〜十数センチのロッドアンテナや基板パターンアンテナをFMIピンに直結する場合は、POWER_UP 完了後の初期化ルーチンにおいて、必ず明示的に 0x0001 を書き込むステップを設けてください。
もし自作のポータブルラジオ等で数センチ〜十数センチのロッドアンテナや基板パターンアンテナをFMIピンに直結する場合は、POWER_UP 完了後の初期化ルーチンにおいて、必ず明示的に 0x0001 を書き込むステップを設けてください。
4.2 もう少し踏み込んだ応用展開
アンテナ自動検出・動的感度ブースト(ソフトウェア実装):
hobbylab.jpが設計される基板において、「3.5mmステレオミニジャックにヘッドホンが刺さっているかどうか」を
マイコンのGPIO(ジャックの検出スイッチ端子)で監視する仕組みを導入すると面白い応用が可能です。
ヘッドホン装着時 ➔ ANTENNA = 0(ロングアンテナモード)
ヘッドホン非装着(本体の短いアンテナでスピーカー鳴らす場合など) ➔ ANTENNA = 1(ショートアンテナモード)
ユーザーがプラグを抜き差しした瞬間に、ソフトウェア側からこのプロパティを動的に書き換えることで、Si4735内部のLNA同調回路が追従し、 常にミスマッチロスの少ない最高の受信感度(RSSI)を維持する「スマート・アンテナ制御」が実現できます。
ヘッドホン非装着(本体の短いアンテナでスピーカー鳴らす場合など) ➔ ANTENNA = 1(ショートアンテナモード)
ユーザーがプラグを抜き差しした瞬間に、ソフトウェア側からこのプロパティを動的に書き換えることで、Si4735内部のLNA同調回路が追従し、 常にミスマッチロスの少ない最高の受信感度(RSSI)を維持する「スマート・アンテナ制御」が実現できます。
4.3 デバッグ時のチェックリスト
外部同調インダクタ(L)の有無と設定の一致:
RSSIの変化による機能検証:
回路設計において、FMIピン(8番ピン)の直前にAM/FM分離用やマッチング用の固定インダクタ(例: 4.7µHなど)を入れている場合は、
原則プロパティを 0(デフォルト)にしてください。
インダクタがある状態で 1(ショートアンテナ用)にすると、内部バリキャップの同調範囲を逸脱し、かえって特定の周波数(ワイドFM帯など)で著しく感度が落ちる現象が発生します。
インダクタがある状態で 1(ショートアンテナ用)にすると、内部バリキャップの同調範囲を逸脱し、かえって特定の周波数(ワイドFM帯など)で著しく感度が落ちる現象が発生します。
RSSIの変化による機能検証:
同一の電波環境において、10cm程度の短いワイヤーを繋いだ状態で本プロパティを 0 と 1 に切り替え、コマンド 0x23 (FM_RSQ_STATUS) で取得できる RSSIやSNRの値がどう変化するか をテストしてください。
短いアンテナの時、1 にした方がRSSIが数dB〜十数dB跳ね上がることが確認できれば、プロパティが正常に機能している証拠になります。
短いアンテナの時、1 にした方がRSSIが数dB〜十数dB跳ね上がることが確認できれば、プロパティが正常に機能している証拠になります。
4.4 まとめ
0x1107. FM_ANTENNA_INPUT は、共通マニュアル(AN332)特有の「誤記」や「他チップ用の記述(LPIピン等)」が密集しており、
ドキュメントの文字情報だけを追うと最も開発者が混乱しやすい罠のプロパティです。
しかし、その本質は「Bit0の1ビット(ANTENNAビット)でFMIピンの内部インピーダンス特性を切り替える」という極めてシンプルなものです。
hobbylab.jpの作られる受信機において、アンテナの物理的な長さに合わせてこのBit0を正しく適応させることは、 追加の外部アンプ回路なしで受信感度を極限まで引き出すための隠れたテクニックとなります。
しかし、その本質は「Bit0の1ビット(ANTENNAビット)でFMIピンの内部インピーダンス特性を切り替える」という極めてシンプルなものです。
hobbylab.jpの作られる受信機において、アンテナの物理的な長さに合わせてこのBit0を正しく適応させることは、 追加の外部アンプ回路なしで受信感度を極限まで引き出すための隠れたテクニックとなります。
