低コスト・低消費電力のカーナビ・システムを構築するためのハード&ソフト設計 ――拡張性のあるプロセッサ・ベースの開発プラットホーム作り
表1において,×印は二つのタスクが同時に実行されることはない(あるいは実行できない)ことを,○印は二つのプロセスを並行して実行できることを表しています.例えば,ユーザがまだ目的地を入力しているときに経路を計算しても意味がありません(表では×).また,本稿で紹介しているシステムでは,MP3プレーヤやオーディオ用CDプレーヤがオーディオを再生している場合,新しい目的地や経路を計算することができません(表では×).ただし,フラッシュ・メモリによってオーディオが再生されている場合は,ナビゲーション機能を使用できます(表では○).
一般に,定期的なタスクは優先順位がもっとも高く,ほぼあらゆる環境下でそのタスクを実行する必要があります.これらのタスクのスケジュールを連携させてソフトウェアを設計することで,不要な状況切り替えをなくし,CPUパワーを節減できます.例えば,新しいGPSデータが利用可能になると割り込みが発生します.これらの値を処理した後,推測航法の結果が計算できるようになります.その後,システムはカルマン・フィルタを実行させ,地図上の新しい位置を推定し,新しい地図を描画します.次にディスプレイ用のバッファが切り替えられ,運転者ガイダンスの条件がすべてテストされます.すべてのタスクは連続して実行されるため,データ駆動イベントはプリエンプティブな状況切り替えを1回だけ要求します.