ソフトウェア製品を開発する場合には、図ようなプロセスで進めていきます。
トップレベルのフローです。実際は、さらに細かくブレークダウンされます。
例えば、I/Fデザインや、共通化などは、この下位レイヤーで定義されます。
各企業によって、若干の相違はありますが、大きな流れは違っていないと思います。
このTopレベルの図に現れる、アーキテクチャーは、ハードウェアだけでなく、
ソフトウェア製品を開発する場合にも
とても重要です。アーキテクチャーは、ビジネスを定義すことと、同義だからです。
このTopレベルでアーキテクチャは決定される必要があります。
それが、それ以降の機能や下位レイヤーを規定するからです。
ということで、私のロボットアーキテクチャは、いろいろ決めてきまいした。
そのアーキテクチャーに基づいた、技術選択をしてきました。しかし、今回
デバイ制御の技術選択を変更することにしました。
「ロボットを構成するデバイスをI2Cバス仕様に基づいて実装する」という点です。
これに伴い、ソフトウェア設計や実装に大きな変更が発生します。
しかし、これまでいろいろ検証した結果、開発工数の大幅な削減と、実装のシンプル化が
図れることが判明したので、あえて変更をします。
I2Cバスは、フィリップスが策定したデバイス間制御のBus使用です。
これにより、9台の機器を接続することが可能となります。
I2C仕様に準拠したデバイスであれば、たとえばモータドライバーであれば、
Raspberry Piから8台を制御することができます。
これまでは、マイコンを間に置く必要がありましたが、もっとシンプルに実現できます。
これまでの、USB接続によるシリアル通信制御から、I2C制御に移行することにしました。
とはいっても、これまでの資産もありますので、徐々に移行します。
I2Cの仕様書は下記アドレスです。
ということで、私が不勉強であっために、手間が増えましたが、
シンプルな構造を目指すために、努力します。
Peace!!
0 件のコメント:
コメントを投稿