I3C通信

はじめに

バスを通じて多数のデバイスと通信するコントローラをお使いの場合は、I2Cについてよくご存知でしょう。(そうでなくても心配はいりません。こちらでI2Cに関する記事をご覧いただけます!)産業および消費者向けテクノロジが進歩するにつれて、以前のプロトコルに依存するモジュールは時代遅れになる恐れがあり、設計者は新しいが多くの場合限定的なハードウェアを採用するか、信頼性は高いが古くて制約のあるプロトコルを使い続けるかのいずれかを迫られます。Improved Inter Integrated Circuit(I3C)は、この問題を解決することを目的としています。

それは何ですか?

I3CはI2Cをどのようにアップグレードしたものか、何を提供するのかについて具体的に説明する前に知っておく必要があることは、I3Cには、これまで世界に存在しなかった新たなブレークスルーはないということです。つまり、Ethernetプロトコルは、長距離の高速信号伝達の役割を果たすために長い間存在してきました。CANバスは、高レベルのノイズにさらされる可能性のある堅牢なシステムにおいて、信頼性を確保するための優れた選択肢であり続けています。I3Cは、一度にすべてを行うことですべてのプロトコルを置き換えるのではなく、より簡単で信頼性が高く、拡張性のあるI2Cの役割を果たすことを目的としています。

どこで使われているのですか?

I3Cは、すでにI2Cを利用している市場では最も強力であるため、携帯電話やウェアラブル市場でより多く見られるでしょう。さらに、シンプルさと後方互換性のため、モノのインターネット(IoT)分野で存在感が高まっています。しかし、これらのアプリケーションでは、I2Cで十分機能するのに、なぜアップグレードする必要があるのか​​疑問に思うかもしれません。しかし、自己宣言だけでは改善されたと主張することはできません。そこで、I3Cが先行者よりも優れているいくつかの特性を見てみましょう。

利点

先に述べたように、I3Cは後方互換性があるため、I2Cに存在するほとんどの利点(価格を除けば)はI3Cにも存在すると考えることができます。I3CにありI2Cにないものは、ダイナミックアドレッシングです。I2Cでは、ターゲット(または周辺デバイス)のアドレスはスタティックとみなされ、マニュアルで設定しなければなりません。I3Cはダイナミックアドレッシングを採用しており、コントローラが自動的にターゲットデバイスにアドレスを割り当てることができます。プロセスの手順を省くことは魅力的ですが、真の利点はダイナミックアドレッシングの意味するところ、つまりホットジョインにあります。

I3Cにはホットジョイン機能があり、システムの実行中に周辺機器をバスにダイナミックに追加することができます。その1つとして、コントローラは、従来からマスターシップハンドオーバー(Mastership Handover)として知られている、他のコントローラが周辺機器やタスクの一部を所有できるようにすることもできます。これにより、I2C自体では実現できない複雑さと柔軟性の可能性が開かれています。

SPIよりもI2Cを優先的に使用する理由の1つは、プロトコルの動作に必要な配線数が少なくて済むことです。I3Cはそれをさらに一歩進め、すべてを同じ2本のワイヤで通信できるようにしました。インバンド割り込みでは、各デバイスが独自の割り込みラインを持つために、もはや個別の配線は必要ありません。これにより、システムの省スペース化(ウェアラブルやIoTアプリケーションでは一般的に高い価値があります)が可能になるだけでなく、I3Cのもう1つの利点である消費電力の効率化にも一役買っています。

最後に、これ以外にもI3Cの利点はありますが、I2Cよりも速度が向上していることは特筆に値します。興味深いことに、この速度の違いにより、コントローラはI3C周辺機器とI2C周辺機器を検出することができ、デバイスと別々にインターフェースすることで後方互換性を保つことができます。高速モードで動作するI2Cは最大3.4Mbpsの通信を可能にするのに対し、I3Cプロトコルは最大12.5Mbpsに達します。

まとめ

この質問をしなければなりません。もしI2Cが行えることのほとんどをI3Cがより良く行えるのであれば、I2Cを続ける理由があるのでしょうか?もちろんあります。I2Cデバイスは非常に入手しやすく標準的であり、I3Cはまだかなり新しいため、I2Cは今後もかなり長い間存続することが予想されます。入手のしやすさ(そして通常は次にコスト)を別にしても、多くのアプリケーションでI3Cに切り替えるのはやり過ぎでしょう。もしアプリケーションが電力制約を考慮する必要がなく、使用可能なスペースがあり、より高いデータレートのメリットがないのであれば、I2Cの代わりにI3Cの使用を検討する必要はないでしょう。しかし、拡張性や将来的な実装が関心事であるならば、I3Cはやはり有力な候補となるでしょう。




オリジナル・ソース(English)