ポストPC時代のキーワード「エンベデッド」のすべて ――転換点はカー・ナビゲーション・システム

今村義幸

tag: 組み込み

技術解説 2001年5月17日

4.カーナビに見る組み込みシステム設計のポイント

 カーナビに必要とされる機能を列挙してみると,自動車の走行中に実にさまざまなことを処理しながら,ドライバに情報を提供している.これらの処理を列挙してみると,だいたい表2のようになる.

 このなかで,「目的地までの最適ルートの算出」は非常にCPUパワーを消費する演算である.カーナビは,重たい演算処理をたびたび行いながら,その他の入力情報の処理や結果の表示を,つねに並行処理で行っているわけである.車載で利用されるカーナビは,動作環境が苛酷である.だからといって,処理がもたつき方向指示などが遅れると,ドライバに負担をかけるばかりか,大きな事故につながりかねない.こうした並行処理をリアルタイムに実現するために,高性能なRISC CPUを搭載して十分なCPUパワーをもたせるだけでなく,ソフトウェアの組み方にも工夫をしている.実際,CPUを2個搭載している製品も珍しくない.

 一般的なソフトウェアはシーケンシャルに処理を実行していくのに対し,カーナビなどのアプリケーションはその処理をマルチタスク化している.さまざまな処理を並列的に進めていくためには,マルチタスク化したほうが有利な場合が断然多い.

〔表2〕カーナビに必要な機能

入力処理 (1)GPSからの位置情報
(2)ジャイロスコープからの位置補正情報
(3)VICSからの渋滞情報
(4)車速情報
(5)CD-ROMあるいはDVD-ROMからの地図情報
演算処理 目的地までの最適ルートの算出
出力処理 (1)地図表示
(2)位置表示
(3)ルート表示
(4)方向指示の音声出力

●シーケンシャル処理とマルチタスク処理の違い

 シーケンシャル・プログラムとマルチタスク・プログラムでは,構造的にどのように違うのであろうか.シーケンシャル・プログラムは,一つのプログラムがつねにぐるぐると回っており,一つのプログラムとして構成されている.これに対し,マルチタスク・プログラムは,プログラムをタスク(スレッドともいう)に分割しているところ(マルチタスク化という)がもっとも違う部分である.

 マルチタスク化されたプログラムでは,各タスクをどのような順番で実行するかを決めるスケジューリングを行う必要がでてくる.OSが行う,もっとも重要な処理はこのスケジューリングである.用途によって,スケジューリング方式は変わってくる.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日