Hobby Lab 趣味のモノ作り実験のサイトです。
部品 オペアンプ_関係 Si4735 マニュアル PrpNote0x0102
1 0x0102. DIGITAL_OU・・概要
2 プロパティ
2.1 プロパティリスト
2.2 プロパティ
2.2.1 OFALL
2.2.2 OMODE
2.2.3 OMONO
2.2.4 OSIZE
3 応答パラメータ
4 その他(Gemini)の見解
4.1 コマンドのステップ注意事項
4.2 もう少し踏み込んだ応用展開
4.3 デバッグ時のチェックリスト
4.4 まとめ

PrO:Si4735関係  Si4735について
 Si4735ラジオを作って見よう1
 Si4735テスト中に困った!事項
 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
 v プロパティ解説 v
 0x0001.GPO_IEN
 0x0102. DIGITAL_OUTPUT・・
 0x0104. DIGITAL_OUTPUT・・
 0x0201. REFCLK_FREQ
 0x0202. REFCLK_PRESCALE
 0x1100. FM_DEEMPHASIS
 0x1102. FM_CHANNEL_FILTER
 0x1107. FM_ANTENNA_INPUT
 0x1108. FM_MAX_TUNE_ERR・・
 0x1200. FM_RSQ_INT_SOURCE
 0x1201. FM_RSQ_SNR_HI_T・・
 0x1202. FM_RSQ_SNR_LO_T・・
 0x1203. FM_RSQ_RSSI_HI・・
 0x1204. FM_RSQ_RSSI_LO・・
 0x1205. FM_RSQ_MULTIPA・・
 0x1206. FM_RSQ_MULTIPA・・
 0x1207. FM_RSQ_BLEND_TH・・
 0x1300. FM_SOFT_MUTE_RATE
 0x1301. FM_SOFT_MUTE_SL・・
 0x1302. FM_SOFT_MUTE_M・・
 0x1303. FM_SOFT_MUTE_S・・
 0x1304. FM_SOFT_MUTE_R・・
 0x1305. FM_SOFT_MUTE_A・・
 0x1400. FM_SEEK_BAND_B・・
 0x1401. FM_SEEK_BAND_TOP
 0x1402. FM_SEEK_FREQ_S・・
 0x1403. FM_SEEK_TUNE_S・・
 0x1404. FM_SEEK_TUNE_R・・
 0x1500. FM_RDS_INT_SOU・・
 0x1501. FM_RDS_INT_FIF・・
 0x1502. FM_RDS_CONFIG
 0x1503. FM_RDS_CONFIDE・・
 0x1800. FM_BLEND_RSSI_S・・
 0x1801. FM_BLEND_RSSI_M・・
 0x1802. FM_BLEND_RSSI_A・・
 0x1803. FM_BLEND_RSSI_R・・
 0x1804. FM_BLEND_SNR_ST・・
 0x1805. FM_BLEND_SNR_M・・
 0x1806. FM_BLEND_SNR_A・・
 0x1807. FM_BLEND_SNR_R・・
 0x1808. FM_BLEND_MULTI・・
 0x1809. FM_BLEND_MULTI・・
 0x180A. FM_BLEND_MULTI・・
 0x180B. FM_BLEND_MULTI・・
 0x1A00. FM_HICUT_SNR_H・・
 0x1A01. FM_HICUT_SNR_L・・
 0x1A02. FM_HICUT_ATTAC・・
 0x1A03. FM_HICUT_RELEA・・
 0x1A04. FM_HICUT_MULTI・・
 0x1A05. FM_HICUT_MULTI・・
 0x1A06. FM_HICUT_CUTOF・・
 0x3100. AM_DEEMPHASIS
 0x3102. AM_CHANNEL_FIL・・
 0x3103. AM_AUTOMATIC_V・・
 0x3104. AM_MODE_AFC_SW・・
 0x3105. AM_MODE_AFC_SW・・
 0x3200. AM_RSQ_INT_SOU・・
 0x3201. AM_RSQ_SNR_HI_T・
 0x3202. AM_RSQ_SNR_LO_T・
 0x3203. AM_RSQ_RSSI_HI・・
 0x3204. AM_RSQ_RSSI_LO・・
 0x3300. AM_SOFT_MUTE_R・・
 0x3400. AM_SEEK_BAND_B・・
 0x3401. AM_SEEK_BAND_TOP
 0x3402. AM_SEEK_FREQ_S・・
 0x3403. AM_SEEK_TUNE_S・・
 0x3404. AM_SEEK_TUNE_R・・
 0x4000. RX_VOLUME
 0x4001. RX_HARD_MUTE

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 プロパティ 0x0102. DIGITAL_OUTPUT_FORMAT 概要

Digital Audio Output Format(デジタルオーディオ出力フォーマット設定プロパティ)
デジタルオーディオ出力フォーマットを設定します。設定項目には、DCLKエッジ、データフォーマット、強制モノラル、サンプル精度などがあります。

対応デバイス: Si4704-D60以降、Si4705/06、Si4731/32/35、Si4730/34-D60以降
デフォルト値: 0x0000
注: DIGITAL_OUTPUT_FORMATは、FM受信コンポーネントのバージョン2.0以降でサポートされています。




2 プロパティ

2.1 プロパティリスト

Bit上位バイト PROPH下位バイト PROPL
1514131211109 8 7 6 5 4 3 2 1 0
Name 00000000 OFALLOMODEOMONOOSIZE

BitNameFunction
7OFALLデジタル出力 DCLK エッジ
0 = DCLKの立ち上がりエッジを使用
1 = DCLKの立ち下がりエッジを使用
6:3OMODEデジタル出力モード
0000 = I2S
0110 = 左詰め(Left-justified)
1000 = DFSパルス後の2番目のDCLKでMSB
1100 = DFSパルス後の最初のDCLKでMSB
2OMONOデジタル出力モノラルモード
0 = モノラル/ステレオ・ブレンドを使用(ブレンド閾値に基づく)
1 = モノラルに固定
1:0OSIZEデジタル出力オーディオサンプルの精度
0 = 16ビット
1 = 20ビット
2 = 24ビット
3 = 8ビット

2.2 プロパティ

本プロパティは、Si4735からデジタルオーディオ信号を出力する際のシリアルインターフェース仕様(クロックエッジ、データ配置、モノラル/ステレオ、サンプリング精度)を詳細に設定するものです。
デフォルト値は 0x0000 です。
本ICは通常のアナログ音声出力(ROUT/LOUTピン)に加えて、DSPが処理した高品質なデジタル音声を直接外部のDACやDSP、Bluetoothモジュール等へ I2S(Inter-IC Sound)等のデジタル規格 で受け渡すことができます。
このデジタル出力を有効化・最適化するための核となるプロパティです。

2.2.1 OFALL (Output Falling Allocation / Digital Output DCLK Edge)

目的と概要:
デジタルオーディオのビット同期クロック(DCLK)の、どちらのエッジでデータをサンプリング(または出力変化)させるかを指定します。
0 で立ち上がりエッジ(Rising edge)、1 で立ち下がりエッジ(Falling edge)を使用します。
AN332に明記されない目的と解説:(Google AI (Gemini) の見解)
世の中に存在する主要なデジタルオーディオIC(Texas Instruments社、Cirrus Logic社など)のあらゆるバス仕様に対応するための「業界標準互換モード切替スイッチ」です。
内部のDSPコアが出力するシリアルシフトレジスタのタイミングを物理的に可変させ、受信側ICのI2Sコントローラと完全な同期を確立するために不可欠なビットです。

2.2.2 OMONO (Digital Output Mono Mode)

目的と概要:
デジタルオーディオのデータフォーマット(通信規格)を決定します(4ビット構成)。
0000 = 標準I2Sモード、0110 = 左詰め(Left-justified)モード、1000 = MSB at second DCLK after DFS pulse、1100 = MSB at first DCLK after DFS pulse。
AN332に明記されない目的と解説:
世の中に存在する主要なデジタルオーディオIC(Texas Instruments社、Cirrus Logic社など)のあらゆるバス仕様に対応するための「業界標準互換モード切替スイッチ」です。
内部のDSPコアが出力するシリアルシフトレジスタのタイミングを物理的に可変させ、受信側ICのI2Sコントローラと完全な同期を確立するために不可欠なビットです。

2.2.3 OMONO (Digital Output Mono Mode)

目的と概要:
デジタルオーディオ出力をモノラル音声に強制するかどうかを設定します。
0 で通常のステレオ/モノラル自動ブレンド(電波状態に応じて可変)、1 で出力を強制的にモノラルにします。
AN332に明記されない目的と解説:
外部に接続するオーディオコーデックやアンプが1チャンネル(モノラル仕様のスピーカーユニット等)である場合、またはAM/SSB受信時など元からモノラルソースである場合に、 左右のチャンネルへ同一データを完全に複製して送る、あるいは片側を無駄に処理させないための「システム全体の負荷低減・マッチング」を目的に実装されています。

2.2.4 OSIZE (Digital Output Audio Sample Precision Size)

目的と概要:
音声1サンプルのビット精度(分解能)を指定します(2ビット構成)。
0 = 16ビット、1 = 20ビット、2 = 24ビット、3 = 8ビット。
AN332に明記されない目的と解説:
Si4735の内部DSPは非常に高いダイナミックレンジでオーディオ処理を行っています。
ハイエンドな外部オーディオDAC(24ビット対応など)と接続する際には 2 を選択することで、DSPの計算精度を損なうことなく超高音質で出力できます。
逆に、安価なBluetoothモジュールやマイコンのI2S入力が16ビットしか対応していない場合は 0 に制限し、データのクリッピング(桁溢れ)やビットずれを防止する「解像度整合用」のビットです。




3 応答パラメータ

本項目はプロパティ(Property)の書き込み・読み出しであるため、コマンド(SET_PROPERTY, GET_PROPERTY)に対する共通のSTATUS返却値(1バイト)が応答パラメータに相当します。

STATUS (Status Byte)
CTS (Clear to Send):
1 になると、チップが前のコマンドの処理を完了し、次のコマンドを受け入れられる状態であることを示します。

ERR (Error):
1 の場合、直前に送ったコマンドやプロパティの引数が不正(範囲外など)であったことを示します。




4 その他(Google AI (Gemini) の見解)

4.1 コマンドの重要ステップと注意事項

初期化順序の「鉄則」を守る:
デジタルオーディオを有効にするには、まず最初の POWER_UP コマンドを実行する際、引数(ARG1)の OPMODE でデジタル出力を明記して起動する必要があります。
その後、本プロパティ(0x0102)でフォーマットを決定し、最後に 0x0104: DIGITAL_OUTPUT_SAMPLE_RATE を設定するという、厳格なステップを踏む必要があります。

サンプルレート変更時の罠に注意:
動作中にサンプリング周波数(32kHz〜48kHzなど)を変更したり、DCLK/DFSを無効にする場合は、事前に DIGITAL_OUTPUT_SAMPLE_RATE プロパティを一度 0 に設定しなければならないというAN332の注意書きがあります。
これを怠ると、ICが未知のフリーズ状態に陥り、ハードウェアリセットしか受け付けなくなるため極めて注意が必要です。

4.2 もう少し踏み込んだ応用展開

ESP32やRaspberry Pi Pico等の安価なマイコンとの直結:
最近のマイコンは高性能なI2S周辺回路(DMA転送機能付き)を内蔵しています。
Si4735側の OMODE を 0000(標準I2S)、OSIZE を 0(16ビット)に設定すれば、マイコンのI2Sポートでダイレクトにラジオのデジタル音声を生データ(PCM)としてキャプチャ可能です。

DSPによるエフェクト・録音・ネットワーク配信:
マイコン側に取り込んだPCM音声に対して、イコライザー(EQ)をかけたり、SDカードにリニアPCM/WAV形式で無劣化録音したり、
Wi-Fi経由でインターネットラジオとしてストリーミング配信するといった、アナログ出力では不可能だった「オーディオデータの高度な二次利用」が簡単に実現できます。

4.3 デバッグ時のチェックリスト

POWER_UP の起動オプションは正しいか?:
デジタル出力モードを指定してICを立ち上げているか。

DCLK / DFS ピンの「入力」駆動を忘れていないか?: 極めて重要。
Si4735のデジタルオーディオピン(DCLK, DFS)は原則として「外部からクロックを入力してもらう(スレーブ動作)」仕様です。
ホスト(マイコンやDAC)側から適切なマスタークロック、フレーム同期信号が供給されていないと、デジタルデータ(DOUT)は1ビットも出力されません。

オシロスコープで3線(DCLK, DFS, DOUT)の波形が出ているか?:
DCLK(数MHzの高速クロック)と DFS(サンプリングレート:32k〜48kHzのパルス)が正しくピンに入力されているか。

音が出ない場合のビットズレチェック:
OMODE(I2Sか、左詰めか)が相手チップと1ビット分ズレていないか。
ズレていると「ザー」という激しいホワイトノイズや、音が著しく歪む原因になります。


4.4 まとめ

プロパティ 0x0102: DIGITAL_OUTPUT_FORMAT は、Si4735を単なるアナログのコンポーネントとしてではなく、最新のデジタルオーディオネットワークに完全適合させるための架け橋となる重要な設定です。
外部からクロック(DCLK/DFS)を正しく供給し、このプロパティで完璧なフォーマットの一致を行うことで、ノイズフリーで劣化のない、最高峰の受信音質を引き出すことが可能になります。






































更新日 2026/07/11 11:56  管理者 平林 剛Hirabayashi Takeshi