メディア

I3Cって何? 特長と使い方を基礎から解説Q&Aで学ぶマイコン講座(113)(2/4 ページ)

» 2026年03月25日 10時00分 公開
解説します

MIPI I3C策定の背景

 MIPI I3Cは、標準化団体MIPI Allianceによって策定された、ペリフェラルをアプリケーションプロセッサに接続するための拡張性の高い次世代シリアルバスです。2016年にリリースされ、2026年3月時点ではV1.2までリリースされています(ただし、STM32H5シリーズはv1.1に対応)

 近年、モバイル機器に使われるセンサーが急激に増加することに伴い通信データ量も著しく増加し、従来方式のI2Cでは処理しきれなくなってきました。そのため、I2Cの限界を克服するために策定されたのがI3Cです。I2Cと同じ2線式通信で、SCL/SDAだけで実装されるので、ピン数を最小限に抑える仕様になっています。

 I3Cの読み方は「アイ・スリー・シー」です。3は上付き文字にはなりません。ロイヤリティー(使用料)は無料です。そして、I3Cでは、I2Cのマスターをコントローラー、スレーブをターゲットと呼びます。

 まとめると、I3CはI2CとSPIの主要な特性を組み合わせた柔軟で、高性能かつ低消費電力の上位通信インタフェースと言えます。

I3Cの主な特長

 前述した「優れた柔軟性」をもう少し詳しく説明すると、次の通りです。

  1. 高速データレート:最大12.5MHzのバスクロック周波数(STM32H5シリーズの場合)
  2. 高電力効率:Push Pull式なのでOpen Drain式よりも高電力効率
  3. I2C互換:I2Cとしても使用可能
  4. 動的アドレス割り当て:ハードウェアでの設定は必要無し。各周辺デバイスの初期化時にアドレスを割り当てる
  5. ホットジョインメカニズム:通電時の抜き差しにも対応可能
  6. インバンド割り込み:各周辺デバイスからコントローラー(I2Cではマスター)への割り込み要求は、バス線で行う
  7. コマンドセット:CCC(Common Command Codes)方式

 次の章から、ポイントとなる概要を解説します。各機能の詳細および具体的な使い方については、各製品のマニュアルを参照してください。

動的アドレス割り当て

 I3Cでは、バス接続されたターゲットにコントローラーがアドレスを割り当てることができます。これを、動的アドレス割り当て(DAA:Dynamic Address Assignment)と呼びます。動的アドレス割り当てによってシステムの柔軟性と効率を高めることができます。

 動的アドレス割り当ては、初期化シーケンスで行われ、アドレスが割り当てられたターゲットは、I3Cバスに参加することができます。

 I3Cの持つコマンドセットCCCを使って、動的アドレスを割り当てます。CCCについては後述します。

 使用するCCCは、SETDASA(Set Dynamic Address from Static Address)または、ENTDAA(Enter Dynamic Address Assignment)です。

 SETDASAの場合は、最初にI2C用の静的アドレスを使ってアクセスし、その後に動的アドレスを割り当てます。

 ENTDAAを使う場合は、順番にターゲットに動的アドレスを割り当てていきます。コントローラーがENTDAAを発行して、動的アドレス割り当てを開始します。そして、Repeated Startを発行し、バスの調停に勝ったターゲットが、動的アドレスを得てACKを返します。コントローラーは再びRepeated Startを発行し、次にバスの調停に勝ったターゲットが、動的アドレスを得ます。と、言うように順番にターゲットに動的アドレスを割り当てます。いったん、アドレスが割り当てられたターゲットデバイスは、ENTDAAを認識しません。従って、Repeated Startを繰り返して、ACKが返ってこなければ、終了です。

Copyright © ITmedia, Inc. All Rights Reserved.

特別協賛PR
スポンサーからのお知らせPR
Pickup ContentsPR
Special SitePR
あなたにおすすめの記事PR

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.