JAJSNB1B february 2022 – march 2023 TAS2780
PRODUCTION DATA
TAS2780 は、フレキシブルなシリアル・オーディオ・ポートを搭載しています。このポートは、ステレオ I2S、左揃え、TDM などさまざまなフォーマットに対応するように構成することができます。モノラル・オーディオ再生は、SDIN ピンから行うことが可能です。SDOUT ピンは、スピーカ電圧と電流センス、PVDD 電圧、ダイ温度、チャネル・ゲインなどのサンプル・ストリームを送信するために使用します。
TDM シリアル・オーディオ・ポートは、サンプル・レート 44.1/48kHz の場合には最大 16 の 32 ビット・タイム・スロット、サンプル・レート 88.2/96kHz の場合には最大 8 つの 32 ビット・タイム・スロットをサポートしています。有効な SBCLK 対 FSYNC 比は、16、24、32、48、64、96、128、192、256、512 です。デバイスはタイム・スロット数を自動検出できるため、プログラムする必要はありません。
デフォルトでは、TAS2780 は PCM 再生サンプル・レートを自動検出します。AUTO_RATE レジスタ・ビットを High にセットすることにより、この機能をディセーブルにして、デバイスを手動で構成することもできます。
AUTO_RATE レジスタ・ビットが High にセットされている場合 (TDM サンプル・レートの自動検出がディセーブル)、SAMP_RATE[2:0] レジスタ・ビットと SAMP_RATIO[3:0] レジスタ・ビットを使用して、PCM オーディオ・サンプル・レートを構成することができます。TAS2780 は堅牢なクロック・フォルト検出エンジンを搭載しており、FSYNC が構成されているサンプル・レートに合っていない場合 (AUTO_RATE = 1 の場合) や、SBCLK 対 FSYNC 比がサポートされていない場合に、再生パスのボリュームを自動的に低下させます (可聴アーティファクトが最小化されます)。クロックの周波数と比がどちらも有効であることが検出されると、デバイスは再生パスのボリュームを自動的に構成されている値に戻し、再生を再開します。
自動レート検出を使用すると、TDM バスで検出されたサンプリング・レートと SBCLK 対 FSYNC 比は、読み取り専用レジスタ・ビット FS_RATE[2:0] と FS_RATIO[3:0] に通知されます。
TAS2780 は、12MHz の SBCLK 動作をサポートしています。システムは、125 か 250 の比率を検出するか、または手動で構成する必要があります。ここで指定した比率にするとデータが切り捨てられるため、最後の 32 ビットのスロットを TDM (SDOUT) や ICC (セクション 8.4.2.10.1) を経由したデータ送信に使用することはできません。
以下の 図 8-1 と 図 8-2 に、再生用ポートの構成に必要なレシーバ・フレームのパラメータを示します。フレームは FSYNC が High から Low、または Low から High へのいずれかの遷移で開始します (FRAME_START レジスタ・ビットで設定)。FSYNC および SDIN は、SBCLK の立ち上がりエッジか立ち下がりエッジのいずれかを使用してサンプリングされます (RX_EDGE レジスタ・ビットで設定)。RX_OFFSET[4:0] レジスタ・ビットでは、FSYNC の遷移からタイム・スロット 0 の開始までの SBCLK のサイクル数を定義します。この値は通常、左揃えフォーマットの場合は 0、I2S フォーマットの場合は 1 に設定されます。
RX_SLEN[1:0] レジスタ・ビットは、RX タイム・スロットの長さを 16、24、32 (デフォルト) ビットに設定します。タイム・スロット内のオーディオ・サンプルのワード長は、RX_WLEN[1:0] レジスタ・ビットで 16、20、24 (デフォルト)、32 ビットに設定します。デフォルトでは、RX ポートはタイム・スロット内のオーディオ・サンプルを左揃えにしますが、RX_JUSTIFY レジスタ・ビットで右揃えに変更することも可能です。TAS2780 は、モノラルとステレオのダウンミックス再生 ([L+R]/2) に対応しています。デフォルトでは、デバイスは I2C ベース・アドレスのオフセット (ADDR ピンで設定) と同じタイム・スロットからモノラル再生を行います。RX_SCFG[1:0] レジスタ・ビットを使用すると、RX_SLOT_L[3:0] レジスタ・ビットと RX_SLOT_R[3:0] レジスタ・ビットの設定により、再生ソースを左側のタイム・スロット、右側のタイム・スロット、またはステレオ・ダウンミックスにオーバーライドすることができます。
タイム・スロットがフレーム境界を超えたときに部分的に受信するか、すべて受信するかのいずれかを選択した場合、レシーバはデジタル的にミュートされたサンプルと同等のヌル・サンプルを返します。
TDM ポートは、SDOUT ピンで、スピーカ電圧センス、スピーカ電流センス、割り込みとステータス、PVDD 電圧、ダイ温度、チャネル・ゲインなど多数のサンプル・ストリームを送信できます。以下の 図 8-3 に、タイム・スロットとフレームの開始場所のアライメント、および指定のサンプル・ストリームをタイム・スロットにマッピングする方法を示します。
SBCLK の立ち上がりエッジか立ち下がりエッジのいずれかを使用して、SDOUT ピンでデータを送信することができます。この機能は、TX_EDGE レジスタ・ビットをセットして構成できます。TX_OFFSET[2:0] レジスタ・ビットは、フレーム開始時からタイム・スロット 0 の開始時までの SBCLK のサイクル数を定義します。TDM と ICC TX は、TX_FILL レジスタ・ビットの設定に応じて、ロジック 0 かハイ・インピーダンスのいずれかを送信することができます。オプションのバス・キーパーは、バスを駆動しているすべてのデバイスがハイ・インピーダンスの場合、SDOUT ピンと ICC ピンの状態を弱く保持します。SDOUT で必要なバス・キーパーは 1 つだけのため、この機能は TX_KEEPEN レジスタ・ビットでディセーブルにできます。バス・キーパーは、TX_KEEPLN レジスタ・ビットを使用して、1LSB のみバスを保持するか、常時バスを保持するかを構成することができます。さらに、TX_KEEPCY レジスタ・ビットを使用して、キーパーの LSB をフル・サイクルで駆動するか、ハーフ・サイクルで駆動するかも設定できます。
TX_FILL レジスタ・ビットは、I2S バスにアンプが 1 つしかないモノラル・システムで使用されます。TX_FILL レジスタ・ビットを Low にセットしておくと、アンプに使用されないスロットにはすべて 0 が入ります。
複数のデバイスが同一の I2S バス上にある場合は、ページ 0x01 の SDOUT_HIZ レジスタが役立ちます。各デバイスは、バス上にある他のデバイスのスロット構成を認識できません。システム・レベルで SDOUT_HIZ レジスタを、設定が正しく行われ、内部や外部の競合が発生しないよう、適切にプログラムする必要があります。
各サンプル・ストリームは、1 つまたは 2 つの 8 ビット・タイム・スロットで構成されます。スピーカ電圧センスとスピーカ電流センスのサンプル・ストリームは 16 ビット精度のため、常に 2 つの TX タイム・スロットを使用します。PVDD 電圧と VBAT1S 電圧のストリームは 10 ビット精度であり、16 ビット・ワード (2 つのタイム・スロットを使用) の左揃えで送信されるか、または 8 ビットに切り捨てられて (上位 8MSB) シングル・タイム・スロットで送信されます。この構成は、PVDD_SLEN および VBAT1S_SLEN レジスタ・ビットで構成します。ダイ温度とゲインはどちらも 8 ビット精度で、シングル・タイム・スロットで送信されます。
各サンプル・ストリームのタイム・スロット・レジスタは、MSB の送信開始位置を定義します。デフォルトでは、VSNS_SLOT[5:0] レジスタ・ビットは 2 (10 進数) にセットされ、上位 8MSB はタイム・スロット 2 で送信され、下位 8LSB はタイム・スロット 3 で送信されます。このサンプル・ストリームは、VSNS_TX レジスタ・ビットを使用して個別にイネーブルやディセーブルに設定できます。ISNS_SLOT[5:0] レジスタ・ビットは、デフォルトでは 0 (10 進数) に設定されていますが、ISNS_TX レジスタ・ビットを使用して、サンプル・ストリームをイネーブルやディセーブルに設定することが可能です。ストリームのイネーブル / ディセーブル機能は、必ずしもバス上のすべてのデバイスにあるすべてのストリームを送信する必要はないため、TDM の帯域幅制限の管理に役立ちます。
アクティブに送信されるサンプル・ストリームに割り当てるタイム・スロットが競合しないようにすることが重要です。こうすることで、予測不可能な送信が生成され、ビット・スロットの競合が発生する (つまり、優先順位が定義されない) ことを防止します。
電流値と電圧値は、デフォルトでは全 16 ビットすべての測定値が送信されます。IVMON_LEN[1:0] レジスタ・ビットを使用すると、1 スロットで 8MSB ビットだけを送信するか、または複数のスロットにまたがって 12MSB ビットの値を送信することができます。ホスト・プロセッサで 24 ビットの I2S/TDM データのみを処理する場合は、特殊な 12 ビット・モードを使用します。デバイスは電圧センス・スロットと電流センス・スロットを 1 スロットずつオフに構成する必要があり、この結果、3 つの連続する 8 ビット・スロットが消費されます。このモードでは、デバイスは最初の 12MSB ビットを送信し、次に前のスロットで指定された 2 番目の 12MSB ビットを送信します。
タイム・スロットがフレーム境界を超えて送信されるように選択した場合、トランスミッタはフレーム境界で送信を切り捨てます。
VBAT1S、PVDD、温度の測定値用のタイム・スロットは、それぞれ VBAT1S_SLOT[5:0]、PVDD_SLOT[5:0]、TEMP_SLOT[5:0] レジスタ・ビットを使用して設定します。各サンプル・ストリームをイネーブルにするには、レジスタ・ビット VBAT1S_TX、PVDD_TX、TEMP_TX を High にセットします。スロット長は、VBAT1S_SLEN レジスタ・ビットと PVDD_SLEN レジスタ・ビットで選択します。
TDM の最後に処理されるオーディオ・スロットについては、イネーブル化や長さの設定にレジスタ・ビット AUDIO_SLOT[5:0]、AUDIO_TX、AUDIO_SLEN を使用します。
スロットのステータス情報は STATUS_SLOT[5:0] レジスタ・ビットで確認できます。STATUS_TX レジスタ・ビットを High にセットすると、ステータス送信はイネーブルになります。
TX リミッタ・ゲインを低減するスロット構成は、GAIN_SLOT[5:0] レジスタ・ビットを使用して 0 (デフォルト) から 63 までの範囲で設定できます。これは ICC (セクション 8.4.2.10) に使用され、TDM バスか ICC バスのいずれかで使用できます。この機能を使用するには、レジスタ・ビット GAIN_TX を High にセットする必要があります。