STM32MP1 – I²C
Inter-integrated circuit
1.0 版

こんにちは、STM32 I²C インタフェース のプレゼンテーションへようこそ。このプレゼンテーションでは、マイクロコントローラ、センサ、シリアルインタフェースメモリなどのデバイスの接続に広く使用されている通信インタフェースの主な機能を説明します。

1

概要

2

• 集積回路間の通信インタフェースを提供します。
STM32• I²C バス仕様とユーザマニュアル（リビジョン 3）
SRAM

センサ
DMA

センサ

• 標準、高速、および高速モードプラス（1MHz）• SMBus 3.0 ハードウェアサポート• PMBus 1.3 準拠

I²C

センサ

I²C

プロセッサ

2

アプリケーション側の利点• 扱いやすいイベント管理• 完全にプログラム可能なタイミング値• 低電力 STOP モードでも機能を発揮

I²C インタフェースは、NXP I²C バス仕様とユーザマニュアル リ
ビジョン 3、SMBus システム管理バス仕様 リビジョン 3、およびPMBus パワーシステム管理プロトコル仕様 リビジョン 1.3 に準拠しています。
このペリフェラルは、非常にシンプルなソフトウェアプログラミングとタイミングの完全な柔軟性を備えた扱いやすいインタフェースを提供します。さらに、この I²C ペリフェラルは複数の低電力STOP モードでも機能します。

2主な機能

VDD

Rp

Rp

SDA
SCL
マスタ 1

マスタ 2

スレーブ
n-1

START
コンディション

スレーブn
STOPコンディション

3• マルチマスタまたはマルチスレーブ機能• 高速モードプラスのための 20mA 出力ドライブ機能• すべての I²C バス固有のシーケンシング、プロトコル、アービトレーション、タイミング値を制御• 7bit と 10bit のアドレスモード• 複数の 7bit アドレスのサポート

ACK

ACK

アドレス

データ 1

ACK/NACK
リスタート
データ n コンディション• クロックストレッチオプション

I²C プロトコル
ACK/NACKI²C ペリフェラルは、マルチマスタモードとスレーブモードをサポートしています。
I²C IO ピンはオープンドレインモードに設定する必要があります。
ロジックハイレベルは、外部プルアップによって駆動されます。IO
ピンは、高速モードプラスに必要な 20mA 出力ドライブをサポートします。
このペリフェラルはすべての I²C バス固有のシーケンス、プロトコル、アービトレーション、およびタイミング値を制御します。
7bit と 10bit のアドレスモードをサポートしており、同じアプリケーションで複数の 7bit アドレスをサポートします。
マスタモードのペリフェラルは、スレーブクロックストレッチとスレーブ側からのクロックストレッチをサポートします。スレーブモー
ド設定のペリフェラルでは、ソフトウェアによってクロックストレッチを無効にできます。

3

主な機能

4

• プログラム可能なセットアップおよびホールド時間• SCL と SDL ラインの、プログラム可能なアナログおよびデジタルノイズフィルタ• アドレス一致時に STOP モードからウェイクアップ• システムクロックから独立した通信ボーレートを使用できる独立クロック

セットアップ時間とホールド時間はソフトウェアでプログラムできます。
データとクロックラインのアナログとデジタルグリッチフィルタは、ソフトウェアで設定できます。
ペリフェラルは、アドレス一致を検出すると STOP モードからMCU をウェイクアップできます。
ペリフェラルには独立したクロックドメインがあり、システムクロックから独立した通信ボーレートを使用できます。

4ブロック図5

SYSCFG_PMCSETR/I2Cx_FMP

RCC I2C
カーネルクロック選択

I²C
クロック制御デジタル
ノイズフィルタ

アナログノイズフィルタ

データ制御

デジタル
ノイズフィルタ

アナログノイズフィルタ

GPIO
ロジック

SCL

GPIO
ロジック

SDA

pclk
Pll_ckI2CCLK

hsi_ker_ck
csi_ker_ck

SYSCFG_PMCSETR/I2Cx_FMP

pclk

レジスタ

SMBA

APB バスI²C のブロック図を示します。レジスタは APB バスを経由してアクセスされ、ペリフェラルは APB クロックから独立した I²C クロックからクロックの供給を受けます。I²C のクロックは、PLL、APB
クロック、周波数が 8～64MHz の高速内部 RC オシレータ、および低電力の内部 4MHz の RC オシレータから選択できます。
アナログおよびデジタルノイズフィルタが SCL および SDA ラインにあります。システム設定レジスタの制御ビットを使用して、20mA の駆動能力を有効にします。
さらに、SMBus Alert ピンは SMBus モードで使用できます。

5

プログラム可能な I²C のタイミング

6

タイミング生成の完全な柔軟性• 送信中の SDA ラインと SCL ライン間のセットアップ時間およびホールド時間は、I²C タイミングレジスタ（I2C_TIMINGR）の PRESC、SDADEL、および SCLDEL フィールドによりプログラム可能です。
• SDADEL を使用して、データホールド時間. tSDADEL = [SDADEL * (PRESC+1) + 1] * tI2CCLK を生成します。
• SCLDEL を使用して、データセットアップ時間 tSCLDEL = (SCLDEL+1) * (PRESC+1) * tI2CCLK を生成します。
tSU;DAT データセットアップ時間

tHD;DAT データホールド時間
SDADEL

クロックストレッチ

SCLDELSCL
SDAtSYNC1
SCL 立ち下がりエッジ内部検出

I²C セットアップ時間およびホールド時間は、I²C タイミングレジス
タによりソフトウェアで設定します。
送信中に SDADEL および SCLDEL カウンタを使用して、最小データホールド時間とデータセットアップ時間を保証します。
I²C ペリフェラルは、データを送信する前に、クロックラインの立ち下がりエッジを検出した後、プログラムされたデータホールド時間待機します。データが送信された後、プログラムされたデータセッ
トアップ時間中にクロックラインがローにストレッチされます。

合計データホールド時間がプログラムされた SDADEL カウンタよりも長くなっています。これは、SCL の立ち下がりエッジが内部で検出されてはじめて SDADEL 遅延が追加されるためです。この内部検出に必要な時間（tSYNC1）は、SCL の立ち下がりエッジ、フィルタによる入力遅延、および内部 SCL と I²C クロックとの同期による遅延によって決まります。ただし、セットアップ時間はこれらの内部遅延の影響を受けません。

6

I²C マスタクロック生成

7

マスタクロック生成における完全な柔軟性• I2C_TIMINGR によりプログラム可能な SCL のローおよびハイ時間• SCL ローカウンタ： (SCLL+1) * (PRESC+1) * tI2CCLK• SCL の立ち下がりエッジの内部検出後に開始• カウント後、SCL は解除• SCL ハイカウンタ： (SCLH+1) * (PRESC+1) * tI2CCLK• SCL の立ち上がりエッジの内部検出後に開始• カウント後、SCL はローに駆動• SCL period = tSYNC1 + tSYNC2 + [(SCLL+1) + (SCLH+1)] * (PRESC+1) * tI2CCLKtSYNC2

SCLH

SCLL

SCL
SDA

tSYNC1

SCL 立ち下がりエッジ内部検出

I²C マスタクロックのローレベル時間とハイレベル時間は、ソフトウェアが I²C タイミングレジスタで設定します。
SCL のローレベルおよびハイレベルカウンタは、SCL ラインのエッジ検出で開始します。ペリフェラルはこの実装により、マルチマスタ環境でのマスタクロック同期メカニズムとスレーブクロックストレッチ機能をサポートします。
これにより SCL の合計周期はカウンターの合計よりも長くなります。これは SCL ラインエッジの内部検出により遅延が追加されることに関係しています。このような遅延である tSYNC1 およびtSYNC2 は、SCL の立ち下がりエッジまたは立ち上がりエッジ、フィルタによる入力遅延、および内部 SCL と I²C クロックとの同期による遅延により異なります。

立ち上がりエッジは、プルアップ抵抗と SCL ライン容量により異なります。立ち下がりエッジは、データシートで定義された I/Oポートパラメータにより異なります。クロック速度を適切に設定するには、これらのエッジの測定か計算を行います。これらは、I2Cペリフェラルを STM32CubeMX ツールで適切に設定する際に必要になるもので、タイミングレジスタの設定はこのツールによって自動的に計算できます。

7

スレーブアドレスモード

8

多数のスレーブアドレス•I²C は複数のスレーブアドレスを確認応答できます。2 つのアドレスレジスタ：•

I2C_OAR1：7 または 10bit モード•I2C_OAR2：7bit モードのみOA2MSK[2:0] では、OAR2 の 0～7 の LSB をマスキングできます。
OA2MSK [2:0]

アドレス一致条件

000

アドレス [7:1] = OA[7:1]001

アドレス [7:2] = OA[7:2]（ビット 1 は無視されます）

010

アドレス [7:3] = OA[7:3]（ビット 2:1 は無視されます）

...
111

I²C 予約アドレスを除くすべてのアドレスが確認応答されます。

I²C スレーブは複数のスレーブアドレスを確認応答できます。ス
レーブアドレスは 2 つのレジスタにプログラムされます。自己アドレスレジスタ 1 は、7bit または 10bit のアドレスでプログラムされます。自己アドレスレジスタ 2 は 7bit アドレスでプログラムされます。複数のスレーブアドレスを確認応答するため、このアドレスの最下位ビットは OA2MSK レジスタによりマスクされます。2 つの自己アドレスレジスタを同時に有効にできます。

8

アドレス一致時に STOP モードからウェイクアップ•9

I2CCLK クロックが HSI または CSI に設定されている場合、I²C はスレーブアドレスを受信すると、MCU を STOP モードからウェイクアップします。すべてのアドレッシングモードがサポートされます。
アドレスが一致

HSI ウェイクアップ時間：SCL ストレッチ

アドレス一致割込み

STM32 ウェイクアップ時間：SCL ストレッチ

SCL
SDA

ACK

STARTコンディション

HSI

HSI オフSTOP モード

HSI ウェイクアップ時間：SCL ストレッチSCL

HSI オン

RUN モード

アドレスが不一致

SDA

NACK

STARTコンディション

HSI

データ転送が続く

HSI オフマスタによる STOP（またはリスタート）コンディション

HSI オフHSI オン

STOP モード

I²C ペリフェラルは、アドレス一致時に STOP モードからのウェイクアップをサポートします。そのためには、I²C ペリフェラルクロックを HSI またはCSI オシレータに設定する必要があります。STOP からのウェイクアップ機能が有効な場合、アナログノイズフィルタのみサポートされます。すべてのアドレッシングモードがサポートされます。
デバイスが STOP モードの場合、ハイスピード内部オシレータはオフになります。 START コンディションを検出すると、I²C ペリフェラルはハイスピード内部オシレータを有効にしてバス上のアドレスを受信します。
STOP モードでアドレスが受信され、そのアドレスがプログラムされたスレーブアドレスと一致すると、ウェイクアップ割込みが生成されます。
アドレスが一致しない場合、ハイスピード内部オシレータはオフになり割込みは生成されず、デバイスは STOP モードに留まります。
I²C ペリフェラルはハイスピード内部オシレータが起動するまで、STARTコンディションの後にクロックラインをローにストレッチするため、クロックストレッチを有効にする必要があります。プログラムされたスレーブアドレスと一致するアドレスの受信後、I²C ペリフェラルは、STM32MP1 デバイスがウェイクアップするまでクロックラインをローにストレッチします。

9シンプルなマスタモード管理

10

ペイロードが 255バイト以下の場合：必要なのは書込みアクション 1 回のみ•••••

START = 1
SADD： スレーブアドレス
RD_WRN： 転送方向
NBYTES = N： 転送されるバイト数
AUTOEND = 1：N 個のデータの後に STOP が自動送信される
AUTOEND

説明

0：ソフトウェア終了モード

NBYTES バイトのデータが転送後に転送ソフトウェア制御が終了：
転送完了（TC）フラグがセットされ、有効であれば割込みが生成されます。
リスタートまたは STOP コンディテョン は、ソフトウェアからリクエストできます。

1：自動終了モード

NBYTES バイトのデータが転送されると、STOP コンディションが自動的に送信されます。

ソフトウェアによるマスタモードの管理は非常に簡単です。ペイロードが 255バイト未満のマスタ転送の処理に必要な書込みアクションは 1 つだけです。完全なプロトコルはハードウェアによって管理されます。
マスタモードで転送を開始するには、I²C 制御レジスタ 2 に、START コンディションリクエスト、スレーブアドレス、転送方向、転送されるバイト数、および転送終了モードを書き込む必要があります。転送終了モードは、AUTOEND ビットで設定されます。
設定されている場合、プログラムされたバイト数の転送終了後、STOP コンディションが自動的に送信されます。
AUTOEND ビットが設定されていない場合、転送の終了はソフトウェアによって管理されます。 プログラムされたバイト数の転送後、転送完了（TC）フラグが設定され、有効であれば割込みが生成されます。反復 START コンディションまたは STOP コンディションはソフトウェアからリクエストできます。
データ転送は、割込みまたは DMA により管理できます。

10

使いやすいイベント管理

11• ペイロードが 255バイト超の場合：I2C_CR2 の RELOAD ビットの設定が必要• RELOAD ビットがセットされているときは、AUTOEND = 0 は無視されます。

RELOAD説明

0：リロードしない

NBYTES バイトのデータが転送され、その後に STOP または RESTART が続きます。

1：リロードモード

NBYTES バイトのデータの転送後、NBYTES がリロードされます。データ転送が再開されます。
転送完了リロード（TCR）フラグが設定され、有効であれば割込みが生成されます。

ペイロードが 255バイトより大きい場合、RELOAD ビットを I²C制御レジスタ 2 で設定する必要があります。この場合、転送完了リロード（TCR）フラグが、プログラムされたバイト数の転送後にセットされます。転送される追加のバイト数は TCR ビットが設定されているときにプログラムされ、その後データ転送が再開されます。TCR ビットが設定されている限り、I²C クロックはローにストレッチされます。RELOAD ビットは、ペイロードが 255バイトを超える場合はマスタモードで使用され、スレーブバイト制御が有効な場合はスレーブモードで使用されます。
RELOAD ビットが設定されているときは、AUTOEND ビットは無視されます。

11

スレーブモード

12• デフォルト設定：I²C スレーブはクロックストレッチを使用します。クロックストレッチはソフトウェアで無効にできます。
• 受信：確認応答制御は、RELOAD = 1 のスレーブバイト制御（SBC）モードで選択されたバイトに対して実行できます。
• SBC = 1 は、スレーブモード（Tx および Rx モード）で NBYTES カウンタを有効にします。
• SBC = 1 は、NOSTRETCH = 0 のときだけセットできます。
SBC

説明

0：リロードしない

NBYTES バイトのデータが転送され、その後に STOP または RESTART が続きます。

1：リロードモード

NBYTES バイトのデータの転送後、NBYTES がリロードされます。データ転送が再開されます。
転送完了リロード（TCR）フラグが設定され、有効であれば割込みが生成されます。

デフォルトでは、I²C スレーブはクロックストレッチを使用します。
クロックストレッチ機能はソフトウェアで無効にできます。
スレーブバイト制御モードが選択され、また RELOAD ビットが設定されている場合、受信モードでスレーブが受信バイトの動作を確認応答するよう設定できます。SBC ビットがセットされると、スレーブモードでバイト数カウンタが有効になります。スレーブバイ
ト制御が有効な場合は、クロックストレッチも有効にする必要があります。
受信モードにおいて、スレーブバイト制御が有効、RELOADビットが設定され、転送されるバイト数が 1 の場合、各受信バイ
トと SCL ラインがストレッチされた後に転送完了リロードフラグがセットされます。これは、データ受信の後、確認応答パルスの前に行われます。受信バッファノットエンプティフラグも設定されるため、データを読み取ることができます。TCR サブルーチンでは、バイトの受信後に Acknowledge（確認応答済み）または NOTAcknowledge（非確認応答）が送信されるようにプログラムできます。
I²C スレーブトランスミッタモードではバイトカウンタを使用しないため、送信時に SBC ビットをクリアすることをお勧めします。
SMBus モードでは、送信で PEC （パケットエラーコード）バイトを送信するためスレーブバイト制御モードが使用します。
12

SMBUS13

シームレスな SMBus 2.0 サポート

• ARP （アドレス解決プロトコル）：デバイスのデフォルトアドレス、スレーブモードでのアービトレーション• Host Notify プロトコルのサポート：ホストアドレス• アラートサポート：アラートピンとアラート応答のサポート• タイムアウトとバスのアイドル検出• SBC モードでのコマンドおよびデータ確認応答制御• パケットエラーチェック（PEC）ハードウェア計算

I²C ペリフェラルは、SMBus にハードウェアサポートを提供します。SMBus アドレス解決プロトコルは、スレーブモードでのデバイスのデフォルトアドレスとアービトレーションによりサポートされます。
Host Notify プロトコルは、ホストアドレスサポートでサポートされます。
アラートプロトコルは、SMBus アラートピンとアラート応答アドレスによりサポートされます。
SMBus のクロックロータイムアウトと累積クロックロー延長時間は、プログラム可能な時間に対して検出できます。バスアイドル状態は、プログラム可能な時間に対して検出できます。
コマンドおよびデータ確認応答制御は、スレーブバイト制御モードによりサポートされます。
パケットエラーコード（PEC）バイトは、ハードウェアによって計算されます。

13

SMBus：PEC（パケットエラーチェック）14• 自動 PEC 送信／チェック• NBYTES（データ転送カウンタ）は、次の目的で使用されます。
• NBYTES-1バイトを受信した後、受信のパケットエラーコード（PEC）バイトを自動的にチェックします。
• 失敗時の自動 NACK 送信• NBYTE-1バイトの送信後、パケットエラーコード（PEC）バイトを自動的に送信します。
• NBYTES カウンターを有効にするには、スレーブバイト制御モード（SBC ビット）をスレーブモードに設定する必要があります。

パケットエラーコード（PEC）バイトは送信時に自動的に送信され、受信時にチェックされます。
NBYTES マイナス 1バイトの受信後、NBYTES 値で初期化されたデータ転送カウンタが受信時の PEC バイトの自動チェックに使用されます。受信した PEC バイトが計算と一致しない場合、PEC バイトの後に非確認応答が自動的に送信されます。送信時、内部で計算された PEC バイトは、NBYTES マイナス 1バイトの後に自動的に送信されます。NBYTES カウンタを有効にして自動 PEC 受信または送信を許可するには、スレーブモードでスレーブバイト制御モードを有効にする必要があります。

14

割込みと DMA
割込みイベント

15

説明

受信バッファノットエンプティ

受信バッファに受信データが含まれ、読取りの準備ができたときにセットされます。

送信バッファ割込みステータス

送信バッファがエンプティになり、書込みの準備ができたときにセットされます。

STOP 検出

バス上でSTOP コンディションが検出されたときにセットされます。

転送完了リロードRELOAD = 1 で、データの NBYTES バイトが転送されたときにセットされます。

転送完了

RELOAD = 0、AUTOEND = 0、NBYTES バイトのデータが転送されたときにセットされます。

アドレス一致

受信したスレーブアドレスが有効なスレーブアドレスの 1 つと一致するとセットされます。

NACK 受信バイト送信後に NACK を受信すると、ハードウェアによってセットされます。

• 受信バッファがノットエンプティの場合、または送信バッファがエンプティの場合、DMA リクエストを生成できます。

複数のイベントで割込みをトリガできます。
受信バッファノットエンプティフラグは、受信バッファに受信データが含まれ、読取りの準備ができたときにセットされます。送信バッ
ファがエンプティになり、書込みの準備ができたときに、送信バッファ割込みステータスがセットされます。バス上で STOP コンディションが検出されると、STOP 検出フラグがセットされます。
RELOAD ビットがセットされ、NBYTES バイトのデータが転送されると、転送完了リロードフラグがセットされます。
転送完了フラグは、RELOAD ビットと AUTOEND ビットがクリアされ、NBYTES バイトのデータが転送されたときにセットされます。
受信したスレーブアドレスが有効なスレーブアドレスの 1 つと一致すると、アドレス一致フラグがセットされます。
NACK 受信フラグは、バイト送信後に非確認応答を受信したときにセットされます。
DMA リクエストは、受信バッファノットエンプティ、または送信バッファエンプティというフラグがセットされている場合に生成できます。

15

エラー割込み
割込みイベント

16

説明

バスエラー検出

誤って配置された START コンディションまたは STOP コンディションが検出されるとセットされます。

アービトレーション喪失

アービトレーション喪失時にセットされます。

オーバーラン／アンダーランエラー

前のバイトの読取り未完時に新しいデータを受信した場合、または書込み未完時に新しいデータを送信する必要がある場合、スレーブモードで NOSTRETCH = 1 に設定します。

SMBus：PEC エラー

受信した PEC が PEC レジスタの内容と一致しない場合にセットされます。

SMBus：タイムアウトエラー

タイムアウトまたは拡張クロックタイムアウトが発生したときにセットされます。

SMBus：アラートピン検出

SMBHEN = 1（SMBus ホスト設定）、ALERTEN = 1、および SMBA ピンでSMBALERT イベント（立ち下がりエッジ）が検出された時にセットされます。

複数のエラーフラグを生成できます。
バスエラー検出フラグは、誤って配置された START コンディションまたは STOP コンディションが検出されるとセットされます。
アービトレーション喪失が発生した場合、アービトレーション喪失フラグがセットされます。オーバーランまたはアンダーランエラー
フラグがスレーブモードでセットされ、オーバーランまたはアンダーランエラーが検出されると、クロックストレッチが無効になります。
SMBus モードでは、受信した PEC が計算された PEC レジスタの内容と一致しない場合、PEC エラーフラグがセットされます。タ
イムアウトエラーフラグは、タイムアウトまたは拡張クロックタイムアウトが検出されるとセットされます。アラートが検出され、SMBA
ピンで立ち下がりエッジが検出されると、SMBus ホスト設定でアラートピン検出フラグがセットされます。

16低電力モードモード

17

説明

CRunアクティブ

CSleep （MPU またはMCU がサブシステム状態）

アクティブペリフェラル割込みにより、デバイスは CSleep モードを終了

Stop + LP-Stop

レジスタの内容は保たれます。I2C が HSI または CSI クロックでクロックが供給されている場合、アドレス認識が機能します。I2C アドレス一致条件によって、デバイスは STOPモードから復帰します。

LPLV-Stop

レジスタの内容は保持されるものの、I2C は機能しません。

STANDBY

パワーダウン状態です。ペリフェラルは、STANBY モード終了後に再初期化する必要があります。

このスライドは個々の低電力モードにおける I2C インスタンスステータスの概要を示しています。このステータスは、MPU またはMCU サブシステムドメインの状態と、ペリフェラルインスタンスがどちらのドメインに割り当てられているかによって異なります。
I²C ペリフェラルは、CRun および CSleep モードでアクティブになります。停止モードと LP 停止モードでは、ペリフェラルレジスタの内容が保持され、I²C ペリフェラルが HSI または CSI クロックでクロック供給されている場合にアドレス認識が機能します。I2C
アドレス一致条件により、デバイスは STOP モードを終了します。
ペリフェラルは、LPLV-Stop モードでは機能しないもののレジスターの内容は保持されます。STANDBY モードではペリフェラルはパワーダウンされ、STANDBY モードを終了した後に再初期化する必要があります。

17

デバッグ情報18• コアが停止したときに I2Cx SMBUS タイムアウトカウンタを停止できます。

I²C ペリフェラルごとに、デバッグコンポーネントでデバッグを目的にビットを使用できます。これを使用して、コアが停止したときに SMBUS タイムアウトカウンタを停止できます。

18

STM32MP1 インスタンスの機能
I2C1

I2C2

I2C3

I2C4

I2C5

I2C6

7bit アドレスモード

X

X

X

X

X

X

10bit アドレスモード

X

X

X

X

X

X

標準モード（最大 100Kbit/s）

X

X

X

X

X

X

高速モード（最大 400Kbit/s）

X

X

X

X

X

X

20mA 出力駆動 I/O 搭載高速モードプラス（最大 1Mbit/s）

X

X

X

X

X

X

独立クロック

X

X

X

X

X

X

アドレス一致時に STOP からウェイクアップ

X

X

X

X

X

X

SMBus

X

X

X

X

X

X

MPU /MCU

MPU /MCU

MPU /MCUMPU のみMPU /MCUMPU のみI²C 機能オプションのランタイム割当て

19x： サポートされています

STM32MP1 マイクロコントローラには、すべてが同じ機能セットを備えた 6 つの I²C ペリフェラルが組み込まれています。I2C1、I2C2、I2C3、および I2C5 は、Cortex®-M4 コアによって直接または DMA1/2 により制御できますが、Cortex-A7 CPU サブシス
テムによっても管理できます。I2C4 および I2C6 は、Cortex-A7コア専用の安全な通信ブロックです。

19

関連ペリフェラル

20• 詳細については、このペリフェラルにリンクされている次のトレーニングを参照してください。
• システム設定コントローラ（SYSCFG）• リセットおよびクロックコントローラ（RCC）• 電源コントローラ（PWR）• 割込み（NVIC と GIC）
• ダイレクトメモリアクセス（DMA）コントローラ

このペリフェラルに関連する詳細については、次のトレーニングも参照できます。
• システム設定コントローラ• リセットおよびクロックコントローラ• 電源コントローラ• 割込みコントローラ• ダイレクトメモリアクセスコントローラ

20

参照

21

• 詳細については、次の Web ページを参照してください。
• www.nxp.com：• UM10204 I2C バス仕様とユーザマニュアル• www.sbs-forum.org• システム管理バス（SMBus）仕様• http://www.powersig.org/• PMBusTM 電源システム管理プロトコル仕様

詳細については、NXP Web サイトの I²C バス仕様とユーザマ
ニュアルを参照してください。
SMBus 仕様は、スマートバッテリシステム実装者フォーラムにあります。
PMBusTM 電源システム管理プロトコル仕様は、電源管理バス実装者フォーラムにあります。

21