車載マルチメディア・ネットワーク「MOST」の設計ノウハウ ──ロバスト性の高いシステムを構築するためのハード/ソフト開発術
3.ソフトウェア開発の留意点
NICを使用してMOSTシステムを構築する場合,「ネットサービス」というソフトウェアが必要です.現在,ネットサービスはマイクロコントローラ上で動作するソフトウェアとして実装されています.しかし将来は,その機能のほとんどの部分がNICに組み込まれることでしょう.そして,マイクロコントローラは装置本来のアプリケーション・プログラムの実行に専念できるようになるでしょう.
以下,MOSTシステムのアプリケーション・プログラムを作る際に,どのような点に気をつけるべきかについて述べることにします.
●一つの装置を複数のファンクション・ブロックで構成
MOSTの仕様では,装置のアプリケーション・プログラムをどのように設計しなければならないかというところまで規定されています.図7に示すように,MOSTインターフェースを持つ装置は,機能ごとにファンクション・ブロックという単位に分けられます.
例えば,オーディオ・ヘッド・ユニットにCDプレーヤ,アンプ,AM/FMチューナの機能があれば,一つのネット・ブロック(ファンクション・ブロックの一つ)と,「CDプレーヤ」,「アンプ」,「AM/FMチューナ」という三つのファンクション・ブロック(これらは特に「アプリケーション・ファンクション・ブロック」と呼ばれる)に分けられます.
また,そのファンクション・ブロックはさらに複数のファンクションで構成されます.例えばCDプレーヤの場合,「プレイ」,「ストップ」,「イジェクト」などは,それぞれ別のファンクションとして定義されます.システムの中のすべてのファンクションは,DeviceID(ノード・アドレス),FBlockID(ファンクション・ブロックID),InstID(インスタンスID)注,FkID(ファンクションID)によって指定することができます.
注;InstIDは,複数の同じファンクション・ブロックがシステム内にある場合に,ターゲットとなるファンクション・ブロックがどのファンクション・ブロックであるかを区別するために使用される.例えば,システム内にCDプレーヤが2台接続されている場合,この2台は「CDプレーヤ」という同じ種類のファンクション・ブロックを持つことになるため,2台のうちのどちらか一方を選択的にアドレスするためにInstIDが使われる.InstIDは通常0x01から順番に割り振られる.
〔図7〕 MOST装置のブロック図
MOST装置の内部は,ファンクション・ブロックと呼ばれる機能ブロックに分けられる.それぞれのファンクション・ブロックは,内部に複数のファンクションを持つ.MOSTインターフェースを持つ装置は必ず一つのネット・ブロックと呼ばれるファンクション・ブロックと,一つ以上のアプリケーション・ファンクション・ブロックを持つことになっている.ネット・ブロックは,MOSTネットワークを通した装置どうしのコミュニケーションを助ける機能を提供する.