• 検索結果がありません。

6

N/A
N/A
Protected

Academic year: 2021

シェア "6"

Copied!
37
0
0

読み込み中.... (全文を見る)

全文

(1)

Stellaris

®

LM3S9B96 Microcontroller

17章 Inter-Integrated Circuit Sound(I

2

S) インターフェイス

JAJU151 SPMS182D 翻訳版(17 章) 最新の英語版: http://www.ti.com/lit/gpn/lm3s9b96

この資料は、Texas Instruments Incorporated(TI)が英文で記述した資料を、皆様のご理解の一助として頂くために日本テキサ ス・インスツルメンツ(日本 TI)が英文から和文へ翻訳して作成したものです。資料によっては正規英語版資料の更新に対応して いないものがあります。日本 TI による和文資料は、あくまでも TI 正規英語版をご理解頂くための補助的参考資料としてご使用下 さい。製品のご検討およびご採用にあたりましては必ず正規英語版の最新資料をご確認下さい。TI および日本 TI は、正規英語 版にて更新の情報を提供しているにもかかわらず、更新以前の情報に基づいて発生した問題や障害等につきましては如何なる

(2)

JAJU150

17

Inter-Integrated Circuit Sound(I

2

S) インターフェイス

I2Sモジュールは、送信モジュールと受信モジュールにて構成される設定可能なシリアル・オーディオ・コアです。この モジュールは、I2S、左詰め又は右詰めのシリアル・オーディオ形式をサポートします。4 つ(ステレオ、モノラル、コンパ クト 16 ビット・ステレオ、コンパクト 8 ビット・ステレオ)のデータ・モードを選択できます。 送信モジュールと受信モジュールは、それぞれ 8 エントリのオーディオ・サンプル FIFO を備えています。オーディオ・ サンプルの構成は、「左右のステレオ・サンプル」「モノラル・サンプル」「左右のコンパクト・ステレオ・サンプル」のど れかになります。コンパクト 16 ビット・ステレオでは、各 FIFO エントリには 16 ビット左サンプルと 16 ビット右サンプル の両方が入っているため、効率的なデータ転送が可能になり、必要なメモリ空間も少なくなります。コンパクト 8 ビッ ト・ステレオでは、各 FIFO エントリには 8 ビット左サンプルおよび 8 ビット右サンプルが入っているため、メモリ量をさら に少なくできます。 トランスミッタとレシーバ共にマスタまたはスレーブに設定できます。 Stellaris® I2Sモジュールの機能は次の通りです。 „ I2S、左詰め、右詰めのオーディオ・フォーマットを選択可能 „ 8 ビット~32 ビットのサンプル・サイズを設定可能 „ モノラルとステレオをサポート „ メモリ・パッキング用の、8 ビット/16 ビット/32 ビット FIFO インターフェイス „ 独立した送信用 8 エントリ FIFO および受信用 8 エントリ FIFO „ 設定可能な FIFO レベル割り込みとμDMA 要求 „ 独立した送信および受信 MCLK 方向制御 „ 送信および受信用内部 MCLK ソース „ 送信と受信でそれぞれ独立したシリアル・クロックとワード選択 „ MCLK と SCLK を、それぞれ独立してマスタまたはスレーブに設定可能 „ FIFO が空の場合に、ゼロまたは最後のサンプルを送信するかを選択可能 „ μDMA を使用した、効率的な転送 – 送信/受信用の個別のチャネル – バースト要求 – FIFO に必要な量のデータが入っている場合にアサートされる、チャネル要求

(3)

17.1 ブロック図

図 17-1. I2Sのブロック図

17.2 信号の説明

P727 の表 17-1 および表 17-2 にI2Sモジュールの外部信号の一覧を示し、それぞれの機能について説明します。I2S モジュール信号はGPIO信号とマルチプレクスされており、リセット後はGPIO信号として設定されています。以下の表 中、「ピン・マルチプレクシング / ピン割り当て」の列に、I2S信号として設定可能なGPIOピンの配置を示します。I2S 機能を選択するには、GPIO代替機能選択レジスタ(GPIOAFSEL)(P 328)のAFSELビットをセットする必要がありま す。括弧内の数値は、指定されたGPIOポート・ピンにI2S信号を割り当てるために、GPIO ポート制御レジスタ (GPIOPCTL)(P346)のPMCnフィールドに設定する値を示しています。GPIO の設定の詳細については、P304 の

(4)

表 17-1. I2Sの信号(100LQFP) ピン名称 ピン番号 ピン・マルチプレクシ ング / ピン割り当て 入出力 バッファの タイプ a 説明 I2S0RXMCLK 29 98 PA3 (9) PD5 (8) I/O TTL I2Sモジュール 0 受信マスタ・ク ロック. I2S0RXSCK 10 PD0 (8) I/O TTL I2S モジュール 0 受信クロック. I2S0RXSD 28 97 PA2 (9) PD4 (8) I/O TTL I2S モジュール 0 受信 デー タ. I2S0RXWS 11 PD1 (8) I/O TTL I2S モジュール 0 受信 ワード 選択. I2S0TXMCLK 61 PF1 (8) I/O TTL I2S モジュール 0 送信 マス タ・クロック. I2S0TXSCK 30 90 99 PA4 (9) PB6 (9) PD6 (8) I/O TTL I2S モジュール 0 送信 クロッ ク. I2S0TXSD 5 47 PE5 (9) PF0 (8) I/O TTL I2S モジュール 0 送信 デー タ. I2S0TXWS 6 31 100 PE4 (9) PA5 (9) PD7 (8) I/O TTL I2S モジュール 0 送信 ワード 選択. a. 「TTL」は、ピンが TTL 互換の電圧レベルを持つことを示します。 表 17-2. I2Sの信号 (108BGA) ピン名称 ピン番号 ピン・マルチプレクシ ング / ピン割り当て 入出力 バッファの タイプ a 説明 I2S0RXMCLK L4 C6 PA3 (9) PD5 (8) I/O TTL I2S モジュール 0 受信 マス タ・クロック I2S0RXSCK G1 PD0 (8) I/O TTL I2S モジュール 0 受信 クロッ ク. I2S0RXSD M4 B5 PA2 (9) PD4 (8) I/O TTL I2S モジュール 0 受信 デー タ. I2S0RXWS G2 PD1 (8) I/O TTL I2S モジュール 0 受信 ワード 選択. I2S0TXMCLK H12 PF1 (8) I/O TTL I2S モジュール 0 送信 マス タ・クロック I2S0TXSCK L5 A7 A3 PA4 (9) PB6 (9) PD6 (8) I/O TTL I2S モジュール 0 送信 クロッ ク. I2S0TXSD B3 M9 PE5 (9) PF0 (8) I/O TTL I2S モジュール 0 送信 デー タ. I2S0TXWS B2 M5 A2 PE4 (9) PA5 (9) PD7 (8) I/O TTL I2S モジュール 0 送信 ワード 選択. a. 「TTL」は、ピンが TTL 互換の電圧レベルを持つことを示します。

17.3 機能の説明

I2Sモジュールには、送信エンジンと受信エンジンが分かれて組み込まれています。 それぞれのエンジンの構成は次の通りです。

(5)

■ トランスミッタ用のシリアル・エンコーダ、レシーバ用のシリアル・デコーダ ■ サンプル・データを格納するための 8 エントリ FIFO ■ プログラム可能なすべての設定について、独立して設定可能 I2Sブロックの基本的なプログラミング・モデルは次の通りです。 ■ 設定 – I2Sモジュール設定 (I2SCFG) レジスタにてI2Sモジュール全体の設定を行います。このレジスタは、MCLKソースを 選択し、レシーバとトランスミッタをイネーブルにするために使用されます。

– I2S送信モジュール設定 (I2STXCFG) レジスタと、I2S受信モジュール設定 (I2SRXCFG) レジスタにて、送信と受 信の設定を行います。これらのレジスタでは、データ構成 (左右詰め、遅延、読み出しモード、サンプル・サイズ、 システム・データ・サイズ)、SCLK (極性とソース)、ワード選択極性といった、レシーバとトランスミッタ用の基本的な パラメータを設定します。

– I2S送信FIFO設定 (I2STXFIFOCFG) レジスタと、I2S受信FIFO設定 (I2SRXFIFOCFG) レジスタにて、送信と受信 のFIFOの設定を行います。これらのレジスタでは、コンパクト・ステレオ・モードのサイズ (16 ビットか 8 ビット) を 選択したり、次回のサンプルが左と右のどちらであるかを通知したり、レシーバ用ではモノラル・モードを選択しま す。

■ FIFO

– 送信および受信FIFOデータ用のI2S送信FIFOデータ (I2STXFIFO )レジスタとI2S受信FIFOデータ (I2SRXFIFO) レ ジスタ

– FIFOデータ・レベルを通知する、I2S送信FIFOレベル (I2STXLEV) レジスタとI2S受信FIFOレベル (I2SRXLEV) レ ジスタ

– FIFOレベルに基づいた、FIFOサービス要求設定を行う、I2S送信FIFOリミット (I2STXLIMIT) レジスタとI2S受信 FIFOリミット (I2SRXLIM) レジスタ ■ 割り込み制御 – I2S割り込みマスク (I2SIM) レジスタでの割り込みマスク設定 – I2Sロウ割り込みステータス (I2SRIS) レジスタと I2Sマスク割り込みステータス (I2SMIS) レジスタでの、ロウ割り 込みステータスとマスク割り込みステータス – I2S割り込みクリア (I2SIC) レジスタにおける割り込みクリア – I2S送信割り込みステータスおよびマスク (I2STXISM) レジスタとI2S受信割り込みステータスおよびマスク (I2SRXISM) レジスタにおける、FIFOサービス要求割り込みと送信/受信エラー割り込みの設定 P729 の図 17-2 は、I2Sデータ転送の一例です。P729 の図 17-3 は、左詰めデータ転送の一例です。P729 の図 17-4 は、右詰めデータ転送の一例です。

(6)

図 17-2. I2Sデータ転送

図 17-3. 左詰めデータ転送

図 17-4. 右詰めデータ転送

17.3.1 送信

トランスミッタは、シリアル・エンコーダ、8 エントリ FIFO、制御ロジックから構成されます。トランスミッタは、独立した MCLK (I2S0TXMCLK) 信号、SCLK (I2S0TXSCK) 信号、ワード選択 (I2S0TXWS) 信号を備えています。

17.3.1.1 シリアル・エンコーダ シリアル・エンコーダは送信FIFOからオーディオ・サンプルを読み出して、オーディオ・ストリームに変換します。シリア ル・エンコーダを設定することにより、一般的なオーディオ形式であるI2S、左詰め、右詰めがサポートされます。最初 に送信されるのはMSBになります。サンプル・サイズとシステム・データ・サイズは、 I2S送信モジュール設定 (I2STXCFG) レジスタのSSZビットとSDSZビットを使用して設定できます。サンプル・サイズは、送信データのビット数 であり、システム・データ・サイズは、ワード選択信号のロー又はハイ期間中のI2S0TXSCK信号クロック数です。シ ステム・データ・サイズは、最大のサンプル・サイズが入る十分な大きさである必要があります。モノラル・モードでは、

(7)

サンプル・データが左チャネルと右チャネルの両方で繰り返されます。FIFOが空の場合は、ゼロの送信と最後のサン プルの送信のどちらかをユーザーが選択することが可能です。シリアル・エンコーダは、 I2Sモジュール設定 (I2SCFG) レジスタのTXENビットを使用してイネーブルにできます。

17.3.1.2 FIFO の動作

送信FIFOは、8 個のモノラル・サンプルまたは 8 個のステレオ サンプル・ペアのデータを格納し、I2S送信FIFOデータ (I2STXFIFO) レジスタを介してアクセスされます。オーディオ・データ用のFIFOインターフェイスは書き込みモードによ って異なり、書き込みモードはI2S送信FIFO設定 (I2STXFIFOCFG)レジスタの コンパクト・ステレオ・サンプル・サイ ズ・ビット(CSS) とI2STXCFG書き込みモード・フィールド(WM)によって設定されます。 すべてのデータ・サンプルは MSB 揃えになります。P730 の表 17-3 では、各書き込み・モード用のインターフェイスを 示しています。ステレオ・サンプルは最初に左、次に右に書き込まれます。次に書き込まれるサンプルが右か左かは、 I2STXFIFOCFG レジスタの LRS ビットによって判断できます。 表 17-3. I2S 送信FIFOインターフェイス I2STXCFG の WM フィールド I2STXFIFOCFG の CSS ビット 書き込みモード サンプルの 1 つの FIFO 書き 込み当たりのサン プル数 データ配置 0x0 don’t care ステレオ 8-32 ビット 1 MSB 0x1 0 コンパクト・ステレオ- 16 ビット 8-16 ビット 2 MSB 右 [31:16], 左[15:0] 0x1 1 コンパクト・ステレオ - 8 ビット 8 ビット 2 右 [15:8], 左[7:0] 0x2 don’t care モノラル 8-32 ビット 1 MSB

送信FIFOにあるサンプルの数は、I2S送信FIFOレベル (I2STXLEV) レジスタを使用して読み出すことができます。値 の範囲は 0~16 になります。ステレオ・サンプルのペアおよびコンパクト・ステレオ・サンプルのペアは、2 とカウントさ れます。モノラル・サンプルもカウントを 2 ずつインクリメントさせるため、4 つのモノラル・サンプルのカウントは 8 とな ります。 17.3.1.3 クロック制御 トランスミッタの MCLK と SCLK は、マスタまたはスレーブに独立して設定することが可能です。I2STXCFG レジスタ の MSL ビットを使用して、トランスミッタを SCLK のマスタまたはスレーブにプログラミングします。トランスミッタがマス タの場合は、I2S0TXSCK の周波数は指定された I2S0TXMCLK を 4 分周したものになります。I2S0TXSCK は、 I2STXCFG レジスタの SCP ビットを使用して反転できます。

トランスミッタはまた、MCLK のマスタまたはスレーブとなることも可能です。トランスミッタがマスタの場合は、PLL が アクティブである必要があり、また分数クロック・ディバイ ダをプログラミングする必要があります。マスタの I2S0TXMCLK のソースのセットアップについては、P145 を参照してください。外部 I2S0TXMCLK 信号を使用する場 合は PLL の使用を必要とせず、I2SCFG レジスタの TXSLV ビットを使用して選択されます。

(8)

次の各表には、許容可能な誤差限界内のMCLK周波数を提供するI2S MCLK 設定 (I2SMCLKCFG) レジスタの TXINTビットおよびTXFRACビットの組み合わせを記載しています。表中のFsはサンプリング周波数(kHz単位)であり、 可能な水晶周波数(MHz単位)が各表の最初の行に記載されています。表中の"非対応"とは、その箇所の水晶周波 数を選択した場合、サンプリング周波数の許容誤差を 0.3%以内におさめることはできないという意味です。表中の値 は、次に示す値に基づいています。 MCLK = Fs × 256 PLL = 400 MHz 整数値は、次に示す計算の結果から得られたものです。 ROUND(PLL/MCLK) 残りの分数成分は二進値に変換され、最初の 4 ビットが分数値となります。

(9)

表 17-4. 水晶周波数(3.5795MHz~5MHz 範囲の値) 水晶周波数(MHz) 3.5795 3.6864 4 4.096 4.9152 5 サンプ リング 周波数 Fs (kHz) 整数 分数 整数 分数 整数 分数 整数 分数 整数 分数 整数 分数 8 195 12 194 6 195 5 196 0 194 6 195 5 11.025 142 1 141 1 141 12 142 4 141 1 141 12 12 130 8 129 10 130 3 130 11 129 10 130 3 16 97 14 97 3 97 10 98 0 97 3 97 10 22.05 71 0 70 8 70 14 71 2 70 8 70 14 24 65 4 64 13 65 2 65 5 64 13 65 2 32 48 15 48 10 48 13 49 0 48 10 48 13 44.1 35 8 35 4 35 7 35 9 35 4 35 7 48 32 10 32 6 32 9 32 11 32 6 32 9 64 24 8 24 5 24 7 24 8 24 5 24 7 88.2 17 12 17 10 17 11 17 12 17 10 17 11 96 16 5 16 3 16 4 16 5 16 3 16 4 128 12 4 12 2 12 3 12 4 12 2 12 3 176.4 8 14 8 13 8 14 8 14 8 13 8 14 192 非対応 非対応 8 2 8 3 非対応 8 2 表 17-5. 水晶周波数(5.12MHz~8.192MHz 範囲の値) 水晶周波数(MHz) 5.12 6 6.144 7.3728 8 8.192 サンプ リング 周波数 Fs (kHz) 整数 分数 整数 分数 整数 分数 整数 分数 整数 分数 整数 分数 8 195 0 195 5 195 0 194 6 195 5 194 11 11.025 141 8 141 12 141 8 141 1 141 12 141 4 12 130 0 130 3 130 0 129 10 130 3 129 12 16 97 8 97 10 97 8 97 3 97 10 97 5 22.05 70 12 70 14 70 12 70 8 70 14 70 10 24 65 0 65 2 65 0 64 13 65 2 64 14 32 48 12 48 13 48 12 48 10 48 13 48 11 44.1 35 6 35 7 35 6 35 4 35 7 35 5 48 32 8 32 9 32 8 32 6 32 9 32 7 64 24 6 24 7 24 6 24 5 24 7 24 5 88.2 17 11 17 11 17 11 17 10 17 11 17 11 96 16 4 16 4 16 4 16 3 16 4 16 4 128 12 3 12 3 12 3 12 2 12 3 12 3 176.4 非対応 8 14 非対応 8 13 8 14 8 13 192 8 2 8 2 8 2 非対応 8 2 8 2

(10)

表 17-6. 水晶周波数(10MHz~14.3181MHz 範囲の値 水晶周波数(MHz) 10 12 12.288 13.56 14.3181 サンプリ ング周波 数 Fs (kHz) 整数 分数 整数 分数 整数 分数 整数 分数 整数 分数 8 195 5 195 5 196 0 194 3 195 12 11.025 141 12 141 12 142 4 140 15 142 1 12 130 3 130 3 130 11 129 8 130 8 16 97 10 97 10 98 0 97 2 97 14 22.05 70 14 70 14 71 2 70f 7 71 0 24 65 2 65 2 65 5 64 12 65 4 32 48 13 48 13 49 0 48 9 48 15 44.1 35 7 35 7 35 9 35 4 35 8 48 32 9 32 9 32 11 32 6 32 10 64 24 7 24 7 24 8 24 4 24 8 88.2 17 11 17 11 17 12 17 10 17 12 96 16 4 16 4 16 5 16 3 16 5 128 12 3 12 3 12 4 12 2 12 4 176.4 8 14 8 14 8 14 8 13 8 14 192 8 2 8 2 8 3 非対応 非対応 表 17-7. 水晶周波数(16MHz~16.384MHz 範囲の値) 水晶周波数(MHz) 16 16.384 サンプリング周波数 Fs (kHz) 整数 分数 整数 分数 8 195 5 192 0 11.025 141 12 139 5 12 130 3 128 0 16 97 10 96 0 22.05 70 14 69 11 24 65 2 64 0 32 48 13 48 0 44.1 35 7 34 13 48 32 9 32 0 64 24 7 24 0 88.2 17 11 17 7 96 16 4 16 0 128 12 3 12 0 176.4 8 14 8 11 192 8 2 8 0

(11)

17.3.1.4 割り込み制御 送信または受信割り込み条件が満たされた場合は、単一の割り込みがCPUに対してアサートされます。送信モジュ ールには、FIFOサービス要求と書き込みエラーという、2 つの割り込みソースがあります。割り込みは、I2S割り込みマ スク (I2SIM) レジスタのTXSRIMビットとTXWEIMビットを使用してマスクできます。割り込みソースのステータスは、 I2Sロウ割り込みステータス (I2SRIS) レジスタによって通知されます。イネーブルされた割り込みのステータスは、I2S マスク割り込みステータス (I2SMIS) レジスタによって通知されます。FIFOレベル割り込みには、I2S送信割り込みス テータスおよびマスク (I2STXISM) レジスタのFFMビットを使用する二次レベルのマスキングがあります。

FIFOサービス要求割り込みは、FIFOレベル(I2S送信FIFOレベル (I2STXLEV) レジスタのLEVELフィールドによって 通知されます)がFIFOリミット(I2S送信FIFOリミット(I2STXLIMIT) レジスタを使用してプログラムされます)より低く、 TXSRIMビットとFFMビットの両方がセットされている場合にアサートされます。ソフトウェアが満杯のFIFOに書き込み を行おうとした場合は、送信FIFO書き込みエラーが発生します(I2Sロウ割り込みステータス (I2SRIS) レジスタの TXWERISビットにより通知されます)。I2SRIS レジスタのTXWERISビットと、I2SMIS レジスタのTXWEMISビットは、I2S 割り込みクリア (I2SIC) レジスタのTXWEICビットをセットすることによりクリアされます。

17.3.1.5 DMA サポート

μDMAを使用すると、I2Sバスでデータをより効率的に扱う事ができます。I2Sの送信モジュールと受信モジュールには、 個別のμDMAチャネルがあります。μDMAモジュールに要求を通知するためには、I2STXISM レジスタのFIFO割り込 みマスクビット(FFM)をセットする必要があります。チャネル設定については、P246 の“Micro Direct Memory Access (μDMA)”を参照してください。 I2S モジュールでは、μDMAに対して、シングル要求ではなくバースト要求信号を使用します。これにより、μDMA要求 が生成されるたびに、μDMAコントローラではμDMAチャネル用のバースト・サイズとして指定された数のデータを転送 します。したがって、μDMAチャネルのバースト・サイズとI2SFIFOのサービス要求リミットは同じ値にセットする必要が あります (I2STXLIMIT レジスタのLIMITフィールドを使用して)。

17.3.2 受信

レシーバは、シリアル・デコーダ、8 エントリ FIFO、制御ロジックから構成されます。レシーバは、独立した MCLK (I2S0RXMCLK) 信号、SCLK (I2S0RXSCK) 信号、ワード選択 (I2S0RXWS) 信号を備えています。

17.3.2.1 シリアル・デコーダ シリアル・デコーダはオーディオ・ストリーム・データを受信して、サンプル・データを受信FIFOに入れます。シリアル・ デコーダを設定することにより、一般的なオーディオ形式であるI2S、左詰め、右詰めがサポートされます。最初に送 信されるのはMSBになります。サンプル・サイズとシステム・データ・サイズは、I2S受信モジュール設定 (I2SRXCFG) レジスタのSSZビットとSDSZビットを使用して設定できます。サンプル・サイズは、受信されているデータのビット数で あり、システム・データ・サイズは、ワード選択信号のロー又はハイ期間中のI2S0RXSCK信号クロック数です。シス テム・データ・サイズは、最大のサンプル・サイズが入る十分な大きさである必要があります。LSBの後で受信される ビットはどれも 0 です。FIFOが満杯の場合は、FIFOに空きができるまで受信した(モノラルの)サンプルまたは(ステレ オの)サンプル・ペアは破棄されます。シリアル・デコーダは、I2SCFGレジスタのRXENビットを使用してイネーブルに できます。。

(12)

17.3.2.2 FIFO の動作

受信FIFOは、8 個のモノラル・サンプルまたは 8 個のステレオ・サンプル・ペアのデータを格納し、I2S受信FIFOデータ (I2SRXFIFO) レジスタを介してアクセスされます。P734 の表 17-8 では、各読み出しモード用のインターフェイスを示 しています。すべてのデータは、MSB揃えで格納されます。ステレオ・データは、最初に左、次に右のサンプルが読み 出されます。

モノラル・モードでは、I2S受信FIFO設定 (I2SRXFIFOCFG) レジスタのFIFOモノラル・モード・ビット(FMM)をセットする ことにより、右チャネルまたは左チャネルを読み出すようにFIFOインターフェイスを設定できます。これにより、単一の チャネルからの読み出しがイネーブルになります。この場合、選択されたチャネルは、I2SRXCFG レジスタのLRPビ ットの決定に従って右または左のどちらかになります。 表 17-8. I2S 受信FIFOインターフェイス I2RXCFG の RM ビット I2SRXFIFOCFG の CSS ビット 読み出しモード サンプルの 幅 1 つの FIFO 読み 出し当たりのサン プル数 データ配置 0 don’t care ステレオ 8-32 ビット 1 MSB 1 0 コンパクト・ステレオ- 16 ビット 8-16 ビット 2 MSB 右 [31:15], 左[15:0] 1 1 コンパクト・ステレオ - 8 ビット 8 ビット 2 右 [15:8], 左[7:0] 0 don’t care モノラル (I2SRXFIFOCFG レジ スタの FMM ビットを設 定する必要あり) 8-32 ビット 1 MSB

受信FIFOにあるサンプルの数は、I2S受信FIFOレベル (I2SRXLEV) レジスタを使用して読み出すことができます。値 の範囲は 0~16 になります。ステレオ・サンプルのペアおよびコンパクト・ステレオ・サンプルのペアは、2 とカウントさ れます。モノラル・サンプルもカウントを 2 ずつインクリメントさせるため、4 つのモノラル・サンプルのカウントは 8 とな ります。 17.3.2.3 クロック制御 レシーバの MCLK と SCLK は、マスタまたはスレーブに独立して設定することが可能です。I2SRXCFG レジスタの MSL ビットを使用して、レシーバを SCLK のマスタまたはスレーブにプログラミングします。レシーバがマスタの場合は、 I2S0RXSCK の周波数は指定された I2S0RXMCLK を 4 分周したものになります。I2S0RXSCK は、I2SRXCFG レジ スタの SCP ビットを使用して反転できます。

レシーバはまた、MCLK のマスタまたはスレーブとなることも可能です。レシーバがマスタの場合は、PLL がアクティブ である必要があり、また分数クロック・ディバイダをプログラミングする必要があります。マスタの I2S0RXMCLK ソー スのセットアップについては、P145 を参照してください。外部 I2S0RXMCLK 信号を使用する場合は PLL の使用を必 要とせず、I2SCFG レジスタの RXSLV ビットを使用して選択されます。

(13)

許容可能な誤差限界内のMCLK周波数を提供するI2S MCLK 設定 (I2SMCLKCFG) レジスタのRXINTビットと RXFRACビットの組み合わせについては、P730 の“クロック制御” を参照してください。表中のFsはサンプリング周波 数(kHz単位)であり、可能な水晶周波数(MHz単位)が各表の最初の行に記載されています。表中の"非対応"とは、 その箇所の水晶周波数を選択した場合、サンプリング周波数の許容誤差を 0.3%以内におさめることはできないという 意味です。 17.3.2.4 割り込み制御 送信または受信が割り込み条件が満たされた場合は、単一の割り込みがCPUに対してアサートされます。受信モジ ュールには、FIFOサービス要求と読み出しエラーという、2 つの割り込みソースがあります。割り込みは、I2SIMレジス タのRXSRIMビットとRXREIMビットを使用してマスクできます。割り込みソースのステータスは、I2SRISレジスタによっ て通知されます。イネーブルされた割り込みのステータスは、I2SMISレジスタによって通知されます。FIFO サービス 要求割り込みには、I2S受信割り込みステータスおよびマスク (I2SRXISM) レジスタのFFMビットを使用する二次レベ ルのマスキングがあります。

FIFOサービス要求割り込みは、FIFOレベル(I2S受信FIFOレベル (I2SRXLEV) レジスタのLEVELフィールドによって 通知されます)がFIFOリミット(I2S受信FIFOリミット(I2SRXLIMIT) レジスタを使用してプログラムされます)より高く、 RXSRIMビットとFFMビットの両方がセットされている場合にアサートされます。空のFIFOを読み出した場合や、ステレ オ・サンプル・ペアが左、右の順で読み出されなかった場合は、エラーが発生します。割り込みをクリアするには、 I2SIC レジスタの対応するビットに 1 を書き込みます。ソフトウェアが空のFIFOから読み出しを行おうとしたり、ステレ オ・サンプル・ペアが左、右の順で読み出されなかった場合は、受信FIFO読み出しエラー(I2SRISレジスタの RXRERISビットにより通知されます)が発生します。I2SRIS レジスタの RXRERIS ビッ トと、I2SMIS レジス タの RXREMIS ビットは、I2SIC レジスタのRXREICビットをセットすることによりクリアされます。

17.3.2.5 DMA サポート

μDMAを使用すると、I2Sバスでデータをより効率的に扱う事ができます。I2Sの送信モジュールと受信モジュールには、 個別のμDMAチャネルがあります。μDMAモジュール要求を通知するためにはI2SRXISMレジスタのFIFO割り込みマ スクビット(FFM)をセットする必要があります。チャネル設定については、P246 の“Micro Direct Memory Access (μDMA)”を参照してください。 I2S モジュールでは、μDMAに対してシングル要求ではなく、バースト要求信号を使用します。これにより、μDMA要求 が生成されるたびに、μDMAコントローラではμDMAチャネル用のバースト・サイズとして指定された数のデータを転送 します。したがって、μDMAチャネルのバースト・サイズとI2SFIFOのサービス要求リミットは同じ値にセットする必要が あります(I2SRXLIMITレジスタのLIMITフィールドを使用して)。

17.4 初期化と構成

I2Sの送信と受信のデフォルト設定では、外部MCLK、外部SCLK、ステレオ、I2S オーディオ形式、32 ビット・データ・サ ンプルと設定されています。次の例では、内部MCLK、内部SCLK、コンパクト・ステレオ、左詰めの 16bitデータ・サン プル形式にシステムを設定する方法を示します。

(14)

1. システム制御モジュールのRCGC1 レジスタに0x1000.0000 という値を書き込むことで、I2Sのペリフェラル・クロ ックをイネーブルにします。(P182 を参照) 2. システム制御モジュールの RCGC2 レジスタを介して、対応するGPIO モジュールへのクロックをイネーブルに します。(P194 を参照) イネーブルにする必要のある GPIO ポートを判断するには、P1160 の表 25-5 を参照し てください。 3. GPIO モジュールでは、GPIOAFSEL レジスタ(P328 を参照)にて、対応するピンをペリフェラル・ピンとして使用 するように設定します。設定する必要のあるGPIO を判断するには、P1151 の表 25-4 を参照してください。 4. GPIOPCTLレジスタのPMCnフィールドを構成して、I2S信号を適切なピンに割り当てます。 (P346、および P1160 の表 25-5 を参照) 5. MCLK ソースを 48KHz サンプリング・レートにセットアップします。入力水晶周波数は、この例では 6MHz 内部 ソースと仮定します。 „ システム制御モジュールの RCC レジスタの PWRDWN ビット(P130 を参照)をクリアすることにより、PLL をイネー ブルにします。 „ システム制御モジュールの I2SMCLKCFG レジスタ(P145 を参照)に 0x0208.0208 を書き込むことで、MCLK のデ ィバイダをセットしイネーブルにします。 „ システム制御モジュールの I2SMCLKCFG レジスタに 0x8208.8208 を書き込むことにより、MCLK の内部ソース をイネーブルにします。 外部 MCLK が使用できるようにするには、I2SCFG レジスタのビット 4 とビット 5 をセットします。PLL の起動と MCLK ソースのイネーブルは必要ではありません。 6. シリアル・ビット・クロックSCLK ソースをセットアップします。デフォルトでは、SCLK のソースは外部になります。 „ レシーバ: I2SRXCFG レジスタに 0x0040.0000 を OR することで、I2S0RXSCK のマスタとなります。 „ トランスミッタ: I2STXCFG レジスタに 0x0040.0000 を OR することで、I2S0TXSCK のマスタとなります。 7. シリアル・エンコーダ/デコーダ(左詰め、コンパクト・ステレオ、16 ビット・サンプル、32 ビット・システム・データ・サ イズ)を設定します。

„ I2STXCFG レジスタと I2SRXCFG レジスタの左右詰め(JST)・ビット、データ遅延(DLY) ビット、SCLK 極性(SCP) ビット、左/右クロックの極性(LRP)ビットを使用して、オーディオ形式を設定します。次に示す表に、この設定を 示します。 表 17-9. オーディオ形式の構成 I2STXCFG/I2SRXCFG レジスタのビット オーディオ形式 JST DLY SCP LRP I2S 0 1 0 1 左詰め 0 0 0 0 右詰め 1 0 0 0 „ I2STXCFG レジスタと I2SRXCFG レジスタの両方に 0x0140.3DF0 を書き込んで、次に示す設定をプログラムしま す。 – I2STXCFGレジスタとI2SRXCFGレジスタのSSZフィールドを使用して、サンプル・サイズを16ビットに設定します。 – I2STXCFGレジスタとI2SRXCFGレジスタのSDSZフィールドを使用して、システム・データ・サイズを32ビットに設 定します。

(15)

– I2STXCFGレジスタとI2SRXCFG レジスタそれぞれのWMフィールドとRMフィールドを使用して、書き込みモードと 読み出しモードを設定します。

8. 割り込みのトリガ用に、FIFO リミットをセットアップします。 (μDMA にも使用されます)

„ I2STXLIMIT レジスタに 0x0000.0008 を書き込むことにより、送信 FIFO をセットアップして、送信 FIFO にあるサン プル・ペアの数が 4 より少ない場合にトリガするようにします。 „ I2SRXLIMIT レジスタに 0x0000.00008 を書き込むことにより、受信 FIFO をセットアップして、サンプル・ペアの数 が 4 より多い場合にトリガするようにします。 9. 割り込みをイネーブルにします。 „ I2STXISM レジスタの FFM ビットをセットすることにより、送信 FIFO 割り込みをイネーブルにします。 (0x0000.0001 を書き込みます) „ I2SRXISM レジスタの FFM ビットをセットすることにより、受信 FIFO 割り込みをセットアップします。(0x0000.0001 を書き込みます) „ I2SSIM レジスタに 0x0000.0033 を書き込むことにより、TX FIFO サービス要求割り込み、TX エラー割り込み、 RX FIFO サービス要求割り込み、RX エラー割り込みをイネーブルにして、CPU に送れるようにします。 10. I2SCFG レジスタに 0x0000.0003 を書き込むことにより、シリアル・エンコーダとシリアル・デコーダをイネーブ ルにします。

17.5 レジスタ・マップ

P 737 の表 17-10 は、I2Sレジスタのリストです。記載されているオフセットは、I2Sインターフェイスのベース・アドレス 0x4005.4000 からのオフセット・アドレスを意味します。I2Sモジュールのクロックは、レジスタをプログラムする前にイネ ーブルにする必要があることに注意してください。(P182 参照) 表 17-10. I2Sインターフェイスのレジスタ・マップ オフセット 名前 タイプ リセット 説明 参照 P 0x000 I2STXFIFO WO 0x0000.0000 I2S送信FIFOデータ 738 0x004 I2STXFIFOCFG R/W 0x0000.0000 I2S送信FIFO設定 739 0x008 I2STXCFG R/W 0x1400.7DF0 I2S送信モジュール設定 740 0x00C I2STXLIMIT R/W 0x0000.0000 I2S送信FIFOリミット 742 0x010 I2STXISM R/W 0x0000.0000 I2S送信割り込みステータスおよびマス ク 743 0x018 I2STXLEV RO 0x0000.0000 I2S送信FIFOレベル 744 0x800 I2SRXFIFO RO 0x0000.0000 I2S受信FIFOデータ 745 0x804 I2SRXFIFOCFG R/W 0x0000.0000 I2S受信FIFO設定 746 0x808 I2SRXCFG R/W 0x1400.7DF0 I2S受信モジュール設定 747 0x80C I2SRXLIMIT R/W 0x0000.7FFF I2S受信FIFOリミット 750 0x810 I2SRXISM R/W 0x0000.0000 I2S受信割り込みステータスおよびマス ク 751 0x818 I2SRXLEV RO 0x0000.0000 I2S受信FIFOレベル 752 0xC00 I2SCFG R/W 0x0000.0000 I2Sモジュール設定 753

(16)

0xC10 I2SIM R/W 0x0000.0000 I2S割り込みマスク 755 0xC14 I2SRIS RO 0x0000.0000 I2Sロウ割り込みステータス 757 0xC18 I2SMIS RO 0x0000.0000 I2Sマスク割り込みステータス 759 0xC1C I2SIC WO 0x0000.0000 I2S割り込みクリア 761

17.6 レジスタの説明

このセクションの以降のページでは、I2Sのレジスタをアドレス・オフセットの番号順に記載し、説明します。

(17)

レジスタ 1: I

2

S送信FIFOデータ (I2STXFIFO)、オフセット 0x000

このレジスタは、32 ビットのシリアル・オーディオ送信データ・レジスタです。ステレオ・モードでは、データは左、右、左、 右、という順に書き込まれます。I2S送信FIFO設定 (I2STXFIFOCFG) レジスタのLRSビットを読み出して、次の位置を 判断する事ができます。コンパクト 16 ビット・モードでは、ビット[31:16]には右サンプルが入っており、ビット[15:0]には 左サンプルが入っています。コンパクト 8 ビット・モードでは、ビット[15:8]には右サンプルが入っており、ビット[7:0]には 左サンプルが入っています。モノラル・モードでは、各 32 ビット・エントリは単一サンプルになります。 FIFO が満杯の場合に書き込みが行われようとした場合は、送信 FIFO 書き込みエラーが生成されることに注意してく ださい。 I2S送信FIFOデータ (I2STXFIFO) ベース: 0x4005.4000 オフセット: 0x000 タイプ: WO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:0 TXFIFO WO 0x0000.0000 TX データ 送信されるシリアル・オーディオ・サンプル ・データ

(18)

レジスタ 2: I

2

S送信FIFO設定 (I2STXFIFOCFG)、オフセット 0x004

このレジスタは、デュアル・チャネル動作用のサンプルを設定します。ステレオ・モードでは、送信 FIFO に書き込みが 行われると、LRS ビットが左サンプルと右サンプルでトグルします。左サンプルが最初に書きこまれ、次に右サンプル が書き込まれます。 I2S送信FIFO設定 (I2STXFIFOCFG) ベース: 0x4005.4000 オフセット: 0x004 タイプ: R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:2 予約 RO 0x0000.000 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 1 CSS R/W 0 コンパクト・ステレオ・サンプル・サイズ 値 説明 0 トランスミッタは、16 ビット・サンプル・サイズのコン パクト16 ビット・ステレオ・モードです。 1 トランスミッタは、8 ビット・サンプル・サイズのコンパ クト8 ビット・ステレオ・モードです。 0 LRS R/W 0 左-右 サンプル表示 値 説明 0 次の位置は左サンプルになります。 1 次の位置は右サンプルになります。 モノラル・モードとコンパクト・ステレオ・モードでは、このビットは ステレオ・モードの場合と同じように切り替わりますが、そのこ とに意味はないため、無視してください。

(19)

レジスタ 3: I

2

S送信モジュール設定 (I2STXCFG)、オフセット 0x008

このレジスタは、送信モジュール設定を行います。 I2S送信モジュール設定 (I2STXCFG) ベース: 0x4005.4000 オフセット: 0x008 タイプ: R/W、リセット 0x1400.7DF0 ビット / フィールド 名称 タイプ リセット 説明 31:30 予約 RO 0x0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 29 JST R/W 0 出力データの左右詰め設定 値 説明 0 データは左詰めです。 1 データは右詰めです。 28 DLY R/W 1 データの遅延 値 説明 0 データは、I2S0TXSCKのSCPビットで定義され た次のラッチング・エッジでラッチされます。左詰め または右詰めモードでは、このビットがクリアになっ ている必要があります。 1 データがラッチされる前に、I2S0TXWSのエッジか らI2S0TXSCK1 つ分の遅延が挿入されます。I2S モードではこのビットを設定する必要があります。 27 SCP R/W 0 SCLK の極性 値 説明 0 データとI2S0TXWS信号(MSLビットがセットされ た場合)は、I2S0TXSCKの立ち下りエッジで送信 されます。 1 データとI2S0TXWS信号(MSLビットがセットされ た場合)は、I2S0TXSCKの立ち上がりエッジで送 信されます。 26 LRP R/W 1 左/右クロックの極性 値 説明 0 左チャネル・データの送信中、I2S0TXWSはHigh になります。 1 右チャネル・データの送信中、I2S0TXWSはHigh になります。

(20)

25:24 WM R/W 0x0 書き込みモード このビット・フィールドは、送信データをFIFO に格納して送信す るためのモードを選択します。 値 説明 0x0 ステレオ・モード 0x1 コンパクト・ステレオ・モード 左/右サンプルがパッキングされます。8 ビット/16 ビ ットのサンプル・サイズ選択については、 I2STXFIFOCFG を参照してください。 0x2 モノラル・モード 0x3 予約 23 FMT R/W 0 FIFO エンプティ 値 説明 0 FIFO が空の場合は、すべてゼロが送信されます。 1 FIFO が空の場合は、最後のサンプルが送信され ます。 22 MSL R/W 0 SCLK マスタ/スレーブ シリアル・ ビット・クロック(I2S0TXSCK)とワード選択 (I2S0TXWS) のソース 値 説明 0 トランスミッタは、外部のI2S0TXSCK信号と I2S0TXWS信号を使用するスレーブです。 1 トランスミッタは、内部で生成されたI2S0TXSCK 信号とI2S0TXWS信号を使用するマスタです。 21:16 予約 RO 0x00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 15:10 SSZ R/W 0x1F サンプル・サイズ このフィールドには、サンプルのビット数から1 を引いた値を設 定します。 注: このフィールドは、右詰めモードでのみ使用されます。使用 されないビットはマスクされません。 9:4 SDSZ R/W 0x1F システム・データ・サイズ

このフィールドには、I2S0TXWS信号のHigh 期間または Low 期間中のビット数から1 を引いた値を設定します。

3:0 予約 RO 0x0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。

(21)

レジスタ 4: I

2

S送信FIFOリミット (I2STXLIMIT)、オフセット 0x00C

このレジスタは、FIFO サービス要求が発行される FIFO リミット・レベルを設定します。 I2S送信FIFOリミット (I2STXLIMIT) ベース: 0x4005.4000 オフセット: 0x00C タイプ: R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:5 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 4:0 LIMIT R/W 0x00 FIFO リミット このフィールドは、FIFO サービス要求が発行される FIFO レべ ルを設定して、割り込みまたはμDMA 転送要求を生成します。 送信FIFO は、FIFO のデータ数がLIMITフィールドで指定さ れたレベルより少ない場合にサービス要求を生成します。例え ば、LIMITフィールドが8 に設定されている場合は、送信 FIFO に残っているサンプルが 8 より少なければサービス要求 が生成されます。

(22)

レジスタ 5: I

2

S送信割り込みステータスおよびマスク (I2STXISM)、オフセット 0x010

このレジスタは、送信割り込みステータスを通知し、割り込みマスクを制御します。 I2S送信割り込みステータスおよびマスク (I2STXISM) ベース: 0x4005.4000 オフセット: 0x010 タイプ: R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:17 予約 RO 0x000 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 16 FFI RO 0 送信FIFO サービス要求割り込み 値 説明 0 FIFO レベルは FIFO リミット以上です。 1 FIFO レベルは FIFO リミットより低くなっています。 15:1 予約 RO 0x000 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 0 FFM R/W 0 FIFO 割り込みマスク 値 説明 0 FIFO 割り込みはマスクされており、CPU に送信さ れません。 1 FIFO 割り込みは、割り込みコントローラに送信する ためにイネーブルにされています。

(23)

レジスタ 6: I

2

S送信FIFOレベル (I2STXLEV)、オフセット 0x018

送信 FIFO 中のサンプル数は、I2STXLEV レジスタを使用して読み出せます。値の範囲は 0~16 です。ステレオのサ ンプル・ペアおよびコンパクト・ステレオのサンプル・ペアは、2 とカウントされます。モノラル・サンプルも 2 ずつカウント をインクリメントします。例えば、モノラル・サンプルが 4 つある場合は、LEVEL フィールドは 8 に設定されます。 I2S送信FIFOレベル (I2STXLEV) ベース: 0x4005.4000 オフセット: 0x018 タイプ: RO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:5 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 4:0 LEVEL RO 0x00 オーディオ・サンプルの数 このフィールドには、FIFO の中にあるサンプル数が入っていま す。

(24)

レジスタ 7: I

2

S受信FIFOデータ (I2SRXFIFO)、オフセット 0x800

重要: このレジスタを読み出す場合は注意してください。読み出しを実行すると、ビットのステータスが変化する可能 性があります。

このレジスタは、32 ビット・シリアル・オーディオ受信データ・レジスタです。ステレオ・モードでは、データは左、右、左、 右、という順に読み出されます。I2S受信FIFO設定 (I2SRXFIFOCFG) レジスタのLRS ビットを読み出して、次の位置 を判断する事ができます。コンパクト 16 ビット・モードでは、ビット[31:16] には右サンプルが入っており、ビット[15:0] には左サンプルが入っています。コンパクト 8 ビット・モードでは、ビット[15:8]には右サンプルが入っており、ビット[7:0] には左サンプルが入っています。モノラル・モードでは、各 32 ビット・エントリは単一サンプルになります。FIFOが空の 場合にこのレジスタを読み出すと、0x0000.0000 という値が返され、受信FIFO読み出しエラーが生成されます。 I2S受信FIFOデータ (I2SRXFIFO) ベース: 0x4005.4000 オフセット: 0x800 タイプ: RO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:0 RXFIFO RO 0x0000.0000 RX データ 受信されたシリアル・オーディオ・サンプル・データ 空のFIFO を読み出すと、0x0 という値が返されます。

(25)

レジスタ 8: I

2

S受信FIFO設定 (I2SRXFIFOCFG)、オフセット 0x804

このレジスタは、デュアルチャネル動作用のサンプルを構成します。ステレオ・モードでは、サンプルが受信 FIFO から 読み出されると、LRS ビットが左と右でトグルします。モノラル・モードでは、左と右両方のサンプルが FIFO に格納さ れます。FMM ビットを使用して、LRP ビットで決定された通りに、右か左どちらかのみのサンプルを読み出すことがで きます。コンパクト・ステレオ 8 ビットまたは 16 ビット・モードでは、左と右両方のサンプルが FIFO からの 1 回のアクセ スで読み出されます。 I2S受信FIFO設定 (I2SRXFIFOCFG) ベース: 0x4005.4000 オフセット: 0x804 タイプ: R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:3 予約 RO 0x0000.000 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 2 FMM R/W 0 FIFO モノラル・モード 値 説明 0 レシーバはステレオ・モードです。 1 レシーバはモノラル・モードです。 I2SRXCFG レジスタのLRPビットがクリアされて いる場合は、I2S0RXWS信号がLow (右チャネ ル)の間にデータが読みだされます。LRP ビットが セットされると、I2S0RXWS信号がHigh(左チャネ ル)の間にデータが読み出されます。 1 CSS R/W 0 コンパクト・ステレオ・サンプルのサイズ 値 説明 0 レシーバは、16 ビット・サンプル・サイズのコンパク ト16 ビット・ステレオ・モードです。 1 レシーバは、8 ビット・サンプル・サイズのコンパクト 8 ビット・ステレオ・モードです。 0 LRS R/W 0 左-右サンプル表示 値 説明 0 次に読み出されるのは左サンプルです。 1 次に読み出されるのは右サンプルです。 このビットは、コンパクト・ステレオ・モードでのみ意味を持ちま す。

(26)

レジスタ 9: I

2

S受信モジュール設定 (I2SRXCFG)、オフセット 0x808

このレジスタは、受信モジュールの設定を行います。 I2S受信モジュール設定 (I2SRXCFG) ベース: 0x4005.4000 オフセット: 0x808 タイプ: R/W、リセット 0x1400.7DF0 ビット / フィールド 名称 タイプ リセット 説明 31:30 予約 RO 0x0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 29 JST R/W 0 入力データの左右詰め設定 値 説明 0 データは左詰めです。 1 データは右詰めです。 28 DLY R/W 1 データ遅延 値 説明 0 データは、I2S0RXSCK の SCPビットで定義され た次のラッチング・エッジでラッチされます。左詰め または右詰めモードでは、このビットがクリアになっ ている必要があります。 1 データがラッチされる前に、I2S0RXWSのエッジか らのI2S0RXSCK1 つ分の遅延が挿入されます。 I2S モードではこのビットを設定する必要がありま す。 27 SCP R/W 0 SCLK の極性 値 説明 0 I2S0RXSCKの立ち上がりエッジでデータがラッチ され、立ち下りエッジでI2S0RXWS信号(MSLビッ トがセットされた場合)が送信されます。 1 I2S0RXSCKの立ち下がりエッジでデータがラッチ され、立ち上がりエッジで I2S0RXWS信号(MSL ビットがセットされた場合)が送信されます。 26 LRP R/W 1 左/右クロックの極性 値 説明 0 ステレオ・モードでは、左チャネル・データの送信中 にI2S0RXWSがHigh になります。 モノラル・モードでは、I2S0RXWS 信号が Low(右

(27)

チャネル)の間にデータが読み出されます。 1 ステレオ モードでは、右チャネル・データの送信中 にI2S0RXWSがHigh になります。 モノラル モードでは、I2S0RXWS信号がHigh(左 チャネル)の間にデータが読み出されます。 25 予約 RO 0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 24 RM R/W 0 読み出しモード このビットは、受信データを受信してFIFO に格納するためのモ ードを選択します。 値 説明 0 ステレオ/モノラル・モード I2SRXFIFOCFG のFMM ビットがステレオまたは モノラルFIFO 読み出し動作を指定します。 1 コンパクト・ステレオ・モード 左/右サンプルがパッキングされます。8 ビット/16 ビ ットのサンプル・サイズ選択については、 I2SRXFIFOCFG を参照してください。 23 予約 RO 0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 22 MSL R/W 0 SCLK マスタ/スレーブ 値 説明 0 レシーバはスレーブであり、外部のI2S0RXSCK 信号とI2S0RXWS信号を使用します。 1 レシーバはマスタであり、内部で生成された I2S0RXSCK信号とI2S0RXWS信号を使用しま す。 21:16 予約 RO 0x00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 15:10 SSZ R/W 0x1F サンプル・サイズ このフィールドには、サンプルのビット数から1 を引いた値を設 定します。 9:4 SDSZ R/W 0x1F システム・データ・サイズ

このフィールドには、I2S0RXWS信号のHigh 期間または Low 期間中のビット数から1 を引いた値を設定します。

3:0 予約 RO 0x0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。

(28)

レジスタ 10: I

2

S受信FIFOリミット (I2SRXLIMIT)、オフセット 0x80C

このレジスタは、FIFO サービス要求が発行される FIFO リミット・レベルを設定します。 I2S受信FIFOリミット (I2SRXLIMIT) ベース: 0x4005.4000 オフセット: 0x80C タイプ: R/W、リセット 0x0000.7FFF ビット / フィールド 名称 タイプ リセット 説明 31:16 予約 RO 0x0000 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 15:5 予約 RO 0x7FF 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 4:0 LIMIT R/W 0x1F FIFO リミット このフィールドは、FIFO サービス要求が発行される FIFO レべ ルを設定して、割り込みまたはμDMA 転送要求を生成します。 受信FIFO は、FIFO のデータ数がLIMITフィールドで指定さ れたレベルより多い場合にサービス要求を生成します。例え ば、LIMITフィールドが4 に設定されている場合は、受信 FIFO に残っているサンプルが 4 より多ければサービス要求が 生成されます。

(29)

レジスタ 11: I

2

S受信割り込みステータスおよびマスク (I2SRXISM)、オフセット 0x810

このレジスタは、受信割り込みステータスを通知し、割り込みマスクを制御します。 I2S受信割り込みステータスおよびマスク (I2SRXISM) ベース: 0x4005.4000 オフセット: 0x810 タイプ: R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:17 予約 RO 0x000 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 16 FFI RO 0 受信FIFO サービス要求割り込み 値 説明 0 FIFO レベルは FIFO リミット以下です。 1 FIFO レベルは FIFO リミットより高くなっています。 15:1 予約 RO 0x000 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 0 FFM R/W 0 FIFO 割り込みマスク 値 説明 0 FIFO 割り込みはマスクされ、CPU に送られませ ん。 1 FIFO 割り込みはイネーブルになり、割り込みコント ローラへ送られます

(30)

レジスタ 12: I

2

S受信FIFOレベル (I2SRXLEV)、オフセット 0x818

受信 FIFO 中のサンプル数は、I2SRXLEV レジスタを使用して読み出せます。値の範囲は 0~16 です。ステレオのサ ンプル・ペアおよびコンパクト・ステレオのサンプル・ペアは、2 とカウントされます。モノラル・サンプルも 2 ずつカウント をインクリメントします。例えば、モノラル・サンプルが 4 つある場合は、LEVEL フィールドは 8 に設定されます。 I2S受信FIFOレベル (I2SRXLEV) ベース: 0x4005.4000 オフセット: 0x818 タイプ: RO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:5 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 4:0 LEVEL RO 0x00 オーディオ・サンプルの数 このフィールドには、FIFO 中にあるサンプル数が入っていま す。

(31)

レジスタ 13: I

2

Sモジュール設定 (I2SCFG)、オフセット 0xC00

こ の レジス タは 、送 信シリア ル・ エ ンジン と受 信シ リ ア ル・ エ ンジン をイ ネ ー ブル にし 、 I2S0TXMCLK 信 号 と I2S0RXMCLK 信号のソースを設定します。 I2Sモジュール設定 (I2SCFG) ベース: 0x4005.4000 オフセット: 0xC00 タイプ: R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:6 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 5 RXSLV R/W 0 外部I2S0RXMCLKの使用 値 説明 0 レシーバは内部で生成されたMCLK を I2S0RXMCLK 信号として使用します。 I2S0RXMCLKをプログラムする方法については、 P730 の“クロック制御” を参照してください。 1 レシーバは外部のI2S0RXMCLK信号を使用しま す。 4 TXSLV R/W 0 外部I2S0TXMCLKの使用 値 説明 0 トランスミッタは内部で生成されたMCLK を I2S0TXMCLK 信号として使用します。 I2S0TXMCLKをプログラムする方法については、 P730 の“クロック制御” を参照してください。 1 トランスミッタは外部のI2S0TXMCLK信号を使用 します。 3:2 予約 RO 0x0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 1 RXEN R/W 0 シリアル受信エンジンのイネーブル 0 シリアル受信エンジンをディセーブルにします。 1 シリアル受信エンジンをイネーブルにします。 0 TXEN R/W 0 シリアル送信エンジンのイネーブル 0 シリアル送信エンジンをディセーブルにします。 1 シリアル送信エンジンをイネーブルにします。

(32)

レジスタ 14: I

2

S割り込みマスク (I2SIM)、オフセット 0xC10

このレジスタは、CPU に対して割り込みをマスクします。 I2S割り込みマスク (I2SIM) ベース: 0x4005.4000 オフセット: 0xC10 タイプ: R/W、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:6 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 5 RXREIM R/W 0 受信FIFO 読み出しエラー 値 説明 0 受信FIFO 読み出しエラー割り込みはマスクされ、 CPU に送られません。 1 受信 FIFO 読み出しエラーはイネーブルであり、割 り込みコントローラへ送られます。 4 RXSRIM R/W 0 受信FIFO サービス要求 値 説明 0 受信FIFO サービス要求割り込みはマスクされ、 CPU に送られません。 1 受信FIFO サービス要求はイネーブルであり、割り 込みコントローラへ送られます。 3:2 予約 RO 0x0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 1 TXWEIM R/W 0 送信FIFO 書き込みエラー 値 説明 0 送信FIFO 書き込みエラー割り込みはマスクされ、 CPU に送られません。 1 送信FIFO 書き込みエラーはイネーブルであり、割 り込みコントローラへ送られます。 0 TXSRIM R/W 0 送信FIFO サービス要求 値 説明 0 送信FIFO サービス要求割り込みはマスクされ、 CPU に送られません。 1 送信FIFO サービス要求はイネーブルであり、割り 込みコントローラへ送られます。

(33)

レジスタ 15: I

2

Sロウ割り込みステータス (I2SRIS)、オフセット 0xC14

このレジスタは、マスクされていない割り込みステータスを読み出します。 I2Sロウ割り込みステータス (I2SRIS) ベース: 0x4005.4000 オフセット: 0xC14 タイプ: RO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:6 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 5 RXRERIS RO 0 受信FIFO 読み出しエラー 値 説明 1 受信FIFO 読み出しエラー割り込みが発生しまし た。 0 割り込みなし このビットは、I2SIC レジスタのRXREIC ビットをセットするこ とでクリアされます。 4 RXSRRIS RO 0 受信FIFO サービス 要求 値 説明 1 受信FIFO サービス要求割り込みが発生しました。 0 割り込みなし

受信FIFO のレベルが、I2SRXLIMIT レジスタのLIMITフィ ールドでプログラムされた値より小さい値に下がった場合は、 このビットがクリアされます。 3:2 予約 RO 0x0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 1 TXWERIS RO 0 送信FIFO 書き込みエラー 値 説明 1 送信FIFO 書き込みエラー割り込みが発生しまし た。 0 割り込みなし このビットは、I2SIC レジスタのTXWEIC ビットをセットするこ とでクリアされます。 0 TXSRRIS RO 0 送信FIFO サービス 要求

(34)

値 説明

1 送信FIFO サービス要求割り込みが発生しました。 0 割り込みなし

送信FIFO のレベルが、I2STXLIMIT レジスタのLIMITフィ ールドでプログラムされた値より大きい値に上がった場合は、 このビットがクリアされます。

(35)

レジスタ 16: I

2

Sマスク割り込みステータス (I2SMIS)、オフセット 0xC18

このレジスタは、マスク割り込みステータスを読み出します。マスクは I2SIM レジスタで定義されます。 I2Sマスク割り込みステータス (I2SMIS) ベース: 0x4005.4000 オフセット: 0xC18 タイプ: RO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:6 予約 RO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 5 RXRERIS RO 0 受信FIFO 読み出しエラー 値 説明 1 受信FIFO 読み出しエラーが原因で、マスクされて いない割り込みが通知されました。 0 割り込みは発生していないか、マスクされていま す。 このビットは、I2SIC レジスタのRXREIC ビットをセットするこ とでクリアされます。 4 RXSRMIS RO 0 受信FIFO サービス要求 値 説明 1 受信FIFO サービス要求が原因で、マスクされてい ない割り込みが通知されました。 0 割り込みは発生していないか、マスクされていま す。

受信FIFO のレベルが、I2SRXLIMIT レジスタのLIMITフィ ールドでプログラムされた値より小さい値に下がった場合は、 このビットがクリアされます。 3:2 予約 RO 0s0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 1 TXWEMIS RO 0 送信FIFO 書き込みエラー 値 説明 1 送信FIFO 書き込みエラーが原因で、マスクされて いない割り込みが通知されました。 0 割り込みは発生していないか、マスクされていま す。

(36)

このビットは、I2SIC レジスタのTXWEICビットをセットすること でクリアされます。 0 TXSRMIS RO 0 送信FIFO サービス要求 値 説明 1 送信FIFO サービス要求が原因で、マスクされてい ない割り込みが通知されました。 0 割り込みは発生していないか、マスクされていま す。

送信FIFO のレベルが、I2STXLIMIT レジスタのLIMITフィ ールドでプログラムされた値より大きい値に上がった場合は、 このビットがクリアされます。

(37)

レジスタ 17: I

2

S割り込みクリア (I2SIC)、オフセット 0xC1C

このレジスタのビットに 1 を書き込むことにより、対応する割り込みがクリアされます。 I2S割り込みクリア (I2SIC) ベース: 0x4005.4000 オフセット: 0xC1C タイプ: WO、リセット 0x0000.0000 ビット / フィールド 名称 タイプ リセット 説明 31:6 予約 WO 0x0000.00 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 5 RXREIC WO 0 受信FIFO 読み出し エラー このビットに1 を書き込むと、I2CRIS レジスタのRXRERIS ビットと I2CMIS レジスタのRXREMISビットがクリアされま す。 4:2 予約 WO 0x0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。 1 TXWEIC WO 0 送信FIFO 書き込みエラー このビットに1 を書き込むと、I2CRIS レジスタのTXWERIS ビ ットと I2CMIS レジスタのTXWEMISビットがクリアされます。 0 予約 WO 0 予約ビットの値はソフトウェアで使用しないでください。将来の 製品との互換性のため、予約ビットの値はリード・モディファ イ・ライト処理から保護する必要があります。

表  17-1. I 2 Sの信号(100LQFP)  ピン名称  ピン番号  ピン・マルチプレクシ ング / ピン割り当て 入出力 バッファのタイプ a  説明  I2S0RXMCLK  29  98  PA3 (9)  PD5 (8)  I/O TTL I2 Sモジュール 0 受信マスタ・ク ロック
図 17-2. I 2 Sデータ転送
表  17-4.  水晶周波数(3.5795MHz~5MHz 範囲の値)  水晶周波数(MHz)  3.5795  3.6864 4  4.096  4.9152 5 サンプリング 周波数  Fs  (kHz)  整数  分数  整数  分数  整数  分数  整数  分数  整数  分数  整数  分数  8  195 12 194 6 195 5 196 0 194 6 195 5  11.025  142 1 141 1 141 12 142 4 141 1 141 12  12 130 8 129
表  17-6.  水晶周波数(10MHz~14.3181MHz 範囲の値  水晶周波数(MHz)  10 12  12.288  13.56  14.3181 サンプリング周波 数 Fs  (kHz)  整数  分数  整数  分数  整数  分数  整数  分数  整数  分数  8  195 5 195 5 196 0 194 3 195 12  11.025  141 12 141 12 142  4  140 15 142  1  12 130 3 130 3 130 11 129 8 130 8

参照

関連したドキュメント

BC107 は、電源を入れて自動的に GPS 信号を受信します。GPS

WAKE_IN ピンを Low から High にして DeepSleep モードから Active モードに移行し、. 16ch*8byte のデータ送信を行い、送信完了後に

この課題のパート 2 では、 Packet Tracer のシミュレーション モードを使用して、ローカル

題が検出されると、トラブルシューティングを開始するために必要なシステム状態の情報が Dell に送 信されます。SupportAssist は、 Windows

パスワード 設定変更時にパスワードを要求するよう設定する 設定なし 電波時計 電波受信ユニットを取り外したときの動作を設定する 通常

現行の HDTV デジタル放送では 4:2:0 が採用されていること、また、 Main 10 プロファイルおよ び Main プロファイルは Y′C′ B C′ R 4:2:0 のみをサポートしていることから、 Y′C′ B

操作は前章と同じです。但し中継子機の ACSH は、親機では無く中継器が送信する電波を受信します。本機を 前章①の操作で

・Syslog / FTP(S) / 共有フォルダ / SNMP