...

Stellaris® LM3S9B96 Microcontroller

by user

on
Category: Documents
3

views

Report

Comments

Transcript

Stellaris® LM3S9B96 Microcontroller
Stellaris® LM3S9B96 Microcontroller
16 章 Inter-Integrated Circuit(I2C)インターフェイス
。
JAJU150
SPMS182D 翻訳版(16 章)
最新の英語版:
http://www.ti.com/lit/gpn/lm3s9b96
この資料は、Texas Instruments Incorporated(TI)が英文で記述した資料を、皆様のご理解の一助として頂くために日本テキサ
ス・インスツルメンツ(日本 TI)が英文から和文へ翻訳して作成したものです。資料によっては正規英語版資料の更新に対応して
いないものがあります。日本 TI による和文資料は、あくまでも TI 正規英語版をご理解頂くための補助的参考資料としてご使用下
さい。製品のご検討およびご採用にあたりましては必ず正規英語版の最新資料をご確認下さい。TI および日本 TI は、正規英語
版にて更新の情報を提供しているにもかかわらず、更新以前の情報に基づいて発生した問題や障害等につきましては如何なる
責任も負いません
JAJU150
16
Inter-Integrated Circuit(I2C)インターフェイス
Inter-Integrated Circuit(I2C)バスは、2 つのライン(SDA[シリアル・データ・ライン] とSCL[シリアル・クロック・ライン])を
を使用した双方向データ転送を実現し、シリアル・メモリ(RAMやROM等)、ネットワーキング・デバイス、LCD、トーン・
ジェネレータ等の外部I2Cデバイスとのインターフェイスを提供します。I2Cバスはまた、製品の開発時や製造工程等に
おいて、システムのテストや診断を行う目的で使用することも可能です。LM3S9B96 マイクロコントローラには 2 つの
I2Cモジュールが組み込まれており、バス上の他のI2Cデバイスと通信(送信と受信の両方)を行うことが可能です。
Stellaris® LM3S9B96 コントローラに組み込まれた 2 つのI2Cモジュールには、次のような機能があります。
„
I2Cバス上のデバイスを、マスタまたはスレーブとして設定することが可能
– マスタまたはスレーブとして、データの送受信をサポート
– マスタとスレーブの同時動作をサポート
„
4つのI2Cモード
– マスタ送信
– マスタ受信
– スレーブ送信
– スレーブ受信
„
2つの送信速度: スタンダード(100Kbps)とファースト(400Kbps)
„
マスタ割り込みとスレーブ割り込みの生成
– 送信動作または受信動作が完了した時点(あるいは、エラーが原因で中止(アボート)になった時点)で、マスタが
割り込みを生成。
– データを受信するかマスタに送信を要求された時点、あるいはスタート・コンディションかストップ・コンディション
が検出された時点で、スレーブが割り込みを生成
„
アービトレーション(調停)機能およびクロック同期機能、マルチマスタ対応、7ビット・アドレッシングモード
Stellaris LM3S9B96 Microcontroller Data Sheet (Rev. D) 16 章 翻訳版
16.1
ブロック図
図 16-1. I2Cのブロック図
16.2
信号の説明
P 689 の表 16-1 と表 16-2 にI2Cインターフェイスの外部信号一覧を示し、それぞれの機能について説明します。I2C
インターフェイスの信号はいくつかのGPIO信号とマルチプレクスされており、リセット後はGPIO信号として設定されて
います。例外としてI2C0SCLピンとI2C0SDAピンは、リセット後はI2C機能に設定されています。表中の「ピン・マルチ
プレクシング/ピン割り当て」の列に、I2C信号として設定可能なGPIOピンを示します。I2C機能として設定するには、
GPIO代替機能選択(GPIOAFSEL)レジスタ(P 328)のAFSELビットをセットする必要があります。括弧内の数値は、そ
のGPIOポート・ピンにI2C信号を割り当てるために、GPIOポート制御レジスタ(GPIOPCTL)(P 346)のPMCn
フィールドに設定する値を示しています。I2Cピンは、GPIOオープン・ドレイン選択レジスタ(GPIOODR)にて、オープン・
ドレインに設定する必要があることに注意してください。
GPIO の設定の詳細については、P 304 の “General-Purpose Input/Outputs (GPIOs)” を参照してください。
表 16-1. I2Cの信号 (100LQFP)
ピン
名称
ピン番号
I2C0SCL
72
ピン・マルチプレクシング /
ピン割り当て
PB2 (1)
I2C0SDA
65
I2C1SCL
14
19
26
34
18
27
35
87
I2C1SDA
I/O
バッファの
タイプ a
OD
I2C モジュール 0 クロック
PB3 (1)
I/O
OD
I2C モジュール 0 データ
PJ0 (11)
PG0 (3)
PA0 (8)
PA6 (1)
PG1 (3)
PA1 (8)
PA7 (1)
PJ1 (11)
I/O
OD
I2C モジュール 1 クロック
I/O
OD
I2C モジュール 1 データ
入出力
a. 「TTL」は、ピンが TTL 互換の電圧レベルを持つことを示します。
2
説明
表 16-2. I2Cの信号 (108BGA)
ピン
名称
ピン番号
ピン・マルチプレクシング /
ピン割り当て
入出力
バッファの
タイプ a
I2C0SCL
A11
PB2 (1)
I/O
OD
I2C モジュール 0 クロック
I2C0SDA
E11
PB3 (1)
I/O
OD
I2C モジュール 0 データ
I2C1SCL
F3
K1
L3
L6
K2
M3
M6
B6
PJ0 (11)
PG0 (3)
PA0 (8)
PA6 (1)
PG1 (3)
PA1 (8)
PA7 (1)
PJ1 (11)
I/O
OD
I2C モジュール 1 クロック
I/O
OD
I2C モジュール 1 データ
I2C1SDA
説明
a. 「TTL」は、ピンが TTL 互換の電圧レベルを持つことを示します。
16.3
機能の説明
各I2Cモジュールは、個別のペリフェラルとして実装されたマスタ機能とスレーブ機能の両方から構成されます。正し
い動作を実現するには、SDAピンとSCLピンは双方向オープン・ドレインで接続する必要があります。標準的なI2Cバ
ス構成を図 16-2 に示します。
I2Cのタイミング図については、P 1214 の “Inter-Integrated Circuit (I2C) インターフェイス” を参照してください。
図 16-2. I2C バスの構成
16.3.1 I2C
バス機能の概要
2
I Cバスでは、SDAとSCLという 2 つの信号のみを使用します。Stellaris® マイクロコントローラでは、SDAとSCLはそ
れぞれI2CSDAおよびI2CSCLという名称になっています。SDAは双方向シリアル・データ・ライン、SCLは双方向シリ
アル・クロック・ラインです。両方のラインがHighの時、バスはアイドル状態と見なされます。
I2Cバス上のトランザクションはどれも 9 ビット長であり、8 ビットのデータと 1 ビットのアクノリッジから構成されます。1
回の転送におけるバイト数(P 690 の“スタート・コンディションとストップ・コンディション”で説明されている通り、「有効
なスタート・コンディションと有効なストップ・コンディションの間の時間」と定義されます)には制限がありませんが、各
バイトの後にはアクノリッジ・ビットが続く必要があり、データはMSBを最初にして転送する必要があります。レシーバ
3
が次に来るバイトを完全に受信できない場合は、レシーバ側でクロック・ラインSCLをLowに保持し、トランスミッタを強
制的に待機モードにすることができます。レシーバがクロックSCLをリリース(解放)すると、データ転送が継続されま
す。
16.3.1.1 スタート・コンディションとストップ・コンディション
I2Cバスのプロトコルでは、ひとつのトランザクションを開始して終了するための 2 つのステート(状態): スタート
(START)とストップ(STOP)を定義しています。SCLがHighの期間にSDAラインがHighからLowへ遷移することをスター
ト・コンディションと定義し、SCLがHighの期間にSDAラインがLowからHighへ遷移することをストップ・コンディションと
定義します。バスは、スタート・コンディションの後ではビジー状態とみなされ、ストップ・コンディションの後ではフリー
とみなされます。図 16-3 を参照してください。
図 16-3. スタート・コンディションとストップ・コンディション
STOPビットは、データ・サイクルの終わりでサイクルが停止するか、リピート・スタート・コンディションに継続するかを
決定します。1 回の送信サイクルを生成する場合は、動作及びストップを行うために、I2Cマスタ・スレーブ・アドレス
(I2CMSA)・レジスタに必要なアドレスが書き込まれ、R/Sビットがクリアされ、制御レジスタにACK=X (0 または 1)、
STOP=1、START=1、RUN=1 が書き込まれる必要があります。動作が完了すると(あるいはエラーが原因で中止(アボ
ート)になると)、割り込みがアクティブになり、データがI2CMDRレジスタから読み出せるようになります。I2Cモジュール
がマスタ・レシーバ・モードで動作する場合は、通常はACKビットを正常にセットし、I2Cバス・コントローラが各バイトの
後にアクノリッジを自動的に送信するように設定します。スレーブ・トランスミッタから送信されるデータをI2Cバス・コン
トローラがそれ以上必要としない場合は、このビットをクリアする必要があります。
スレーブ・モードで動作中の場合は、I2CSRIS レジスタの 2 つのビットにて、バス上のスタート・コンディションとストッ
プ・コンディションを検出する事ができます。また、I2CSMIS レジスタの 2 つのビットにより、スタート・コンディションとス
トップ・コンディションにおける割り込みを発生する事ができます(割り込みがイネーブルの場合)。
16.3.1.2 7 ビットのアドレスを使用するデータ形式
データ転送は、図 16-4 に示すフォーマットで行われます。スタート・コンディションに続いて、スレーブ・アドレスが送
信されます。このアドレスは 7 ビット長であり、その後に 8 番目のビットが付きます。この 8 番目のビットはデータ方向
ビット(I2CMSA レジスタにある R/S ビット)です。R/S ビットがクリアされた場合は送信動作、セットされた場合はデータ
の要求(受信)を意味します。データ転送は必ず、マスタが生成したストップ・コンディションにより終了されますが、リ
ピート・スタート・コンディションを生成することができ、これによりストップ・コンディションを生成せずに、別のスレーブ
に対してアドレス指定を行い、バス上の他のデバイスとの通信を開始できます。これにより、1 回の転送内で様々な
組み合わせの受信形式/送信形式が可能になります。
4
図 16-4. 7 ビットのアドレスを使用するデータ転送
最初のバイトの最初の 7 ビットがスレーブ・アドレスを構成します(図 16-5 参照)。8 番目のビットはメッセージの伝送
方向を決定します。最初のバイトの R/S 位置に 0 がある場合は、選択されたスレーブにマスタがデータを送信するこ
とになり、この位置に 1 がある場合は、マスタがスレーブからデータを受信することになります。
図 16-5. 最初のバイトにある R/S ビット
16.3.1.3 データの有効性
SDA ライン上のデータは、クロックの high 期間中に安定している必要があり、データ・ラインが変化できるのは SCL
がLowの場合のみです。(図 16-6 参照)
図 16-6. I2Cバス上のビット転送中のデータの有効性
16.3.1.4 アクノリッジ
バス・トランザクションはすべて、マスタにより生成されるアクノリッジ要求クロック・サイクルを持っています。アクノリ
ッジ・サイクル中に、トランスミッタ(マスタ又はスレーブ)は SDA ラインを解放します。トランザクションをアクノリッジす
るには、アクノリッジ・クロック・サイクル中にレシーバが SDA を Low にする必要があります。アクノリッジ・サイクル中
にレシーバにより送信されたデータは、P 692 の“データの有効性”で説明されているデータ有効性要件を満たしてい
る必要があります。
スレーブのレシーバがスレーブ・アドレスをアクノリッジしない場合は、スレーブ側で SDA を High の状態に留めること
により、マスタ側でストップ・コンディションを生成し、現在の転送を中止(アボート)できるようにする必要があります。
転送中にマスタ・デバイスがレシーバとして動作する場合は、スレーブにより生成された各転送をアクノリッジする責
任がマスタ・デバイス側に生じます。転送でのバイト数を制御するのはマスタ側のため、マスタでは最後のデータ・バ
イトでアクノリッジを生成しないことにより、データの終了をスレーブのトランスミッタに通知します。スレーブ・トランス
5
ミッタはその後 SDA を解放して、マスタがストップ・コンディションまたはリピート・スタート・コンディションを生成できる
ようにする必要があります。
16.3.1.5 アービトレーション(調停)
マスタが転送を開始できるのは、バスがアイドル状態の時だけです。2つ以上のマスタが、最小限のスタート・コンデ
ィション保持時間内でスタート・コンディションを生成することが可能です。この状況では、SCL が High の時に、アービ
トレーションが SDA ライン上で発生します。アービトレーション中は、競合するマスタ・デバイスのうち、他のマスタが
'0' (Low)を送信している間に '1' (High)を SDA に出力する最初のデバイスがデータ出力を止めを、バスが再度アイド
ル状態になるまでリタイアします。
アービトレーションは、数ビットにわたって発生する可能性があります。アービトレーションの最初の段階はアドレス・
ビットの比較であり、両方のマスタが同じデバイスにアドレス指定を行おうとしている場合は、データ・ビットの比較ま
でアービトレーションが継続します。
16.3.2 使用可能な速度モード
I2Cバスは、スタンダード・モード(100kbps)またはファースト・モード(400kbps)で動作することが可能です。このモードは、
バス上の他のI2Cデバイスの速度と一致している必要があります。モードは、I2Cマスタ・タイマ周期(I2CMTPR)レジス
タの値を使用して選択されます。その結果、スタンダードモードではSCL周波数が 100kbps、ファースト・モードでは
400 kbpsになります。
I2Cのクロック・レートは、CLK_PRD、TIMER_PRD、SCL_LP、SCL_HPというパラメータにより決定されます。
ここで、
CLK_PRD は、システムのクロック周期です。
SCL_LP は、SCL の low 位相です。(6 に固定)
SCL_HP は、SCL の high 位相です。(4 に固定)
TIMER_PRD は、I2CMTPR レジスタに設定された値です。(P 711 参照)
I2Cクロック周期は、次のように計算されます。
SCL_PERIOD = 2 × (1 + TIMER_PRD) × (SCL_LP + SCL_HP) × CLK_PRD
例えば、
CLK_PRD = 50 ns
TIMER_PRD = 2
SCL_LP = 6
SCL_HP = 4
の場合は、SCL 周波数が次のように計算されます。
1/SCL_PERIOD = 333 Khz
表 16-3 は、タイマ周期の例です。これらのタイマ周期を使用して、様々なシステム・クロック周波数をベースにした、
スタンダード・モードとファースト・モード両方の SCL 周波数を生成します。
6
表 16-3. I2C マスタのタイマ周期 vs 速度モードの例
システム・クロック
タイマ周期
スタンダード・モー
ド
タイマ周期
ファースト・モード
4MHz
0x01
100Kbps
-
-
6MHz
0x02
100Kbps
-
-
12.5MHz
0x06
89Kbps
0x01
312Kbps
16.7MHz
0x08
93Kbps
0x02
278Kbps
20MHz
0x09
100Kbps
0x02
333Kbps
25MHz
0x0C
96.2Kbps
0x03
312Kbps
33MHz
0x10
97.1Kbps
0x04
330Kbps
40MHz
0x13
100Kbps
0x04
400Kbps
50MHz
0x18
100Kbps
0x06
357Kbps
80MHz
0x27
100Kbps
0x09
400Kbps
16.3.3 割り込み
I2Cでは、次の状態において割り込みを生成できます。
„
マスタのトランザクションが完了した
„
マスタのトランザクション・エラー
„
スレーブのトランザクションが受信された
„
スレーブのトランザクションが要求された
„
バス上のストップ・コンディションが検出された
„
バス上のスタート・コンディションが検出された
I2Cマスタ・モジュールとI2Cスレーブ・モジュールは、個別の割り込み信号を持っています。どちらのモジュールでも複
数のコンディション用の割り込みを生成できますが、割り込みコントローラに送られる割り込み信号はひとつだけ
です。
16.3.3.1 I2Cマスタ割り込み
I2Cマスタ・モジュールでは、トランザクション(送信か受信のどちらか)が完了した場合、またはトランザクション中にエ
ラーが発生した場合に割り込みを生成します。I2Cマスタ割り込みをイネーブルにするには、ソフトウェアにてI2Cマスタ
割り込みマスク(I2CMIMR)レジスタのIMビットをセットする必要があります。割り込み条件が満たされた場合は、ソフト
ウェアではI2Cマスタ制御/ステータス(I2CMCS)レジスタのERRORビットをチェックして、最後のトランザクション中にエ
ラーが発生しなかったことを確認する必要があります。最後のトランザクションがスレーブによりアクノリッジされなか
った場合、または別のマスタと競合しアービトレーション・ロストした事により、マスタが強制的にバスを解放した場合
に、エラー・コンディションがアサートされます。エラーが検出されなければ、アプリケーションでは転送を続けることが
できます。割り込みは、I2Cマスタ割り込みクリア(I2CMICR)レジスタのICビットに 1 を書き込むことでクリアされます。
アプリケーションが割り込みを使用しない場合は、I2Cマスタ・ロウ割り込みステータス(I2CMRIS)・レジスタにて、ロウ
割り込みステータスを常に見ることができます。
7
16.3.3.2 I2Cスレーブ割り込み
スレーブ・モジュールでは、データが受信されるか、データを要求された場合に割り込みを生成できます。この割り込
みは、I2Cスレーブ割り込みマスク (I2CSIMR)レジスタのDATAIMビットをセットすることでイネーブルになります。ソフ
トウェアでは、I2Cスレーブ制御/ステータス(I2CSCSR)・レジスタのRREQビットとTREQビットをチェックすることにより、
I2Cスレーブ・データ(I2CSDR)・レジスタへのデータの書き込み(送信)と、同レジスタからのデータの読み出し(受信)の
どちらをモジュールが行う必要があるかを判定します。スレーブ・モジュールが受信モードであり、転送の最初のバイ
トが受信された場合は、RREQビットとともにFBRビットがセットされます。割り込みは、I2Cスレーブ割り込みクリア
(I2CSICR)・レジスタのDATAICビットをセットすることでクリアされます。
さらに、スレーブ・モジュールでは、スタート・コンディションとストップ・コンディションが検出された場合に割り込みを生
成できます。これらの割り込みは、I2Cスレーブ割り込みマスク(I2CSIMR)・レジスタのSTARTIMビットとSTOPIMビット
をセットすることでイネーブルになり、I2Cスレーブ割り込みクリア(I2CSICR)・レジスタのSTOPICビットとSTARTICビッ
トに 1 を書き込むことでクリアされます。
アプリケーションが割り込みを使用しない場合は、I2Cスレーブ・ロウ割り込みステータス(I2CSRIS)・レジスタにて、ロ
ウ割り込みステータスを常に見ることができます。
16.3.4 ループバック動作
I2Cマスタ構成(I2CMCR)レジスタのLPBKビットをセットすることで、I2Cモジュールを診断またはデバッグ作業用の
内部ループバック・モードにすることが可能です。ループバック・モードでは、マスタ・モジュールおよびスレーブ・
モジュールからのSDA信号とSCL信号が相互に結合されます。
16.3.5 コマンド・シーケンスのフロー・チャート
このセクションでは、マスタ・モードとスレーブ・モードの両方で様々なタイプのI2C転送を行うために必要な手順を説
明します。
16.3.5.1
I2Cマスタ・コマンド・シーケンス
次に示す図は、I2Cマスタで使用可能なコマンド・シーケンスです。
8
図 16-7. マスタのシングル送信
9
図 16-8. マスタのシングル受信
10
図 16-9. リピート・スタートを含むマスタ送信
11
図 16-10. リピート・スタートを含むマスタ受信
12
図 16-11. マスタによる、送信ÆリピートスタートÆ受信
13
図 16-12. マスタによる、受信ÆリピートスタートÆ送信
16.3.5.2 I2Cスレーブのコマンド・シーケンス
P 701 の図 16-13 は、I2C スレーブで使用可能なコマンド・シーケンスです。
14
図 16-13. スレーブのコマンド・シーケンス
16.4
初期化と設定
次の例は、マスタとして 1 バイトのデータを送信するための、I2Cモジュールの設定方法です。
この例では、システム・クロックが 20MHz であることを前提としています。
1. 0x0000.1000 という値をシステム制御モジュールのRCGC1 レジスタ(P 182 参照)に書き込むことで、I2C
クロックをイネーブルにします。
2. システム制御モジュールの RCGC2 レジスタ(P 194 参照)を介して、対応する GPIO モジュールに対して
クロックをイネーブルにします。どの GPIO ポートをイネーブルにするかを判断するには、P 1160 の表
25-5 を参照してください。
3. GPIO モジュールで、GPIOAFSEL レジスタ(P 328 参照)にて対応するピンをペリフェラル・ピンとして
使用するように設定します。どの GPIO を設定するかを判断するには、P 1151 の表 25-4 を参照してくだ
さい。
4. オープン・ドレイン動作用の I2C ピンをイネーブルにします。P 333 を参照してください。
5. GPIOPCTLレジスタのPMCnフィールドを設定して、I2C信号を適切なピンに割り当てます。P 346 と、P
1160 の表 25-5 を参照してください。
15
6. I2CMCRレジスタに 0x0000.0010 という値を書き込むことで、I2Cマスタを初期化します。
7. I2CMTPR レジスタに正しい値を書き込んで、希望する SCL クロック速度(この例では 100Kbps)
を設定します。I2CMTPR レジスタに書き込む値は、1SCL クロック周期内のシステム・クロック周期の数を
表しています。TPR 値は、次の式で決定されます。
TPR = (システム・クロック/(2*(SCL_LP + SCL_HP)*SCL_CLK))-1;
TPR = (20MHz/(2*(6+4)*100000))-1;
TPR = 9
I2CMTPR レジスタに、0x0000.0009 という値を書き込みます。
8. I2CMSA レジスタに 0x0000.0076 という値を書き込むことで、マスタのスレーブ・アドレス、および次
の動作が送信であることを指定します。これにより、スレーブ・アドレスが 0x3B にセットされます。
9. I2CMDR レジスタに必要なデータを書き込むことで、送信予定のデータ(バイト)をデータ・レジスタに入
れます。
10.I2CMCS レジスタに 0x0000.0007(STOP、START、RUN)という値を書き込むことで、マスタからスレー
ブへのデータのバイト送信 1 回分を開始します。
11. I2CMCS レジスタの BUSBSY ビットを、BUSBSY ビットがクリアされるまでポーリングすることにより、
送信が完了するまで待機します。
16.5
レジスタ・マップ
P 702 の表 16-4 は、I2C レジスタのリストです。記載されているすべてのアドレスは、マスタおよびスレーブ用のI2Cベ
ース・アドレスからのアドレスです。
„ I2C マスタ 0: 0x4002.0000
„ I2C スレーブ 0: 0x4002.0800
„ I2C マスタ 1: 0x4002.1000
„ I2C スレーブ 1: 0x4002.1800
I2Cモジュールのクロックは、レジスタをプログラムする前にイネーブルにする必要があることに注意してください。
(P182参照)
16
表 16-4. Inter-Integrated Circuit(I2C)インターフェイスのレジスタ・マップ
オフセット
名前
タイプ
リセット
説明
参 照 ペ
ージ
I2C マスタ
0x000
I2CMSA
R/W
0x0000.0000
I2Cマスタ・スレーブ・アドレス
2
704
0x004
I2CMCS
R/W
0x0000.0000
I Cマスタ制御/ステータス
705
0x008
I2CMDR
R/W
0x0000.0000
I2Cマスタ・データ
710
2
0x00C
I2CMTPR
R/W
0x0000.0001
I C マスタ・タイマ周期
711
0x010
I2CMIMR
R/W
0x0000.0000
I2Cマスタ割り込みマスク
712
2
0x014
I2CMRIS
RO
0x0000.0000
I Cマスタ・ロウ割り込みステータス
713
0x018
I2CMMIS
RO
0x0000.0000
I2Cマスタ・マスク割り込みステータス
714
0x01C
I2CMICR
WO
0x0000.0000
I2Cマスタ割り込みクリア(I2CMICR)
715
0x020
0x0000.0000
2
I2CMCR
R/W
I Cマスタ構成
716
0x000
I2CSOAR
R/W
0x0000.0000
I2Cスレーブ自己アドレス
717
0x004
I2CSCSR
RO
0x0000.0000
I2Cスレーブ制御/ステータス
718
0x008
I2CSDR
R/W
0x0000.0000
I2Cスレーブ・データ
720
I2C スレーブ
2
0x00C
I2CSIMR
R/W
0x0000.0000
I Cスレーブ割り込みマスク
721
0x010
I2CSRIS
RO
0x0000.0000
I2Cスレーブ・ロウ割り込みステータス
722
2
0x014
I2CSMIS
RO
0x0000.0000
I Cスレーブ・マスク割り込みステータス
723
0x018
I2CSICR
WO
0x0000.0000
I2Cスレーブ割り込みクリア
724
16.6 レジスタの説明(I2Cマスタ)
このセクションでは、I2Cマスタ・レジスタをアドレス・オフセットの番号順に記載し、説明します。P 716 の “レジスタの
説明(I2C スレーブ)” も参照してください。
17
レジスタ 1:
I2Cマスタ・スレーブ・アドレス(I2CMSA)、オフセット 0x000
このレジスタは、7 個のアドレス・ビット(A6-A0)および 1 個の受信/送信ビットの計 8 ビットで構成されます。受信/送信
ビットは、次の動作が受信(High)と送信(Low)のどちらになるかを決定します。
I2C マスタ・スレーブ・アドレス(I2CMSA)
2
I C マスタ 0 ベース: 0x4002.0000
2
I C マスタ 1 ベース: 0x4002.1000
オフセット 0x000
タイプ R/W、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:8
予約
RO
0x0000.00
7:1
SA
R/W
0x00
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
I2Cスレーブ・アドレス
このフィールドは、スレーブ・アドレスの A6~A0 ビットを指定し
ます。
0
R/S
R/W
0
受信(Receive)/送信(Send)
R/S ビットは、次の動作が受信(High)か送信(Low)かを指
定します。
18
値
説明
0
送信
1
受信
レジスタ 2:
I2Cマスタ制御/ステータス(I2CMCS)、オフセット 0x004
このレジスタは、読み出される場合に 7 つのステータス・ビットにアクセスし、書き込まれる場合に 4 つの制御ビットに
アクセスします。
ステータス・レジスタは 7 ビットで構成され、読み出される時のI2Cバス・コントローラの状態を表します。
制御レジスタは、RUN ビット、START ビット、STOP ビット、ACK ビットの 4 つのビットで構成されます。START ビットは
スタート・コンディションまたはリピート・スタート・コンディションを生成します。
STOPビットは、データ・サイクルの終わりでサイクルが停止するか、リピートスタート・コンディションに継続されるかを
判定します。シングル送信を行う場合は、I2Cマスタ・スレーブ・アドレス(I2CMSA)・レジスタに必要なアドレスを設定
し、、R/Sビットをクリアし、制御レジスタにACK=X (0 または 1)、STOP=1、START=1、RUN=1 を書き込む事で、動作の
実行と停止を行います。動作が完了すると(あるいはエラーが原因で中止(アボート)になると)、割り込みがアクティブ
になり、データがI2CMDRレジスタから読み出せるようになります。I2Cモジュールがマスタ受信モードで動作する場合
は、ACKビットをセットする事で、I2Cバス・コントローラが各バイトの後にアクノリッジを自動的に送信するようになりま
す。I2Cバス・コントローラがスレーブ・トランスミッタからのデータをそれ以上必要としない場合は、このビットをクリア
する必要があります。
読み取り専用ステータス・レジスタ
I2Cマスタ制御/ステータス(I2CMCS)
2
I C マスタ 0 ベース: 0x4002.0000
2
I C マスタ 1 ベース: 0x4002.1000
オフセット 0x004
タイプ RO、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:7
予約
RO
0x0000.00
6
BUSBSY
RO
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
バスのビジー状態
値
説明
0
I2Cバスはアイドル状態です。
1
I2Cバスはビジー状態です。
ビットはスタート・コンディションとストップ・コンディションに基づ
いて変化します。
5
IDLE
RO
0
I2Cのアイドル状態
値
説明
0
I2Cコントローラはアイドル状態ではありません。
1
I2Cコントローラはアイドル状態です。
19
4
3
2
1
ARBLST
DATACK
ADRACK
ERROR
RO
RO
RO
RO
0
0
0
0
アービトレーション・ロスト
値
説明
0
I2C コントローラはアービトレーションで勝ちました。
1
I2Cコントローラはアービトレーションで負けました。
データのアクノリッジ
値
説明
0
送信されたデータがアクノリッジされました。
1
送信されたデータがアクノリッジされませんでした。
アドレスのアクノリッジ
値
説明
0
送信されたアドレスがアクノリッジされました。
1
送信されたアドレスはアクノリッジされませんでし
た。
エラー
値
説明
0
最後の動作でエラーは検出されませんでした。
1
最後の動作でエラーが検出されました。
エラーの原因はスレーブ・アドレスがアクノリッジされていない
ことか、送信データがアクノリッジされていないことか、あるいは
コントローラがアービトレーションに負けたことである可能性が
あります。
0
BUSY
RO
0
I2Cのビジー状態
値
説明
0
コントローラはアイドル状態です。
1
コントローラはビジー状態です。
BUSY ビットがセットされると、他のステータス・ビットは無効に
なります。
20
書き込み専用レジスタ
I2Cマスタ制御/ステータス(I2CMCS)
I2C マスタ 0 ベース: 0x4002.0000
I2C マスタ 1 ベース: 0x4002.1000
オフセット 0x004
タイプ WO、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:4
予約
WO
0x0000.000
3
ACK
WO
0
2
1
0
STOP
START
RUN
WO
WO
WO
0
0
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
データ・アクノリッジのイネーブル
値
説明
0
受信されたデータ・バイトは、マスタに自動的にアク
ノリッジされません。
1
受信されたデータ・バイトは、マスタに自動的にアク
ノリッジされます。P 708、表 16-5 のフィールドのデ
コーディングを参照。
STOP の生成
値
説明
0
コントローラはストップ・コンディションを生成しま
せん。
1
コントローラはストップ・コンディションを生成します。
P 708、表 16-5 のフィールドのデコーディングを参
照。
START の生成
値
説明
0
コントローラはスタート・コンディションを生成しませ
ん。
1
コントローラはスタート・コンディションまたはリピー
ト・スタート・コンディションを生成します。P 708、表
16-5 のフィールドのデコーディングを参照。
I2C マスタのイネーブル
値
説明
0
マスタがディセーブルになります。
1
データの送信または受信のために、マスタがイネー
ブルになります。Page 708、表 16-5 のフィールドの
デコーディングを参照。
21
表 16-5. I2CMCS[3:0] フィールドの書き込みフィールドのデコーディング
説明
現在の
状態
I2CMSA[0]
R/S
アイドル
0
ACK
Xa
0
X
1
1
1
スタート・コンディションに、送信および
ストップ・コンディションが続きます。(マ
スタはアイドル状態に留まります)
1
0
0
1
1
スタート・コンディションに、ACK を返さ
ない受信動作が続きます。(マスタはマ
スタ受信状態になります)
1
0
1
1
1
スタート・コンディションに、受信および
ストップ・コンディションが続きます。(マ
スタはアイドル状態に留まります)
1
1
0
1
1
スタート・コンディションに、受信が続き
ます。(マスタはマスタ受信状態になり
ます).
I2CMCS[3:0]
STOP START
0
1
RUN
1
スタート・コンディションに、送信が続き
ます。(マスタはマスタ送信状態になり
ます)
禁止(Illegal)
この表に記載されている以外の組み合わせは、無効な動作で NOP
す。
X
X
0
0
1
送信動作(マスタはマスタ送信状態に留
マ ス タ
まります).
送信
X
X
1
0
0
ストップ・コンディション(マスタはアイド
ル状態になります)
X
X
1
0
1
送信に、ストップ・コンディションが続き
ます。(マスタはアイドル状態になりま
す)
0
X
0
1
1
リピート・スタート・コンディションに、送
信が続きます。(マスタはマスタ送信状
態に留まります).
0
X
1
1
1
リピート・スタート・コンディションに、送
信およびストップ・コンディションが続き
ます。(マスタはアイドル状態になりま
す).
1
0
0
1
1
リピート・スタート・コンディションに、
ACK を返さない受信動作が続きます。
(マスタはマスタ受信状態になります)
1
0
1
1
1
リピート・スタート・コンディションに、送
信およびストップ・コンディションが続き
ます。(マスタはアイドル状態になりま
す)
1
1
0
1
1
リピート・スタート・コンディションに、受
信が続きます。(マスタはマスタ受信状
態になります)
1
1
1
1
1
禁止(Illegal)
1
1
1
1
1
この表に記載されている以外の組み合わせは、無効な動作で NOP
す。
22
表 16-5. I2CMCS[3:0] フィールドの書き込みフィールドのデコーディング (続き)
説明
現在の
状態
I2CMSA[0]
R/S
マ ス タ
受信
X
ACK
0
X
X
1
0
0
ストップ・コンディション(マスタはアイド
ル状態になります)
X
0
1
0
1
受信にストップ・コンディションが続きま
す。(マスタはアイドル状態になります)b
X
1
0
0
1
受信動作(マスタはマスタ受信状態に
留まります)
X
1
1
0
1
禁止(Illegal)
1
0
0
1
1
リピート・スタート・コンディションに、
ACK を返さない受信動作が続きます。
(マスタはマスタ受信ステートに留まり
ます)
1
0
1
1
1
リピート・スタート・コンディションに、受
信およびストップ・コンディションが続き
ます。(マスタはアイドル状態になりま
す)
1
1
0
1
1
リピート・スタート・コンディションに、受
信が続きます。(マスタはマスタ受信状
態に留まります)
0
X
0
1
1
リピート・スタート・コンディションに、送
信が続きます。(マスタは、マスタ送信
状態になります).
I2CMCS[3:0]
STOP START
0
0
RUN
1
ACK を返さない受信動作(マスタはマ
スタ受信状態に留まります)
リピート・スタート・コンディションに、送
信およびストップ・コンディションが続き
ます。(マスタはアイドル状態になりま
す)
この表に記載されている以外の組み合わせは、無効な動作で NOP
す。
0
X
1
1
1
a. 表中の「X」は、ビットが 0 でも 1 でもかまわない事を示しています。
b. マスタ受信モードでは、マスタにより実行されるアクノリッジを返さないデータ受信か、スレーブからの
アドレス・アクノリッジが無い場合の後でのみ、ストップ・コンディションを生成するべきです。
23
レジスタ 3:
I2Cマスタ・データ(I2CMDR)、オフセット 0x008
重要: このレジスタの読み出しには注意が必要です。読み出しを実行すると、ビットのステータスが変更される可能
性があります。
このレジスタには、マスタの送信状態時に送信されるデータと、マスタの受信状態時に受信されるデータが入ってい
ます。
I2Cマスタ・データ(I2CMDR)
2
I C マスタ 0 ベース: 0x4002.0000
2
I C マスタ 1 ベース: 0x4002.1000
オフセット 0x008
タイプ R/W、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:8
予約
RO
0x0000.00
7:0
DATA
R/W
0x00
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
転送されるデータ
トランザクション中に転送されるデータです。
24
レジスタ 4: I2C マスタ・タイマ周期(I2CMTPR)、オフセット 0x00C
このレジスタは、SCL クロックの周期を指定します。
注意 –予測できない動作が発生する可能性があるため、このレジスタにアクセスする時は、ビット 7 をセットしないよ
うに注意してください。
I2Cマスタ・タイマ周期 (I2CMTPR)
2
I C マスタ 0 ベース: 0x4002.0000
2
I C マスタ 1 ベース: 0x4002.1000
オフセット 0x00C
タイプ R/W、リセット 0x0000.0001
ビット /
フィールド
名称
タイプ
リセット
31:7
予約
RO
0x0000.00
6:0
TPR
R/W
0x1
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
SCL クロック周期
このフィールドは、SCL クロックの周期を指定します。
SCL_PRD
=
2×(1
+
TPR)×(SCL_LP
+
SCL_HP)×CLK_PRD
ここで、
SCL_PRDはSCLラインの周期(I2Cクロック)です。
TPR は、タイマ周期レジスタ値です。(範囲: 1~127)
SCL_LP は、SCL の Low 周期です(6 に固定)
SCL_HP は、SCL の High 周期です(4 に固定)
CLK_PRD は、システムのクロック周期です。(単位: ns)
25
レジスタ 5: I2Cマスタ割り込みマスク(I2CMIMR)、オフセット 0x010
このレジスタは、コントローラ割り込みに対してロウ割り込みを伝えるかどうかを制御します。
I2C マスタ割り込みマスク(I2CMIMR)
2
I C マスタ 0 ベース: 0x4002.0000
2
I C マスタ 1 ベース: 0x4002.1000
ビット /
フィールド
名称
タイプ
リセット
31:1
予約
RO
0x0000.000
0
IM
R/W
0
26
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
割り込みマスク
値
説明
1
I2CMRIS レジスタの RIS ビットがセットされている
場合、マスタ割り込みが割り込みコントローラに送ら
れます。
0
RIS 割り込みは、割り込みコントローラに送られま
せん。
レジスタ 6: I2Cマスタ・ロウ割り込みステータス(I2CMRIS)、オフセット 0x014
このレジスタは、割り込みが保留にされているかどうかを示します。
I2C マスタ・ロウ割り込みステータス(I2CMRIS)
2
I C マスタ 0 ベース: 0x4002.0000
2
I C マスタ 1 ベース: 0x4002.1000
オフセット 0x014
タイプ RO、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:1
予約
RO
0x0000.000
0
RIS
RO
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
ロウ割り込みステータス
値
説明
1
マスタ割り込みが保留にされています。
0
割り込みはありません。
このビットは、I2CMICR レジスタの IC ビットに 1 を書き込むこと
によりクリアされます。
27
レジスタ 7: I2Cマスタ・マスク割り込みステータス(I2CMMIS)、オフセット 0x018
このレジスタは、割り込みが通知されたかどうかを示します。
I2C マスタ・マスク割り込みステータス (I2CMMIS)
2
I C マスタ 0 ベース: 0x4002.0000
2
I C マスタ 1 ベース: 0x4002.1000
オフセット 0x018
タイプ RO、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:1
予約
RO
0x0000.000
0
MIS
RO
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
マスク割り込みステータス
値
説明
1
マスクされていないマスタ割り込みが通知され、保
留中です。
0
割り込みが発生していないか、マスクされていま
す。
このビットは、I2CMICR レジスタの IC ビットに 1 を書き込むこと
によりクリアされます。
28
レジスタ 8: I2Cマスタ割り込みクリア(I2CMICR)、オフセット 0x01C
このレジスタは、ロウ割り込みをクリアします。
I2Cマスタ割り込みクリア(I2CMICR)
2
I C マスタ 0 ベース: 0x4002.0000
2
I C マスタ 1 ベース: 0x4002.1000
オフセット 0x01C
タイプ WO、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:1
予約
RO
0x0000.000
0
IC
WO
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
割り込みのクリア
このビットに 1 を書き込むと、I2CMRIS レジスタの RIS ビットと
I2CMMIS レジスタの MIS ビットがクリアされます。
このレジスタの読み出しは、意味のあるデータを返しません。
29
レジスタ 9: I2Cマスタ構成(I2CMCR)、オフセット 0x020
このレジスタは、モード(マスタあるいはスレーブ)を設定し、テスト・モード・ループバック用のインターフェイスを設定し
ます。
I2Cマスタ構成 (I2CMCR)
I2C マスタ 0 ベース: 0x4002.0000
I2C マスタ 1 ベース: 0x4002.1000
オフセット 0x020
タイプ R/W、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:6
予約
RO
0x0000.00
5
SFE
R/W
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
I2C スレーブ機能のイネーブル
値
4
MFE
R/W
0
3:1
予約
RO
0x0
0
LPBK
R/W
0
16.7
説明
1
スレーブ・モードはイネーブルです。
0
スレーブ・モードはディセーブルです。
I2Cマスタ機能のイネーブル
値
説明
1
マスタ・モードはイネーブルです。
0
マスタはディセーブルです。
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
I2Cのループバック
値
説明
1
テスト・モード・ループバックに設定します。
0
通常動作
レジスタの説明(I2Cスレーブ)
このセクションの以降のページでは、I2Cスレーブのレジスタをアドレス・オフセットの番号順に記載し、説明します。
P 703 の“レジスタの説明(I2C マスタ)”も参照してください。
30
レジスタ 10: I2Cスレーブ自己アドレス(I2CSOAR)、オフセット 0x000
このレジスタは、I2Cバス上のStellaris® I2Cデバイスを認識する 7 個のアドレス・ビットで構成されます。
I2C スレーブ自己アドレス(I2CSOAR)
2
I C スレーブ 0 ベース: 0x4002.0800
2
I C スレーブ 1 ベース: 0x4002.1800
オフセット 0x000
タイプ R/W、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:7
予約
RO
0x0000.00
6:0
OAR
R/W
0x00
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
I2Cスレーブ自己アドレス
このフィールドは、スレーブ・アドレスのビット A6~A0 を指定し
ます。
31
レジスタ 11: I2Cスレーブ制御/ステータス (I2CSCSR)、オフセット 0x004
このレジスタは、書き込まれた時に 1 つの制御ビットにアクセスし、読み出された時に 3 つのステータス・ビットにアク
セスします。
読み取り専用ステータス・レジスタは、FBR、RREQ、TREQの 3 つのビットから構成されます。最初のバイト受信(FBR:
First Byte Received)ビットは、Stellaris® デバイスが自分のスレーブ・アドレスを検出し、最初のデータ・バイトをI2Cマ
スタから受信した後にのみセットされます。受信要求(RREQ)ビットは、Stellaris® のI2CデバイスがI2Cマスタから
データ・バイトを受信したことを通知します。RREQビットをクリアするには、I2Cスレーブ・データ (I2CSDR)・レジスタか
らデータ・バイト 1 つを読み出してください。送信要求(TREQ)ビットは、Stellaris® I2Cデバイスがスレーブ・トランスミッ
タとしてアドレス指定された事を示します。TREQビットをクリアするには、I2Cスレーブ・データ(I2CSDR)・レジスタに
データ・バイトを 1 つ書き込んでください。
書き込み専用制御レジスタは、DAビットという 1 ビットからなります。DAビットはStellaris® のI2Cスレーブ動作のイネ
ーブルとディセーブルを行います。
読み取り専用ステータス・レジスタ
2
I C スレーブ制御/ステータス (I2CSCSR)
2
I C スレーブ 0 ベース: 0x4002.0800
2
I C スレーブ 1 ベース: 0x4002.1800
オフセット 0x004
タイプ RO、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:3
予約
RO
0x0000.000
2
FBR
RO
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
最初のバイト受信
値
説明
1
自分のスレーブ・アドレスに続く最初のバイトが受
信されました。
0
最初のバイトは受信されていません。
このビットは RREQ ビットがセットされている場合にのみ有効で
あり、I2CSDR レジスタからデータが読み出されると自動的にク
リアされます。
注: このビットは、スレーブの送信動作には使用されません。
32
1
0
TREQ
RREQ
RO
RO
0
0
送信要求
値
説明
1
I2Cコントローラがスレーブ・トランスミッタとしてアド
レス指定され、クロック・ストレッチを使用して、デー
タがI2CSDRレジスタに書き込まれるまでマスタを遅
延しています。
0
未処理の送信要求はありません。
受信要求
値
説明
1
I2Cコントローラは、I2Cマスタから受信した未処理の
データを持っており、クロック・ストレッチを使用し
て、データがI2CSDRレジスタから読み出されるまで
マスタを遅延しています。
0
未処理の受信データはありません。
書き込み専用制御レジスタ
2
I Cスレーブ制御/ステータス (I2CSCSR)
2
I C スレーブ 0 ベース: 0x4002.0800
2
I C スレーブ 1 ベース: 0x4002.1800
オフセット 0x004
タイプ WO、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:1
予約
RO
0x0000.000
0
DA
WO
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
デバイス・アクティブ(Device Active)
値
説明
0
I2Cスレーブの動作をディセーブルにします。
1
I2Cスレーブの動作をイネーブルにします。
33
レジスタ 12: I2Cスレーブ・データ(I2CSDR)、オフセット 0x008
重要: このレジスタの読み出しには注意が必要です。読み出しを実行すると、ビットのステータスが変更される可能
性があります。
このレジスタには、スレーブの送信状態時に送信されるデータと、スレーブの受信状態時に受信されるデータが入っ
ています。
I2C スレーブ・データ(I2CSDR)
2
I C スレーブ 0 ベース: 0x4002.0800
2
I C スレーブ 1 ベース: 0x4002.1800
オフセット 0x008
タイプ R/W、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:8
予約
RO
0x0000.00
7:0
DATA
R/W
0x00
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
転送用のデータ
このフィールドには、スレーブの受信動作中または送信動作中
の転送用のデータが入っています。
34
レジスタ 13: I2Cスレーブ割り込みマスク(I2CSIMR)、オフセット 0x00C
このレジスタは、ロウ割り込みがコントローラ割り込みを伝えるかどうかを制御します。
I2C スレーブ割り込みマスク(I2CSIMR)
2
I C スレーブ 0 ベース: 0x4002.0800
2
I C スレーブ 1 ベース: 0x4002.1800
オフセット 0x00C
タイプ R/W、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:3
予約
RO
0x0000.000
2
STOPIM
RO
0
1
0
STARTIM
DATAIM
RO
R/W
0
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
ストップ・コンディション割り込みマスク
値
説明
1
I2CSRIS レジスタの STOPRIS ビットがセットされて
いる場合、、ストップ・コンディション割り込みが割り
込みコントローラに送られます。
0
STOPRIS 割り込みは割り込みコントローラに送ら
れません。
スタート・コンディション割り込みマスク
値
説明
1
I2CSRIS レジスタの STARTRIS ビットがセットされて
いる場合、スタート・コンディション割り込みが割り込
みコントローラに送られます。
0
STARTRIS 割り込みは割り込みコントローラに送
られません。
データ割り込みマスク
値
説明
1
I2CSRIS レジスタの DATARIS ビットがセットされ
ている場合、データ受信割り込みまたはデータ要求
割り込みが割り込みコントローラに送られます。
0
DATARIS 割り込みは、割り込みコントローラに送ら
れません。
35
レジスタ 14: I2Cスレーブ・ロウ割り込みステータス(I2CSRIS)、オフセット 0x010
このレジスタは、割り込みが保留になっているかどうかを示します。
I2C スレーブ・ロウ割り込みステータス (I2CSRIS)
2
I C スレーブ 0 ベース: 0x4002.0800
2
I C スレーブ 1 ベース: 0x4002.1800
オフセット 0x010
タイプ RO、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:3
予約
RO
0x0000.000
2
STOPRIS
RO
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
ストップ・コンディション・ロウ割り込みステータス
値
説明
1
ストップ・コンディション割り込みが保留になってい
ます。
0
割り込みはありません。
このビットは、I2CSICR レジスタの STOPIC ビットに 1 を書き込
むことでクリアされます。
1
STARTRIS
RO
0
スタート・コンディション・ロウ割り込みステータス
値
説明
1
スタート・コンディション割り込みが保留になってい
ます。
0
割り込みはありません。
このビットは、I2CSICR レジスタの STARTIC ビットに 1 を書き込
むことでクリアされます。
0
DATARIS
RO
0
データ・ロウ割り込みステータス
値
説明
1
データ受信割り込みまたはデータ要求割り込みが
保留になっています。
0
割り込みはありません。
このビットは、I2CSICR レジスタの DATAIC ビットに 1 を書き込
むことでクリアされます。
36
レジスタ 15: I2Cスレーブ・マスク割り込みステータス (I2CSMIS)、オフセット 0x014
このレジスタは、割り込みが通知されたかどうかを示します。
I2Cスレーブ・マスク割り込みステータス (I2CSMIS)
I2
C スレーブ 0 ベース: 0x4002.0800
2
I C スレーブ 1 ベース: 0x4002.1800
オフセット 0x014
タイプ RO、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:3
予約
RO
0x0000.000
2
STOPMIS
R/W
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
ストップ・コンディションのマスク割り込みステータス
値
説明
1
マスクされていないストップ・コンディション割り込み
が通知され、保留中です。
0
割り込みが発生していないか、マスクされていま
す。
このビットは、I2CSICR レジスタの STOPIC ビットに 1 を書き込
むことによりクリアされます。
1
STARTMIS
R/W
0
スタート・コンディションのマスク割り込みステータス
値
説明
1
マスクされていないスタート・コンディション割り込み
が通知され、保留中です。
0
割り込みが発生していないか、マスクされていま
す。
このビットは、I2CSICR レジスタの STARTIC ビットに 1 を書き込
むことによりクリアされます。
0
DATAMIS
RO
0
データのマスク割り込みステータス
値
説明
1
マスクされていないデータ受信割り込みまたはデー
タ要求割り込みが通知され、保留中です。
0
割り込みが発生していないか、マスクされていま
す。
このビットは、I2CSICR レジスタの DATAIC ビットに 1 を書き込
むことによりクリアされます。
37
レジスタ 16: I2Cスレーブ割り込みクリア(I2CSICR)、オフセット 0x018
このレジスタは、ロウ割り込みをクリアします。このレジスタの読み出しは、意味のあるデータを返しません。
I2Cスレーブ割り込みクリア(I2CSICR)
2
I C スレーブ 0 ベース: 0x4002.0800
2
I C スレーブ 1 ベース: 0x4002.1800
オフセット 0x018
タイプ WO、リセット 0x0000.0000
ビット /
フィールド
名称
タイプ
リセット
31:3
予約
RO
0x0000.000
2
STOPIC
WO
0
説明
予約ビットの値はソフトウェアで使用しないでください。将来の
製品との互換性のため、予約ビットの値はリード・モディファ
イ・ライト処理から保護する必要があります。
ストップ・コンディション割り込みクリア
このビットに 1 を書き込むと、I2CSRIS レジスタの STOPRIS ビ
ットと I2CSMIS レジスタの STOPMIS ビットがクリアされます。
このレジスタの読み出しは、意味のあるデータを返しません。
1
STARTIC
WO
0
スタート・コンディション割り込みクリア
このビットに 1 を書き込むと、I2CSRIS レジスタの STARTRIS ビ
ットと、I2CSMIS レジスタの STARTMIS ビットがクリアされま
す。
このレジスタの読み出しは、意味のあるデータを返しません。
0
DATAIC
WO
0
データ割り込みクリア
このビットに 1 を書き込むと、I2CSRIS レジスタの DATARIS ビ
ットと、I2CSMIS レジスタの DATAMIS ビットがクリアされます。
このレジスタの読み出しは、意味のあるデータを返しません。
38
Fly UP