NXP i.MX 8Mは、民生用家庭用オーディオから産業用ビルオートメーション、モバイルコンピュータまで、業界をリードするオーディオ、音声、ビデオ処理を提供します。
i.MX 8M Quadは、以下に示す複数のオーディオインターフェイスをサポートしています。
一般的なオーディオ入出力機能に加えて、オーディオインターフェイスは次の機能をサポートします。
- SAI-1は、384KHz/32ビットで最大16チャンネルのTX(8レーン)と16チャンネルのRX(8レーン)をサポートします。
- SAI-5は、384KHz / 32ビットで最大8チャンネルのTX(4レーン)と8チャンネルのRX(4レーン)をサポートします。
- SAI-2/3/6は、384KHz/32ビットで最大2チャンネルTX(1レーン)と2チャンネルRX(1レーン)をサポートします。
- SAI-2/3/6は、384KHz/32ビットで最大2チャンネルTX(1レーン)および2チャンネルRX(1レーン)をサポートします。
- SAI-1は、一般的なオーディオDACのPCMとDSD操作間のグルーレス切り替えをサポートします
- SPDIF-1/2は、すべての入力ビットをオーディオバッファに保存できるRAWキャプチャモードをサポートしています
SAI-1/2/3/5/6 と SPDIF-1 は、IOMUX を介してチップ上の GPIO パッドを共有します。オーディオインターフェースがサポートする一般的な使用例を次の表に示します(他にも多くの設定が可能です)。番号は、サポートされているデータレーンです。
各 SAI モジュールの MCLK ピンは、入力または出力として構成できます。出力として構成されている場合、CCM からのSAI_CLK_ROOTはパッド出力にルーティングされます。入力として構成すると、パッドへの外部入力は SAI にルーティングされます。MCLKは、SAIのマスタークロックとして使用できます。次の図は、SAI1を例に、両方の入力/出力オプションを示しています。
各 SAI モジュールは、最大 3 つのマスター クロック入力をサポートします。各 SAI 内の TX および RX サブモジュールは、クロック入力の 1 つをマスター クロックとして個別に選択できます。これにより、1 つの SAI の TX と RX を異なるクロック ソースから実行できます。マスタークロック入力には、次のオプションがあります。
-サイ。MCLK[1]は、CCMまたはSAIのSAI_CLK_ROOTから選択できます。IOMUXのMCLK。これは、SAI が CCM または IO パッドからの独自のクロック ソースのみを使用する、最も簡単なクロック ルーティングです。
-サイ。MCLK[2] は、次のクロック ソースから選択できます。
CCMからのSAI_CLK_ROOTのいずれか。
SAIのいずれか。IOMUXのMCLK。
SPIDFからの他のクロックソース。
-サイ。MCLK[3] には、SAI とまったく同じクロック ソース オプションがあります。MCLK[2]。これにより、TX と RX の両方が、相互に依存することなくすべてのオプションにアクセスできます。
SAI のマスター クロックのクロック オプションは、SAI-1 を例に図に示しています。
MCLK[1]のオプションは、MCLK[2]とMCLK[3]でも利用可能です。このオプションを保持する理由は、i.MX6/i.MX7 プロセッサと同様の SAI クロック構造を提供するためです。マスタークロックのMUXの構成は、IOMUXC_GPRレジスタによって制御されます。クロックの不具合を避けるために、SAI クロックを有効にする前に設定する必要があります。
注 : これらの MUX オン クロックは設計中に欠落するため、シリコンでの実際のインプリメンテーションは次の図に示すように簡略化されます。
すべての SAI インスタンスと SPDIF インスタンスは SDMA をサポートしています。オーディオデータレートを満たすために、2つのSDMAモジュールが使用されます。
SAI-2/3 と SPDIF-1/2 は高いデータスループットを必要としないため、UART/SPI などの他のペリフェラルと共有される SDMA-1 に割り当てられます。SAI-1/4/5/6は、高いサンプルレートとマルチチャンネルオーディオをサポートする必要があり、オーディオ専用のSDMAエンジンであるSDMA-2に割り当てられています。SDMA-2 の周波数は、十分なスループットを確保するために、133/66 ではなく 500/250 に増加しています。
SWがオーディオDMAの進行状況を追跡できるようにするために、SAIモジュールのTX_SYNCとRX_SYNCは外部クロック入力としてGPTにルーティングされます。合計6つのSAIモジュールがあるため、GPTに接続するときにこれらの信号は多重化されます。
- GPT-4/5/6外部クロック入力は、任意の6つのSAIモジュールのTX_SYNCまたはRX_SYNCから選択できます。
- マルチプレクサ選択はレジスタによって制御されIOMUXC_GPR。
- GPT-4/5/6 の MUX セレクト レジスタは、互いに完全に独立しています。
ありがとうシャオコンフー