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

スレーブレシーバモード

ドキュメント内 LPC111x UM Rev0015 Japanese (ページ 156-161)

(パワーマネージメントユニット)

10.11 I 2 C の動作モードの詳細

10.11.3 スレーブレシーバモード

スレーブレシーバモードでは、多数のデータバイトをマスタトランスミッタから受信しま

す(Figure 28を参照)。スレーブレシーバモードを開始するには、以下のようにI2ADRと

I2CONをロードする必要があります。

Fig 27. Format and states in the Master Receiver mode

A

to Master transmit mode, entry

= MT MR

to corresponding states in Slave

mode A

R SLA S

R SLA S

W

A A OR A

A P

other Master continues

other Master continues

A other Master continues 48H

40H 58H

10H

68H 78H B0H

38H 38H

arbitration lost in Slave address or Acknowledge bit Not Acknowledge received after the Slave address next transfer started with a Repeated Start condition

arbitration lost and addressed as Slave successful transmission to a Slave transmitter

from Master to Slave

from Slave to Master

any number of data bytes and their associated Acknowledge bits

n this number (contained in I2STA) corresponds to a defined state of the I2C bus

DATA A

DATA

50H

A DATA

P

08H

FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A 上位7ビットは、マスタによってアドレス指定されたときにI2Cブロックが応答する先の アドレスです。 LSB(GC)を設定している場合、I2C ブロックはゼネラルコールアドレス

(0x00)に応答します。それ以外の場合、ゼネラルコールアドレスは無視されます。

I2Cバスの速度設定は、スレーブモードのI2Cブロックには影響を与えません。 I2ENをロ ジック1に設定して、I2Cブロックをイネーブルにします。 AAビットを設定して、I2Cブ ロックが自身のスレーブアドレスまたはゼネラルコールアドレスに肯定応答できるよう にする必要があります。 STA、STO、SIはリセットする必要があります。

I2ADRとI2CONが初期化済みの場合、I2Cブロックがスレーブレシーバモードで動作する ために、I2C ブロックは自身のスレーブアドレスとその後に続くデータ方向ビット「0」

(W)によってアドレス指定されるまで待機します。自身のスレーブアドレスとWビット を受信すると、シリアル割り込みフラグ(SI)が設定され、有効なステータスコードを

I2STATから読み取ることができます。このステータスコードは、状態サービスルーチンへ

のベクタ化に使用されます。これらのステータスコードそれぞれに対して取るべき適切 なアクションの詳細をTable 158に示します。 I2Cブロックがマスタモードの間にアービト レーションを失った場合にも、スレーブレシーバモードに切り替わることがあります(ス テータス0x68および0x78を参照)。

転送中にAAビットがリセットされた場合、I2Cブロックは次に受信したデータバイトの 後でNOT ACK(ロジック1)をSDAに返します。 AAのリセット中、I2Cブロックは自身 のスレーブアドレスやゼネラルコールアドレスには応答しません。ただし、I2C バスの監 視は継続しており、アドレス認識はAA を設定することによっていつでも再開できます。

これは、AAビットを使用して、I2Cブロックを一時的にI2Cバスから隔離できることを意 味します。

Table 156. I2C0ADR and I2C1ADR usage in Slave Receiver mode

Bit 7 6 5 4 3 2 1 0

Symbol own slave 7-bit address GC

Table 157. I2C0CONSET and I2C1CONSET used to initialize Slave Receiver mode

Bit 7 6 5 4 3 2 1 0

Symbol - I2EN STA STO SI AA -

-Value - 1 0 0 0 1 -

-Table 158. Slave Receiver mode Status

Code (I2CSTAT)

Status of the I2C-bus and hardware

Application software response Next action taken by I2C hardware To/From I2DAT To I2CON

STA STO SI AA

0x60 自身のSLA+Wを受信

済み。ACKを返送済み。

No I2DAT action or X 0 0 0 データバイトを受信し、NOT ACKを返す。

No I2DAT action X 0 0 1 データバイトを受信し、ACKを返す。

0x68 マ ス タ の と き に No I2DAT action or X 0 0 0 データバイトを受信し、NOT ACKを返す。

FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A 0x70 ゼネラルコールアド

レス(0x00)を受信済 み。ACKを返送済み。

No I2DAT action or X 0 0 0 データバイトを受信し、NOT ACKを返す。

No I2DAT action X 0 0 1 データバイトを受信し、ACKを返す。

0x78 マ ス タ の と き に SLA+R/W でアービト レーションを失った。

ゼネラルコールアド レスを受信済み、ACK を返送済み。

No I2DAT action or X 0 0 0 データバイトを受信し、NOT ACKを返す。

No I2DAT action X 0 0 1 データバイトを受信し、ACKを返す。

0x80 以前は自身のSLVアド レスでアドレス指定 されていた。DATA を 受信済み。ACKを返送 済み。

Read data byte or X 0 0 0 データバイトを受信し、NOT ACKを返す。

Read data byte X 0 0 1 データバイトを受信し、ACKを返す。

0x88 以前は自身のSLAでア ドレス指定されてい た。DATA バイトを受 信済み。NOT ACKを返 送済み。

Read data byte or 0 0 0 0 アドレス指定されていない SLV モードに 切り替わる。自身のSLAまたはゼネラル コールアドレスを認識しない。

Read data byte or 0 0 0 1 アドレス指定されていない SLV モードに 切り替わる。自身の SLA を認識する。

I2ADR[0] =ロジック1 の場合、ゼネラル コールアドレスを認識する。

Read data byte or 1 0 0 0 アドレス指定されていない SLV モードに 切り替わる。自身のSLAまたはゼネラル コールアドレスを認識しない。バスが解 放されたときにSTART状態を送信する。

Read data byte 1 0 0 1 アドレス指定されていない SLV モードに

切り替わる。自身の SLA を認識する。

I2ADR[0] =ロジック1 の場合、ゼネラル コールアドレスを認識する。バスが解放 されたときにSTART状態を送信する。

0x90 以前はゼネラルコー ルでアドレス指定さ れていた。DATA バイ トを受信済み。ACKを 返送済み。

Read data byte or X 0 0 0 データバイトを受信し、NOT ACKを返す。

Read data byte X 0 0 1 データバイトを受信し、ACKを返す。

Table 158. Slave Receiver mode (続き)

Status Code (I2CSTAT)

Status of the I2C-bus and hardware

Application software response Next action taken by I2C hardware To/From I2DAT To I2CON

STA STO SI AA

FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A 0x98 以前はゼネラルコー

ルでアドレス指定さ れていた。DATA バイ ト を 受 信 済 み。NOT ACKを返送済み。

Read data byte or 0 0 0 0 アドレス指定されていない SLV モードに 切り替わる。自身のSLAまたはゼネラル コールアドレスを認識しない。

Read data byte or 0 0 0 1 アドレス指定されていない SLV モードに 切り替わる。自身の SLA を認識する。

I2ADR[0] =ロジック1 の場合、ゼネラル コールアドレスを認識する。

Read data byte or 1 0 0 0 アドレス指定されていない SLV モードに 切り替わる。自身のSLAまたはゼネラル コールアドレスを認識しない。バスが解 放されたときにSTART状態を送信する。

Read data byte 1 0 0 1 アドレス指定されていない SLV モードに

切り替わる。自身の SLA を認識する。

I2ADR[0] =ロジック1 の場合、ゼネラル コールアドレスを認識する。バスが解放 されたときにSTART状態を送信する。

0xA0 まだ SLV/REC または

SLV/TRXとしてアドレ ス指定されている間 に、STOP 状態または Repeated START 状態 を受信した。

No STDAT action or

0 0 0 0 アドレス指定されていない SLV モードに 切り替わる。自身のSLAまたはゼネラル コールアドレスを認識しない。

No STDAT action or

0 0 0 1 アドレス指定されていない SLV モードに 切り替わる。自身の SLA を認識する。

I2ADR[0] =ロジック1 の場合、ゼネラル コールアドレスを認識する。

No STDAT action or

1 0 0 0 アドレス指定されていない SLV モードに 切り替わる。自身のSLAまたはゼネラル コールアドレスを認識しない。バスが解 放されたときにSTART状態を送信する。

No STDAT action 1 0 0 1 アドレス指定されていない SLV モードに

切り替わる。自身の SLA を認識する。

I2ADR[0] =ロジック1 の場合、ゼネラル コールアドレスを認識する。バスが解放 されたときにSTART状態を送信する。

Table 158. Slave Receiver mode (続き)

Status Code (I2CSTAT)

Status of the I2C-bus and hardware

Application software response Next action taken by I2C hardware To/From I2DAT To I2CON

STA STO SI AA

FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A

Fig 28. Format and states in the Slave Receiver mode

A

A P OR S

A W SLA

S

P OR S A

A

68H

60H 80H

88H

reception of the General Call address and one or more Data bytes

arbitration lost as Master and addressed as Slave

last data byte received is Not acknowledged

arbitration lost as Master and addressed as Slave by General Call

reception of the own Slave address and one or more Data bytes all are acknowledged

from Master to Slave

from Slave to Master

any number of data bytes and their associated Acknowledge bits

n this number (contained in I2STA) corresponds to a defined state of the I2C bus

DATA A

DATA

80H A0H

last data byte is Not acknowledged

A P OR S

A

70h 90h

DATA A

DATA

90h A0H

GENERAL CALL

A

98h

P OR S

A

78h

DATA

FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A

ドキュメント内 LPC111x UM Rev0015 Japanese (ページ 156-161)