Skip to content
RFrftools.io
Comms

I2S オーディオインターフェースタイミング計算ツール

オーディオインターフェースのI2Sビットクロック (BCLK)、ワードクロック (LRCLK/WCLK)、データレートを任意のサンプルレート、ビット深度、チャンネル数で計算できます。

Loading calculator...

公式

BCLK=Fs×Nbits×NchBCLK = F_s \times N_{bits} \times N_{ch}

参考: Philips I2S Bus Specification, 1996

Fs— サンプルレート (kHz)
Nbits— サンプルあたりのビット深度 (bits)
Nch— チャンネル数
BCLK— ビットクロック周波数 (Hz)

仕組み

この計算機は、デジタル・オーディオ・インターフェースのI2Sクロック周波数とタイミングの関係を決定します。オーディオエンジニアや組み込み開発者は、これを使用して、Philips I2S 仕様 (現在の NXP) に従って DAC、ADC、およびオーディオコーデックを構成します。I2S は、シリアルデータ (SD)、ビットクロック (BCLK/SCK)、ワードセレクト (WS/LRCLK) の 3 つの信号を使用します。基本的な関係は、BCLK = sample_rate x bits_per_channel x チャネルです。CD 品質のオーディオ (44.1 kHz、16 ビットステレオ) の場合:BCLK = 44100 x 16 x 2 = 1.4112 MHz。マスタークロック (MCLK) は通常、サンプルレートの 256 倍または 512 倍で、PLL リファレンスを内蔵しています。I2Sバス仕様は、フィリップスセミコンダクターズのオリジナル文書「I2Sバス仕様」(1986年2月、1996年6月改訂)で定義されており、現在はNXPセミコンダクターズによって管理されています。プロフェッショナルアプリケーションのオーディオサンプルレートとビット深度の要件は、AES3-2009 (デジタルオーディオの AES 規格 — デジタル入出力インターフェイス) と IEC 60958-1 (デジタルオーディオインターフェイス) によって規定されています。96 kHz/24 ビットの場合、BCLK = 96000 x 24 x 2 = 4.608 MHz、MCLK = 96000 x 256 = 24.576 MHz です。I2S の仕様によると、BCLK のライジング・エッジの t_setup >= 10 ns前と BCLK のライジング・エッジ後の t_hold >= 10 ns の間はデータが安定していなければなりません。BCLK の 12.288 MHz では、81.4 ns の半周期によって 8 倍のマージンが得られます。

計算例

高解像度のオーディオプレーヤーの設計では、FPGAマスターを備えた192 kHz/32ビットステレオのPCM5242 DACを使用しています。フィリップス I2S の仕様によると、BCLK = 192000 x 32 x 2 = 12.288 MHz。MCLK = 192000 x 256 = 49.152 MHz (標準オーディオクロッククリスタル)。ワード・セレクト (LRCLK) = サンプル・レート = 192 kHz。PCM5242 でのタイミングの検証: t_su_data = 5 ns、 t_hd_data = 5 ns が必要です。BCLK 周期 = 81.4 ナノ秒、半周期 = 40.7 ナノ秒。使用可能なセットアップ時間 = 40.7 ~ 10 ns (FPGA のクロックツーアウト) = 30.7 ナノ秒で、5 ナノ秒の要件で 6 倍のマージンが得られます。データレート = 192000 x 32 x 2 = チャネルあたり 12.288 Mbps、合計で 24.576 Mbps。

実践的なヒント

  • ✓AES-6iD-2006に従い、48kHzまたは44.1kHzの倍数のサンプルレートには専用のオーディオクロッククリスタル(49.152 MHz、24.576 MHz、22.5792 MHz)を使用してください
  • ✓マスター・モード動作の場合は、まずMCLKを生成し、次にBCLKとLRCLKを同期的に導出して、クロック・ドメイン・クロッシング・ジッタを除去します。
  • ✓セットアップ/ホールドマージンを維持するには、6MHzを超えるBCLKではI2Sトレースの長さを15 cm未満にしてください。長時間の実行には33Ωの直列終端を追加してください

よくある間違い

  • ✗48 kHz オーディオには 24 MHz クリスタルを使用 (出力24/256 = 93.75 kHz、95% エラー)-正確な 48 kHz (12.288/256 = 48.000 kHz) には 12.288 MHz クリスタルを使用
  • ✗マスターとスレーブ間のMCLK比の不一致-ほとんどのDACは、任意の比率ではなく、正確に256倍または512倍を必要とする
  • ✗BCLKとLRCLKをシングルエンド信号として30cmを超えるケーブルでルーティング-50psを超えるクロストークによるジッターを防止するには、LVDSまたはツイストペアを使用してください

よくある質問

ほとんどのDAC/コーデックのデータシートによると、サンプルレートの256倍または512倍です。48 kHz の場合:MCLK = 12.288 メガヘルツ (256 倍) または 24.576 メガヘルツ (512 倍)。44.1 kHz の場合:MCLK = 11.2896 MHz (256x) または 22.5792 MHz (512x)。デバイスによっては 128 倍の低電力動作をサポートしているため、MCLK は 48 kHz で 6.144 MHz に低下します。
BCLKはビット深度で直接スケーリングします。48 kHz ステレオ:16 ビットでは BCLK = 1.536 MHz、24 ビットには 2.304 MHz、32 ビットには 3,072 MHz が必要です。ビット深度が大きいほどデータレートと EMI が増加するため、注意深い PCB ルーティングが必要になります。192 kHz で 32 ビットでは、立ち上がり時間が 2 ~ 3 ns で 12.288 MHz のクロック・エッジが生成されます。

Shop Components

As an Amazon Associate we earn from qualifying purchases.

USB-UART Adapter

USB to serial adapter for protocol debugging and flashing

USB Logic Analyzer

8-channel USB logic analyzer for capturing digital bus traffic

関連計算ツール