Hobby Lab 趣味のモノ作り実験のサイトです。
部品 オペアンプ_関係 Si4735 マニュアル 0x22
1 0x22. FM_TUNE_STATUS 概要
2 コマンドパラメータ
2.1 パラメータリスト
2.2 パラメータ
2.2.1 CANCEL
2.2.2  INTACK
3 応答パラメータ
3.1 パラメータリスト
3.2 パラメータ
3.2.1 CTS
3.2.2 ERR
3.2.3 RSQINT
3.2.4 RDSINT
3.2.5 STCINT
3.2.6 BLTF
3.2.7 AFCRL
3.2.8 VALID
3.2.9 READFREQ H,L
3.2.10 RSSI
3.2.11 SNR
3.2.12 MULT
4 その他
4.1 シーク動作の裏側
4.2 疑問にお答え
4.2.1 Rail とは何か
4.2.2 RSSI,SNR,MULTの名称
4.2.3 Si4735 ANTCAPが読めない
4.2.4 SNRの算出方法

PrO:Si4735関係  Si4735について
 Si4735ラジオを作って見よう1
 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

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 コマンド 0x22. FM_TUNE_STATUS 概要

FM_TUNE_FREQまたはFM_SEEK_STARTコマンドのステータスを返します。
このコマンドは、現在の周波数、RSSI、SNR、マルチパス、およびアンテナ同調容量値(0~191)を返します。
ARG1のINTACKビットがセットされている場合、このコマンドはSTCINT割り込みビットをクリアします。
次のコマンドを安全に送信できる場合、CTSビット(およびオプションの割り込み)がセットされます。
このコマンドは、電源投入モードのときのみ送信できます。

使用可能環境:全環境
コマンド引数:1つ
応答バイト数:7




2 コマンドパラメータ

2.1 パラメータリスト

BitD7D6D5D4D3D2D1D0
CMD00000010
ARG1000000CANCELINTACK

ARGBitNameFunction
17:2Reserved常に0に書き込みます。
11CANCELシークをキャンセルします。
設定されている場合、現在進行中のシークを中止します。
10INTACKシーク/チューニング割り込みクリア。
設定されている場合、シーク/チューニング完了割り込みステータスインジケータをクリアします。

2.2 パラメータ

2.2.1 CANCEL

目的
現在チップ内部で実行されている自動選局(シーク処理)を、途中で強制的にキャンセル(中断)させる [AN332]。
解説
1 を設定して送信すると、チップは即座にスキャンを中止し、シークを開始する前の「元の周波数」へと戻ります [AN332]。
ユーザーがシーク中に「やっぱり探すのをやめたい」とキャンセルボタンを押した時などに、このフラグを 1 にしてコマンドを発行します [AN332]。 通常時(単に状態を読み出したいだけのアクティブな選局後など)は 0 にしておきます [AN332]。

2.2.2 INTACK

(Interrupt Acknowledge)
目的
選局やシークが完了したことを示す割り込みフラグ(STCINT)を、チップ内部でクリア(0にリセット)する [AN332]。
解説
1 を設定して送信すると、ステータスバイト内にある STCINT ビットが 0 にクリアされます [AN332]。
マイコン側が「選局完了の通知を確かに受け取った(了解した)」という合図(Acknowledge)をチップに送るためのフラグです [AN332]。
通常、選局完了後に初めてこの 0x22 コマンドを発行する際は 1 に設定します [AN332]。




3 応答パラメータ

3.1 パラメータリスト

BitD7D6D5D4D3D2D1D0
STATUSCTSERRXXRSQINTRDSINTXSTCINT
RESP1BLTFxxxxxAFCRLVALID
RESP2READFREQH
RESP3READFREQL
RESP4RSSI
RESP5SNR
RESP6MULT
RESP7READANTCAP

RESPBitNameFunction
17BLTFバンドリミット。
シークがバンドリミットに達した場合(FM_START_SEEK の WRAP = 0)、または元の周波数に戻った場合(WRAP = 1)を報告します。
16:2Reserved常に0に書き込みます。
11AFCRLAFC レールインジケータ。
AFC がレール状態の場合に設定されます。
10VALID有効チャンネル。
シーク/チューニングプロパティ(0x1403、0x1404、0x1108)に基づいて、チャンネルが現在有効であり、シーク中に検出された場合に設定されます。
27:0READFREQH読み取り周波数上位バイト。
このバイトは、READFREQL と組み合わせて、チューニング中の周波数(10 kHz)を返します。
37:0READFREQL読み取り周波数下位バイト。
このバイトは、READFREQHと組み合わせることで、チューニング中の周波数(10 kHz)を返します。
47:0RSSI受信信号強度インジケータ。
このバイトには、チューニング完了時の受信信号強度(dBμV)が含まれます。
57:0SNRSNR
このバイトには、チューニング完了時のSNR値(dB)が含まれます。
67:0MULTマルチパス
このバイトには、チューニング完了時のマルチパス値が含まれます。マルチパスインジケータは、Si4706-D50、Si4704/05/30/31/34/35-D50以降、およびSi4732でのみ利用可能です。
77:0READANTCAPアンテナチューニングコンデンサの読み取り(Si4704/05/06のみ)。
このバイトには、現在のアンテナ同調コンデンサの値が含まれています。

3.2 パラメータ

応答の先頭パラメータ
応答(STATUSバイト)に含まれる各ビット(CTS, ERR, RSQINT, RDSINT, STCINT)は、「デバイスの現在の処理状態」や「各種割り込み(通知)の発生」をホストMCUに知らせる目的で設計されています。 STATUSバイトの信頼性:Si4735の仕様上、いくつかのコマンド送信時に返ってくるSTATUSバイトでは、CTS以外の割り込みビット(RSQINT, RDSINT, STCINTなど)がリアルタイムに更新されない場合があります。
正しい確認方法:正確な割り込みステータスを確認したい場合は、STATUSバイトを直接過信するのではなく、専用の割り込み確認コマンド(例:GET_INT_STATUS (0x14) コマンドなど)を明示的に発行して最新の状態を読み出すのが一般的なセオリーとなっています。

3.2.1 CTS(Clear to Send)

目的:
デバイスが次のコマンドを受け付けられる状態かどうかを判定する。
解説:
最も重要なビットです。Si4735が前のコマンドの処理を完了し、「次のコマンドを送信しても安全(送信可)」になると1にセットされます。
0の間はデバイスが内部処理中(ビジー)であるため、ホストMCUは次のコマンド送信を待機する必要があります。

3.2.2 ERR(Error)

目的:
直前に送信したコマンドが正常に実行されたか、エラーが発生したかを判別する。
解説:
コマンドの引数(引数の値が範囲外など)や、無効なコマンドが送られた場合に1にセットされます。
ホスト側のプログラムで例外処理や再試行(リトライ)を行うために使用します。

3.2.3 RSQINT(Received Signal Quality Interrupt)

目的:
受信信号の品質(電界強度RSSIやSNRなど)が、あらかじめ設定した閾値を超えた(または下回った)ことを通知する。
解説:
「受信品質の変化」をトリガーに処理を行いたい場合に使用します。
例えば、現在のチャンネルの電波が急激に弱くなったことを検知して自動で再スキャンをかける、といった機能を実装する目的で利用されます。

3.2.4 RDSINT(Radio Data System Interrupt)

目的:
RDS(文字情報などのデータ放送)のデータバッファ(FIFO)に新しいデータが格納されたことを通知する。
解説:
FM放送などで送られてくる「RDS/RBDSデータ(番組名や楽曲情報など)」を受信した際に1になります。
ホストMCUはこのビットを見てからデータを読み出す(FM_RDS_STATUS コマンドを発行する)ことで、無駄な空読みを防ぎ効率的にテキストデータを取得できます。

3.2.5 STCINT(Seek/Tune Complete Interrupt)

目的:
選局(Tune)操作または自動選局(Seek)操作が完了したことを通知する。
解説:
周波数を変更するコマンド(FM_TUNE_FREQ や FM_SEEK_START など)は内部処理に時間がかかります。
デバイスが「目的の周波数への同調、または次の放送局の検知を完了した」時点でこのビットが1になります。
選局完了のタイミングを正確に把握する目的で使用します。

3.2.6 BLTF (Band Limit Flag)

目的:
自動選局(シーク)を行った際、目的の局が見つからないままバンドの端(上限・下限)に到達してしまったかを判別する [AN332]。
解説:
1 のときは、シーク中に「有効な放送局が1つも見つからないまま、バンドの境界に達してシークが終了した(あるいはWRAP=0で停止した)」ことを意味します [AN332]。シーク失敗の例外処理をマイコン側で行うために使用します [AN332]。

3.2.7 AFCRL (AFC Rail Flag)

目的:
内部のAFC(自動周波数制御)回路が制御限界(レールの端)に達してしまい、周波数を正しく追従できなくなっているかを判別する [AN332]。
解説:
通常は 0(正常)です [AN332]。
もし 1 になった場合は、電波が極端に不安定であるか、周波数のズレが大きすぎて内部の追従回路が限界を迎えている(飽和している)ことを示します [AN332]。

3.2.8 VALID (Valid Station)

目的:
現在合わせている周波数に、「有効な(聴取に耐える十分な強さの)放送局が存在するか」をチップが自動判定した結果 [AN332]。
解説:
非常に便利なフラグです。
現在受信中の周波数の電波強度(RSSI)やSNRが、あらかじめ設定したしきい値をクリアしている(=間違いなく放送局の電波である)とチップが認めた場合に 1 になります [AN332]。
0 の場合は、単なるノイズ(空きチャンネル)である可能性が高いと判断できます [AN332]。

3.2.9 READFREQ H,L

目的:
チップが現在実際に同調(受信)している周波数を「10kHz単位」の16ビット値で読み出す [AN332]。
解説:
自動選局(シーク)によって「最終的にどこで止まったか」をマイコンが知るために使用します [AN332]。
計算式: 実際の周波数(MHz) = ( (READFREQH << 8) | READFREQL ) / 100 [AN332]
例:読み出した値が 0x235A(10進数で9050)であれば、現在 90.5MHz を受信しています。

3.2.10 RSSI

目的:
受信しているFM電波の強度を数値として取得する [AN332]。
解説:
単位は dBμV(デシベルマイクロボルト)で返ってきます [AN332]。
値が大きいほど電波が強く、液晶ディスプレイ(LCD)に「バリ5」のような電波メーター(Sメーター)をグラフィカルに表示させたい場合、このRSSIの値をトリガーにしてバーを伸縮させます [AN332]。

3.2.11 SNR

目的:
受信している音声信号のクリアさ(信号対雑音比)を数値として取得する [AN332]。
解説:
単位は dB です [AN332]。
RSSI(電波の強さ)がどれだけ高くても、このSNRが低い(値が0に近い)場合は、ノイズの混じった非常に聴き取りにくい音になっています。
ステレオ放送がクリアに聴こえる目安はおおむね 25dB 以上となります。

3.2.12 MULT

目的:
建物の反射などによって発生する「マルチパス(多重波妨害・フェージング)」による信号の歪み度合いを取得する [AN332]。
解説:
値の範囲は 0(歪みなし・極めてクリア)〜 100(最大級の歪み)です [AN332]。都市部などのビル街でラジオを移動させながら聴くような場合、電波が壁に反射して音が歪む現象を検知するために使用します。通常は参考値として読み飛ばしても問題ありません。




4 その他

4.1 選局完了後に必ず呼ぶべき理由(Google AI (Gemini) の見解)

マイコンから周波数を指定する 0x20 (FM_TUNE_FREQ) コマンドを送信した際、引数として ANTCAP = 0(アンテナ自動インピーダンスマッチング)を設定したことを思い出してください [AN332]。
このとき、Si4735は指定された周波数に対して、内部のコンデンサ容量(ANTCAP)を何pFにすれば、LNA(低雑音アンプ)の複素共役整合が最も綺麗に取れるかを裏で一生懸命計算しています。
選局が完了した直後に、この 0x22 コマンドを発行して応答の最後(RESP7)にある READANTCAP を読み出すと、「チップが最終的に弾き出した、インピーダンスマッチングの最適解の数値(1〜191)」をリアルタイムに確認することができます [AN332]。
自作レシーバーの開発中にこの値をLCD等にデバッグ表示させておくと、周波数を変えたときにアンテナ可変容量が連動して綺麗に動いている(=ハードウェアのマッチング回路が正常に機能している)かどうかが一目でわかるため、回路デバッグにおいて非常に強力な味方となります。

4.2 疑問にお答え(Google AI (Gemini) の見解)

4.2.1 Rail とは何か

質問
AFCRL bit1 AFC Rail Indicatorの Rail Indicator とはなんですか
見解
高周波(RF)回路やアナログ電子回路において、「Rail(レール)」とは「制御の上限・下限の壁(限界値)」を意味します [AN332]。
パワーアンプの出力が電源電圧(電源レール)にぶつかって音が歪む現象を「クリッピング(レールに張り付く)」と呼ぶのと同様のニュアンスです。
仕組み
Si4735の内部には、FM電波のわずかな周波数のズレ(送信局の癖や温度変化によるズレ)を自動的に追いかける AFC(自動周波数制御)回路 が入っています。
Rail Indicatorの意味
このAFC回路が「これ以上は周波数を高く(低く)補正できない」という制御の限界の壁(レール)に突き当たって、これ以上の自動追従を諦めた状態を示します [AN332]。
辞書への落とし込み
AFC追従限界フラグ」と訳すと分かりやすいです。「1のときは、電波が不安定すぎるか、ノイズが多すぎてAFCの自動補正が飽和(限界に到達)している状態」を意味します [AN332]。

4.2.2 RSSI,SNR,MULT の正式名称と意味

質問
RSSI、SNR、MULTは何の略で意味は何ですか
見解
(1) RSSI (Received Signal Strength Indicator)
正式名称: Received Signal Strength Indicator(受信信号強度指示器)
意味: アンテナ端子に入力されている 電波そのものの絶対的な強さ を表します [AN332]。
単位: dBμV(デシベルマイクロボルト) [AN332]
注意点: 単に「空間に飛び交っている高周波のエネルギー量」を測っているだけなので、強力なノイズ(違法無線やPCのデジタルノイズなど)を受信していても、RSSIの値は高く(強く)なってしまいます。
(2) SNR (Signal-to-Noise Ratio)
正式名称: Signal-to-Noise Ratio(信号対雑音比、エスエヌ比)
意味: 受信した電波の中に、「聴きたい目的の信号(S)」が「邪魔なノイズ(N)」に対してどれくらい綺麗に含まれているかの比率です [AN332]。
単位: dB(デシベル)目安: 値が大きいほど音がクリアです [AN332]。
RSSIが高くてもSNRが低ければ「ザーー」という雑音しか聴こえません。
逆にRSSIが低くてもSNRが高ければ、驚くほどクリアに聴こえます。
(3) MULT (Multipath)
正式名称: Multipath(マルチパス / 多重波妨害)
意味: 送信所から出た電波が、ビルや山に反射して複数のルート(マルチ・パス)を通ってアンテナに届くことで発生する 「電波の位相の乱れ・歪み」 の度合いです [AN332]。
単位: 0(歪みなし)〜 100(最大級の歪み) [AN332]
役割: RSSI(電波強度)が十分に強いのに、なぜか音が歪んでクリアに聴こえない原因(マルチパスフェージング)を特定するために使用します [AN332]。

4.2.3 Si4735は ANTCAP を読めないか

質問
READANTCAP bit7 「Si4704/05/06のみ」とマニュアルに記載されているがSi4735はアンテナ同調コンデンサの値を設定できるのに、見ることができないのはなぜですか教えて下さい
見解
AN332マニュアルの 0x22 コマンド「RESP7」の記述にある 「Si4704/05/06のみ」 という制限についての、非常に深いハードウェア的な理由がこちらです。
結論
FMモードにおいて、Si4735は「固定の内部容量(バリコン)」を使っていないため実は、Si4704/05/06というチップと、 Si4730/31/34/35(Si4735含む)というチップでは、FM受信時のフロントエンド(アンテナ入力回路)のハードウェア構造が全く異なります。

Si4704/05/06(FM専用チップファミリー)
FM入力端子に、マニュアル通り「1〜191」の段階を持つ、本物のデジタル可変コンデンサ(バリコン)が内蔵されています。
そのため、自動モードで確定した実際の容量値を READANTCAP(RESP7)からいつでも数値として読み出すことができます。
Si4735(AM/FM/LW/SWマルチバンドチップ)
AMや短波(SW)を受信する際は、内部のデジタル可変コンデンサ(バリコン)がアクティブになり、0x40 コマンドやプロパティで容量を設定・読み出すことができます。
しかし、FM受信モード(0x20)のときだけは、IC内部のLNA(アンプ)の構造がFM専用の「広帯域マッチング回路」に切り替わり、1〜191の細かいバリコンを動かす仕組み自体が機能していません。
では、FM 0x20 の ANTCAP パラメータは何のためにあるのか?
マニュアルをよく読むと、FMの 0x20 コマンドにおける ANTCAP パラメータは、1〜191の容量値を指定するものではなく、「0(自動)」か「それ以外(固定値)」かという、 回路の動作モードを切り替えるためだけのフラグ(実質的にダミーに近い扱い)として残されています [AN332]。
Si4735はマルチバンドICとしてすべてのコマンドの互換性を保つために、FMコマンドにも ANTCAP という引数(枠)を用意していますが、 FM動作時には読み出すべき「バリコンの確定値」そのものが内部に存在しないため、マニュアルに「Si4704/05/06のみ有効(Si4735では読み出せない/常に0または無効値が返る)」と記載されているのです [AN332]。

4.2.4 SNRの算出方法

質問
SNR を測定する方法です。
電波で言うノイズは音で言えば暗騒音と思っていました。
信号強度と同時に測定出来るとはどの様にノイズを測定しているか興味がありますが、お答えできますか?
見解
電波の世界の「ノイズ」について、音の「暗騒音」に例えられたのは非常に本質を捉えた素晴らしい着眼点です!まさにその通りで、電波の世界にも、放送がないチャンネルでも常に「ザーー」と流れている宇宙からの雑音や、電子機器が発する「暗騒音(バックグラウンドノイズ)」が存在します。
信号の強さ(RSSI)と同時に、どうやってその「暗騒音(ノイズ)」の量を分離して測定し、SNR(信号対雑音比)を計算しているのか、Si4735の内部で行われているデジタル信号処理(DSP)の驚くべき仕組みを分かりやすく解説します。
1. アナログ時代と現代(Si4735)の最大の違い
昔のアナログ・ラジオの場合、RSSI(電波の強さ)は針のメーターで表示できましたが、SNR(ノイズとの比率)をリアルタイムに測定することは困難でした。しかし、 Si4735は「ソフトウェア・ラジオ(SDR)」と呼ばれる最新のアーキテクチャを採用しています。
アンテナから入ってきた電波は、超高速な「A/Dコンバータ」という部品によって、即座に「1秒間に何百万回ものデジタルデータ(0と1の数字の列)」に変換されます。

2. どうやって「信号」と「ノイズ」を分けているのか?
Si4735の内部では、主に以下の2つのデジタル計算手法を使ってノイズ量をリアルタイムに割り出しています。
(1)周波数ごとの「エネルギー分布」を計算する(FFT解析)
DSPは、受信している帯域のデジタルデータを高速で「周波数ごとの成分」に分解します。
放送の信号(S)
特定の周波数(例えば90.5MHzのピンポイント)に、トゲのように鋭く高いエネルギーが集中します。
ノイズ(N)
放送の周波数の「両脇のほんの少しズレた隙間」に、平べったく均一に広がるエネルギー(これが電波の暗騒音です)として現れます。
DSPは、この「トゲの高さ(信号の強さ)」と「両脇の平らな部分の高さ(暗騒音の強さ)」を同時に別々に計算し、その割り算を行うことで、一瞬でSNRを弾き出しています。

(2)「変調の正しさ」を計算する(IQ信号処理)
FM放送は、音声信号に応じて電波の周波数が細かく「揺れる(変調する)」仕組みです。
Si4735の内部では、電波を「I(同相成分)」と「Q(直交成分)」という2つのベクトルデータに分解して処理しています。
・綺麗な放送の電波であれば、このIQデータは計算上、綺麗な「円」を描くように規則正しく動きます。
・そこにノイズ(暗騒音)が混ざると、円の軌道が「ブレてガタガタ」になります。
DSPはこの「本来あるべき綺麗な軌道から、どれくらいガタガタにズレているか(エラーの量)」を常に計算しています。
このズレの大きさがそのまま「ノイズ(N)」の量となり、RSSI(全体の強さ)から逆算することで、正確なSNR(信号対雑音比)を測定できるのです。





































更新日 2026/06/21 16:56  管理者 平林 剛Hirabayashi Takeshi