2013年12月10日火曜日

Technology Selection : Inter-Integrated Circuit I2C

ソフトウェア製品を開発する場合には、図ようなプロセスで進めていきます。

トップレベルのフローです。実際は、さらに細かくブレークダウンされます。

例えば、I/Fデザインや、共通化などは、この下位レイヤーで定義されます。

各企業によって、若干の相違はありますが、大きな流れは違っていないと思います。

このTopレベルの図に現れる、アーキテクチャーは、ハードウェアだけでなく、

ソフトウェア製品を開発する場合にも

とても重要です。アーキテクチャーは、ビジネスを定義すことと、同義だからです。



このTopレベルでアーキテクチャは決定される必要があります。

それが、それ以降の機能や下位レイヤーを規定するからです。

ということで、私のロボットアーキテクチャは、いろいろ決めてきまいした。



そのアーキテクチャーに基づいた、技術選択をしてきました。しかし、今回

デバイ制御の技術選択を変更することにしました。

ロボットを構成するデバイスをI2Cバス仕様に基づいて実装する」という点です。

これに伴い、ソフトウェア設計や実装に大きな変更が発生します。

しかし、これまでいろいろ検証した結果、開発工数の大幅な削減と、実装のシンプル化が

図れることが判明したので、あえて変更をします。

I2Cバスは、フィリップスが策定したデバイス間制御のBus使用です。

これにより、9台の機器を接続することが可能となります。

I2C仕様に準拠したデバイスであれば、たとえばモータドライバーであれば、

Raspberry Piから8台を制御することができます。

これまでは、マイコンを間に置く必要がありましたが、もっとシンプルに実現できます。

これまでの、USB接続によるシリアル通信制御から、I2C制御に移行することにしました。

とはいっても、これまでの資産もありますので、徐々に移行します。

I2Cの仕様書は下記アドレスです。



ということで、私が不勉強であっために、手間が増えましたが、

シンプルな構造を目指すために、努力します。

Peace!!

0 件のコメント:

コメントを投稿