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では、バス接続されたターゲットにコントローラーがアドレスを割り当てることができます。これを、動的アドレス割り当て(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.
記事ランキング