STM32G0 - I²C
Inter-Integrated Circuit
レビジョン 1.0

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

1

概要
STM32G0

2• I²C通信インタフェースを提供• I²Cバス仕様とユーザマニュアル･レビジョン3

Cortex M0+• 標準、高速、および高速モードプラス（1MHz）• SMBus 3.0ハードウェアサポート• PMBus 1.3互換性
SRAM

センサ
Flash

DMA

センサ

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

スレーブ
n-1

マスタ 2

START
コンディション

スレーブ
n

STOP
コンディション

3• マルチマスタおよびスレーブ機能• 高速モードプラスでは20mA出力の駆動能力• すべてのI2Cバス固有のシーケンス、
プロトコル、調停、およびタイミング値を制御• 7ビット／10ビット･アドレッシング･モード• 複数の7ビット･アドレス･サポート

ACK

ACK

アドレス

データ 1

ACK/NACK

データ n ReStart• クロック･ストレッチ･オプション

コンディション

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

3

主な機能

4

• プログラム可能なセットアップ時間とホールド時間• SCL/SDAラインでのプログラム可能なアナログ／デジタルノイズ･フィルタ• アドレス一致時にSTOPモードからウェイクアップ（使用するI2Cペリフェラル
やSTM32G0マイコンの型番に依存）• 独立クロックにより、システムクロックから独立した通信ボーレートが可能（使用するI2CペリフェラルやSTM32G0マイコンの型番に依存）

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

4

ブロック図5

SYSCFG_CFGR1/I2CxFMP

RCC_CCIPR/I2C1SEL

I2C1
クロック
制御

デジタルノ
イズフィルタ

アナログ
ノイズ
フィルタ

GPIO
ロジック

SCL

デジタルノイ
ズフィルタ

アナログ
ノイズ
フィルタ

GPIO
ロジック

SDA

PCLK
SYSCLKI2CCLK

HSI16

データ
制御

SYSCFG_CFGR1/I2CxFMP

PCLK

レジスタ

SMBA

APB バス

スライドに I²C1 のブロック図を示します。I²C1 は独立クロッ
クをサポートしています。レジスタは APB バス経由でアクセスされ、ペリフェラルのクロックは I²C クロックから供給されます。I²C クロックは、APB クロックから独立しています。I²C ク
ロックは、APB クロック、システムクロック、および高速内部
16 MHz RC オシレータの中から選択できます。
SCL/SDA ラインには、アナログ／デジタルノイズフィルタがあります。20 mA の駆動能力は、システム設定レジスタの制
御ビットを使用して有効にできます。
さらに、SMBus モードでは 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周期 = tSYNC1 + tSYNC2 + [(SCLL+1) + (SCLH+1)] * (PRESC+1) *t
tI2CCLK
SCLH
SYNC2

SCLL

SCL
SDA

tSYNC1

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

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

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

スレーブ･アドレッシング･モード

8

多数のスレーブ･アドレス•

I²Cは複数のスレーブ･アドレスを認識できる。次の2つのアドレス･レジスタがある。
•

I2C_OAR1：7ビット･モードまたは 10ビット･モード。

•

I2C_OAR2
OAR2 の 0～7 LSB をマスクでビットモードのみ。OA2MSK[2:0] を使用してOA2MSK：7[2:0]
アドレス一致条件
きる。
000

Address[7:1] = OA[7:1]001

Address[7:2] = OA[7:2] （ビット1 は無視）

010

Address[7:3] = OA[7:3] （ビット2:1 は無視）

...
111

I²C予約済みアドレスを除き、すべてのアドレスが認識される。

I²C スレーブは複数のスレーブアドレスを認識できます。ス
レーブアドレスは 2 つのレジスタにプログラムされます。自己アドレスレジスタ 1 は、7 ビットまたは 10 ビットのアドレスでプログラムできます。自己アドレスレジスタ 2 は、7 ビットのア
ドレスでプログラムできますが、複数のスレーブアドレスを認識させるために、このアドレスの最下位ビットを OA2MSK レ
ジスタを使用してマスクすることができます。2 つの自己アドレスレジスタは、同時に有効化できます。

8

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

9

I2CCLKクロックがHSI16に設定されている場合、I²Cはそのスレーブ･アドレスを受信したときに、マイクロコントローラをSTOPモード
からウェイクアップできる。すべてのアドレッシング･モードがサポートされる。

アドレスが一致する場合

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

アドレス一致割込み

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

SCL
SDA

ACK

データ転送
続行

HSI オン

RUN モード

START
コンディションHSI

HSI オフSTOP モード

HSI16 ウェイクアップ時間：SCL ストレッチ アドレスが一致しない場合

SCL
SDA
HSI

NACK

START
コンディション

HSI オフマスタにより送信された STOP
（または RESTART）コンディション

HSI オフHSI オン

STOP モード

I²C ペリフェラルは、アドレス一致時の STOP モードからのウェイクアップをサポートします。このためには、I²C ペリフェラルクロックを
HSI16 オシレータに設定する必要があります。STOP からのウェイ
クアップ機能が有効な場合は、アナログノイズフィルタのみがサポートされます。すべてのアドレッシングモードがサポートされます。
デバイスが STOP モードの場合、高速内部オシレータはオフになります。 START コンディションが検出されると、I²C ペリフェラルは
高速内部オシレータを有効にし、それを使用してバス上のアドレスを受信します。
STOP モードでアドレスを受信した後、そのアドレスがプログラムされているスレーブアドレスに一致した場合、ウェイクアップ割込みが生成されます。
アドレスが一致しなかった場合、高速内部オシレータはオフになり、割込みは生成されず、デバイスは STOP モードのままです。
I²C ペリフェラルは START コンディションを検出してから高速内部
オシレータが開始するまでクロックラインをローでストレッチするので、クロックストレッチを有効にする必要があります。I²C ペリフェラ
ルは、プログラムされているスレーブアドレスに一致するアドレスを受信してから STM32G0 デバイスがウェイクするまでの間も、クロックラインをローでストレッチします。
9シンプルなマスタ･モード管理

10

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

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

説明

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

NBYTESバイトのデータが転送された後、ソフトウェアで転送終了を制御：
転送完了（TC）フラグがセットされ、有効な場合は割込みが生成される。
ソフトウェアでRESTARTコンディションまたはSTOPコンディションを要求できる。

1：自動終了モード

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

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

使いやすいイベント管理

11• ペイロードが255バイトを超える場合：I2C_CR2のRELOADビットをセットする必要がある• RELOADビットがセットされている場合、AUTOEND = 0は効果がない
RELOAD説明

0：リロードなし

NBYTESバイトのデータが転送され、続いてSTOPまたはRESTARTが転送される

1：リロードモード

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

11

スレーブ･モード

12• デフォルト：I²Cスレーブはクロック･ストレッチを使用する。クロック･ストレッチ
はソフトウェアで無効にできる。
• 受信：スレーブ･バイト制御（SBC）モードでRELOAD = 1のとき、選択されているバイト数に対して認識制御を実行できる。
• SBC = 1の場合、スレーブ･モード（TxモードとRxモード）でNBYTESカウンタが有効になる• SBC = 1を使用できるのはNOSTRETCH = 0の場合のみSBC

説明

0：リロードなし

NBYTESバイトのデータが転送され、続いてSTOPまたはRESTARTが転送される

1：リロードモード

NBYTESバイトのデータが転送された後、NBYTESがリロードされ、データ転送が再開される
転送完了リロード（TCR）フラグがセットされ、有効な場合は割込みが生成される

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

12

SMBUS13

シームレスなSMBus 3.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 を送信• 送信時にNBYTES-1バイトを送信した後に自動的にパケットエラー･コード（PEC）バイトを送信• スレーブ･バイト制御モード（SBC ビット）をスレーブ･モードにセットしてNBYTES カウンタを有効にする必要がある

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

14

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

15

説明

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

受信バッファに受信データがあり、読出し準備ができているときにセットされる

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

送信バッファが空であり、書込み準備ができているときにセットされる

STOP検出

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

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

転送完了

RELOAD = 0、AUTOEND = 0であり、NBYTESバイトのデータが転送されたときにセットされる

アドレス一致

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

NACK受信1バイト送信後にNACKを受信したときにハードウェアによりセットされる• 受信バッファ･ノットエンプティまたは送信バッファ･エンプティのときにDMAリクエストを生成できる

さまざまなイベントが割込みをトリガできます。
受信バッファノットエンプティフラグは、受信バッファに受信データがあり、読出し準備ができているときにセットされます。
送信バッファ割込みステータスは、送信バッファが空であり、書込み準備ができているときにセットされます。STOP 検出フ
ラグは、バス上で STOP コンディションが検出されたときにセットされます。
転送完了リロードフラグは、RELOAD ビットがセットされ、
NBYTES バイトのデータが転送されたときにセットされます。
転送完了フラグは、RELOAD ビットと AUTOEND ビットがクリアされ、NBYTES バイトのデータが転送されたときにセットされます。
アドレス一致フラグは、受信したスレーブアドレスが有効なス
レーブアドレスの 1 つと一致するときにセットされます。
NACK 受信フラグは、1 バイト送信後に非確認応答を受信したときにセットされます。
受信バッファノットエンプティフラグまたは送信バッファエンプ
ティフラグがセットされたときに 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 レジスタの内容と一致しないときにセットされます。タイムアウトエラーフラグは、タイムアウトまたは延長
クロックタイムアウトが検出されたときにセットされます。アラートピン検出フラグは、SMBus ホスト設定で、アラートが有効であり、SMBA ピンで立ち下がりエッジが検出されたときにセットされます。

16

低消費電力モード
モード

17

説明

RUN

アクティブ

SLEEP

アクティブ。ペリフェラル割込みによって、デバイスはSLEEPモードを終了する。

STOP

レジスタの内容は保持される。STOPからのウェイクアップがサポートされていて有効であり、
I2CのクロックがHSI16により供給されている場合、アドレス認識が動作する。I2Cアドレス一致
条件により、デバイスはSTOPモードを終了する。

STANDBY

パワーダウン。ペリフェラルは、STANDBYモードを終了した後に再初期化する必要がある。

I²C ペリフェラルは、RUN モードおよび SLEEP モードでアクティブです。STOP モードでは、レジスタの内容は保持されます。STOP からのウェイクアップがサポートされていて有効であり、I2C のクロックが HSI16 により供給されている場合、ア
ドレス認識が動作します。I2C アドレス一致条件により、デバ
イスは STOP モードを終了します。STANDBY モードとSHUTDOWN モードでは、ペリフェラルはパワーダウンされ、それらのモードを終了した後に再初期化する必要があります。

17

デバッグ情報18• DBG_I2Cx_STOP：コア停止時にI2Cx SMBUSタイムアウトカウンタは停止する

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

18

アプリケーション例

19

センサ･ハブ• SLEEPモードのI²Cマスタがセンサと通信

STM32G0

睡眠中

Cortex M0+• I²Cスレーブがアプリケーション･プロ
セッサと通信
SRAM

センサ
Flash

DMA

センサ

I²C

センサ

I²C

アプリケーションプロセッサ19

スライドに、複数の I²C ペリフェラルを必要とするセンサハブ
アプリケーションの例を示します。
1 つまたは複数の I²C マスタが外部センサとのインタフェー
スに使用されます。I²C スレーブがアプリケーションプロセッ
サとの通信に使用されます。

19

STM32G0インスタンス機能
I2C1

I2C2

7 ビット･アドレッシング･モード

XX

10 ビット･アドレッシング･モード

X

X

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

X

X

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

X

X

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

X

X

独立クロックX

STOPモードからのウェイクアップ

X

SMBus/PMBusX

I²C の機能20

X：サポートSTM32G0 マイクロコントローラには、2 つの I²C ペリフェラルが内蔵されています。独立クロック、STOP モードからのウェイク
アップ、および SMBus/PMBus をサポートしているのは I2C1 の
みです。

20

関連ペリフェラル

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

このペリフェラルに関する詳細については、次のトレーニング
も参照してください。
• システム設定コントローラ• リセットおよびクロックコントローラ• 電源コントローラ• 割込みコントローラ

21

参照

22

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

詳細については、NXP Web サイトで I²C バス仕様とユーザマニュアルを参照してください。
SMBus 仕様は、Smart Battery System implementersforum で入手できます。
PMBus 電源システム管理プロトコル仕様は、PowerManagement Bus implementers forum で入手できます。

22