最終更新:2025-03-07 (金) 13:26:12 (115d)  

I2S
Top / I2S

Inter-IC Sound bus

音声データ通信に用いられるシリアル通信のインタフェイス

メモ

  • フィリップス社提唱の音声データを3線信号でIC間伝送するインタフェース回路(現在はNXP)
  • I2S規格の伝送で流れているデータはPCMによりデジタル化したデータ

歴史

信号線

マスタークロック (オプション)

  • スレーブデバイスの動作の基準となる
  • 通常サンプリング周波数の整数倍 (64fsなど)

SCK

  • Serial Clock
  • データ転送を同期するためのクロック信号
  • 例: 44.1kHz * 16ビット * 2チャンネル=1.4112MHz

WS

  • Word Select
  • 2チャンネルステレオにおいて、音声信号のLチャネルとRチャネルを区別するための信号。

SD

  • Serial Data
  • デジタル化された音声データのビット列
  • 各ビットの意味や順序(MSBファースト、LSBファーストなど)は事前に設定されたプロトコル仕様に従う
    • 一般的にはMSBファースト
    • 右詰め/左詰め
  • 普通はINかOUTのどちらか

ESP-IDF/I2S

  • ESP-IDFよくあるデバイス
    MCLK-マスター クロック ライン。スレーブ側に依存するオプションの信号であり、主に I2S スレーブ デバイスにリファレンス クロックを提供するために使用されます。
    BCLKSCKビット クロック ライン。データ ラインのビット クロック。
    WSWS単語(スロット)選択ライン。通常は、PDM モード以外では声道を識別するために使用されます。
    DIN/DOUTSDシリアル データ入力/出力ライン。DIN と DOUT が同じ GPIO に設定されている場合、データは内部でループバックされます。

I2S/MCLK

  • データ転送のタイミング基準となる信号を提供
  • 一部のスレーブデバイスではMCLKが必要だが、全てのシステムで必須ではない
  • 高精度のDACADCでは、この信号が要求されることが多い
  • I2Sなどでは、MCLK?をサンプリング周波数の整数倍(通常64倍、128倍、256倍など)に設定する
    • 例: 44.1kHzの場合: 44.1kHz * 16ビット * 2チャンネル=1.4112MHz
    • 64fs: 最小限の基準クロック (2.8224MHz)
    • 128fs: 一般的な標準 (5.6448MHz)
    • 256fs?, 512fs?:ハイエンドシステム

BCLK

  • 各データビットを転送するためのタイミングを提供
  • サンプリング周波数 * ビット数 * チャンネル数
  • 例: 44.1kHz * 16ビット * 2チャンネル=1.4112MHz

DIN

DOUT

I2S/チップ

フォーマット

  • I2SMSBはWSの1クロック後
    LJ (Left Justified)データビットとWSは一致
    RJ (Right Justified)データビットはWSの右に揃う
    TDM2チャンネル以上必要

関連

MAX II CPLD によるSPI-I2S 変換

参考