開発のヒント

周辺機能、I/O、メモリ

STM32H5シリーズの新機能I3Cのご紹介

STM32H5シリーズから新たに導入された機能、I3Cについて簡単に説明します。
I3Cとは、MIPI Allianceが策定した、従来のI2Cシリアル・インタフェースに変わる新しいシリアル通信インタフェース規格です。

画像1現在、STM32ファミリのほとんどのマイコンにI2Cと呼ばれる2線式シリアル・インタフェースが搭載されています。I2Cは、マイコンと様々なセンサ間など、比較的低速で済む周辺回路との通信インタフェースとして広く用いられてきました。I3Cは、I2Cとの互換性を保ちながら、速度が遅い・設定が面倒などの点が改良されています。

I3CのバスはI2Cと同じく、クロック線SCLとデータ線SDAの2線式となり、そこに様々なデバイスが接続されます。サポートされるデバイスには、I3Cプライマリ・コントローラ、I3Cターゲット、I3Cセカンダリ・コントローラ、I2Cターゲットなどがあります。

I2Cでマスタと呼ばれていたポジションに相当するデバイスがI3Cプライマリ・コントローラで、バスの初期化や通信における主導的役割を担います。また、I2Cのスレーブに相当するデバイスがターゲットで、バス上に複数存在することができます。I3Cの規格に準拠したターゲットをI3Cターゲットと呼び、従来のI2Cスレーブ・デバイスをI2Cターゲットと呼びます。

I3Cセカンダリ・コントローラは、通常はI3Cターゲットとして動作しますが、バスにリクエストを上げることにより役割を切替え、コントローラとしても動作することができるデバイスです。

バス上のすべてのデバイスをコントロールするために、Common Command Code(CCC)というコマンドが採用されており、コントローラとターゲットの間で、CCCコマンドをやり取りすることにより、I2Cでは実現できなかった様々な制御ができるようになりました。

通信速度は最大で12.5MHzに対応し、中程度の速度のSPIに相当します。I2Cではハイスピード・モードでも3.4Mbpsだったため、かなりスピードアップしています。

I3C規格の詳細はI3Cの規格書を、STM32H5シリーズのI3Cの機能・仕様についてはリファレンス・マニュアルとデータシートをご参照ください。

過去の開発のヒントはこちら