組み込みシステムを理解する ―― マイコンとソフトウェアを活用してディジタル機器を設計する理由
tag: 組み込み ディジタル・デザイン
技術解説 2010年1月15日
3. マイクロプロセッサを活用する利点
特定の動作をするシステムを構成する場合,マイクロプロセッサを使わずに,論理回路やアナログ回路だけで実現することも可能です.しかし近年のシステムのほとんどでマイクロプロセッサが使われています.
組み込みシステムが注目を集めている理由の一つとして,マイクロプロセッサが広く活用されるようになったことがあげられます.これは,機器の開発においてマイクロプロセッサを利用することに,利点があることを意味しています.
● 開発効率が上がる
ある機能をマイクロプロセッサを使わずに実現する場合を考えます.半導体製造技術の進歩により,1000万ゲートを超えるような大規模な回路でもASICやFPGAで実現可能になっています.
ASICやFPGAの開発でも,ソフトウェアのように設計言語が用いられています.開発フローだけを見れば,ソフトウェアと似ています.
しかし,現在主流のハードウェア記述言語は,ソフトウェア記述向けの言語と比べて低い抽象度で設計する必要があります.このため,同じ処理を実現するためには,より多くの思考を行い,記述する必要があります.
さらに,ハードウェアの検証には多くの時間を要します.開発期間の半分以上は検証に費やされるのが現実です.検証手法として一般的なシミュレーションでは,設計の抽象度が低くなれば多くの時間を要するのが普通です.マイクロプロセッサも論理回路の一種ですが,内部の回路は検証済みとして考えることができます.
● 開発時の仕様の変更に柔軟に対応できる
早期の市場投入が求められる製品では,製品の仕様が決まる前に開発に着手しなければならない場合があります.また,機器としての価値を高めるなどの理由で,開発の途中で仕様が変更になることもあります.
マイクロプロセッサを使用していれば,ソフトウェアの一部を書き換えることでアルゴリズムや機能の変更が可能になります.また,設計の初期段階で,不完全ながら動作するシステムを試作して,アルゴリズムの検討や機能の評価を実施することも可能になります.
● 出荷後でも機能のアップグレードができる
マイコンを使っていれば新たな機能の追加もソフトウェアだけで対応できる場合があります(図4).
図4 機能のアップグレード
ROMを用いた従来のシステムでは,機能のアップグレードはROMの交換が必要だった.最近では,フラッシュ・メモリが広く使われるようになり,出荷後でもソフトウェアの交換ができるようになった.
最近の組み込みシステムの中には,アップデート機能が搭載されているものも珍しくありません.ネットワークに接続される機器であれば,開発メーカの用意するWebサイトに自動的にアクセスし,更新を行うことがあります.ネットワークに接続されていない機器であっても,開発メーカのWebサイトを介して,更新の仕方や更新用のファイルを公開していることがあります.
一昔前の組み込みシステムでも,機能のアップグレードが実施されることがありました.ただし,開発メーカのスタッフが,ソフトウェアが書き込まれているROMを交換するといった作業が必要でした.
● 不具合の修正に柔軟に対応できる
本来あってはならないことですが,万が一,出荷後にシステムに不具合が見つかった場合にも,ソフトウェアであれば修正が可能になります.
一般に,出荷後のハードウェアの修正は困難です.ボードごと交換するしかありません.しかし,ソフトウェアで修正可能な問題であれば,機能のアップデートと同様に変更が可能になります.
ハードウェア側に問題があっても,ソフトウェアでカバー可能な場合があります.例えば,読み込んだデータがハードウェアの不具合で正しくなかったとします.これをソフトウェアによる演算処理で補正することで,システムとしては正しく動作するように修正することが可能です(図5).
図5 ソフトウェアによる不具合の修正
ハードウェアによる入力回路に不具合があり,正しい値より+1だけ大きい値になってしまう場合を考える.ソフトウェアによる演算処理部において,入力値をあらかじめ-1してから本来の演算を行うように修正することでハードウェアの変更なしに不具合をなくすことが可能になる.