組み込みシステムは、「家電製品や通信機器に搭載されているコンピュータシステム」です。パソコンと違い、汎用性がない代わりに特定の機能に特化し、生産コストの削減や機能の品質向上を実現します。
本記事では、組み込みシステムの特徴や仕組みを詳しくまとめています。開発会社に依頼する際のポイントも解説しているので、参考にしてください。
組み込みシステムとは
組込みシステムとは、「テレビやスマートフォンをはじめ、下記にある様々な電化製品に搭載されているコンピュータシステム」です。
- 電子レンジ・炊飯器・冷蔵庫等の家電機器
- テレビ・ビデオ等のAV機器
- カラオケ・パチンコ等の娯楽機器
- プリンタ・スキャナ等のパソコン周辺機器
- 自動車・信号機等の運輸機器
- 携帯電話・スマートフォン等の通信機器
- 血圧計・心電計・レントゲン等の医療機器
コンピュータシステムといっても、パソコンのようにソフトウェアやアプリケーションソフトをインストールして使用するものではありません。
ほとんどの場合は、各電化製品の用途に特化したシステムを指します。例えば、「洗濯機なら洗濯と乾燥に特化した機能を組み込む」という具合です。
システム開発との違い
組み込みシステムは、一般的なシステム開発と異なります。プログラムによって動作する点においては、パソコンやサーバーなどのシステム開発と同じです。しかし、「システム開発はコンピュータが主役である一方、組み込みシステムの主役は機器」です。
例えば、デジタルカメラの場合、「距離・明るさ・シャッタースピード」などからデータを収集(計算)して、最適な手段で撮影されます。このシステムは、データの収集(計算)がメインではなく、あくまで撮影が主役です。
つまり、組み込みシステムはコンピュータによる計算を目的として作られたものではなく、機器を最適に動かすために作られています。
パソコンやサーバーなどの情報処理を目的としたシステム開発とは異なるので、違いを理解しておくと良いでしょう。
組み込みソフトウェアとの違い
組み込みシステムは、特定の機器を提供するためにコンピューターシステムが搭載された機器全般のことです。その組み込みシステムにあるソフトウェアが、「組み込みソフトウェア」と呼ばれます。
一般的な組み込みソフトウェアの構造は、OS(オペレーティングシステム)とミドルウェア)にアプリケーションを搭載しています。しかし、機能面や開発コスト・保守性の関係でアプリケーションのみで動作させる組み込みソフトウェアも多数あります。
そのため、組み込みシステムに特化したOSとして良く用いられるのが、以下の「RTOS(リアルタイムオペレーティングシステム)です。RTOSは、処理に要する時間予測や複数ある処理要求の優先度を決定するシステムが組み込まれています。
- μiTron
- T-Kernel
- VxWorks
組み込みシステムの特徴
組込みシステムの特徴は、主に以下の6つです。
- 特定のシステムに専用化している
- 精度の高い信頼性が求められる
- リアルタイム性を満たす必要がある
- 生産コストの削減
- 特定機能の品質向上
- 省電力の性能が優れている
特定のシステムに専用化している
組み込みシステムは、「特定のシステムに専用化されたコンピュータシステム」です。専用化されたシステムは、汎用性がない代わりに機械や機器を最適に設計しているといった特性があります。
簡単に言うと、「色々なシステムを組み込まない分、必要な機能の質を向上できる」ということです。専用化されたシステムの場合、頻繁に使う機能やプログラムを高速化・最適化できます。
精度の高い信頼性が求められる
機械や機器を制御する組み込みシステムは、精度の高い信頼性が求められます。製造設備や自動車の制御に用いられることもあるため、「誤動作が人命にかかわる可能性」があります。また、身近な家電製品でも誤動作による重大な事態は否定できません。
大量生産される機器はシステムに問題があると、販売した製品を回収(リコール)・修正する必要があります。リコールは高いコストがかかる上、メーカーの信頼を大きく損なうかもしれません。
取り返しのつかないリスクを回避するために、徹底的なシステムの検証が必要です。
リアルタイム性を満たす必要がある
機械や機器を制御する組み込みシステムは、「要求された期限までに処理が実行できるリアルタイム性」が求められます。リアルタイム性は、単純に計算処理速度が速い、レスポンス時間が短いという意味ではないので、理解しておきましょう。
要求される時間要件は機器によって異なり、大きく2種類に分かれます。
種類 | 特徴 | 用途・機器 |
---|---|---|
ハードリアルタイム | 定められた期限内に確実に処理を完了する | 自動車のエンジン機能・エアバッグ機能航空機の航法システムカメラのシャッター など |
ソフトリアルタイム | 利用者が許容できる範囲で処理が完了すればよいリトライ(やり直し)によって機能が修復できる | 銀行のATM自動販売機座席予約システム画像・音声の転送 など |
ハードリアルタイムが用いられる機器は、期限内に処理が完了しないと致命的な事故や取り返しのつかない結果になるリスクがあります。
ソフトリアルタイムは、期限の即時性が守られない場合でも大きな事故・損失にならず、やり直しが利く機器に用いられます。
生産コストの削減
組み込みシステムを用いた機器は機能を限定する分、生産コストが抑えられます。大量生産する機器に組み込まれるシステムなら、部品ひとつの費用が抑えられれば全体で大きなコストダウンになります。
例えば、スマートフォンのように1つの機種を100万台以上生産するケースの場合、「100円安い組み込みシステムを使用すれば全体で1億円以上のコストダウンになる」ということです。
特定機能の品質向上
組み込みシステムは、特定機能の品質を向上できます。特定の要件定義に合わせて生産し、「必要な機能にのみ費用や時間を注げる」ためです。
特定の要件定義に注力した組み込みシステムは、機能が高品質になる他にも、機器の低コスト化やコンパクト化も実現できます。
省電力の性能が優れている
省電力の性能が優れている点も、組み込みシステムの大きな特性です。例えば、「スマートフォンに用いられているCPU(Armなど)は、パソコンのIntel系CPUよりも低消費電力」です。
組み込みシステムの省電力化は、スマートフォンやタブレット端末を代表とする内蔵電池の小型化や電池交換にかかるコスト削減のため、重要視されるようになりました。
このような背景もあり、省電力の組み込みシステムが開発されています。
組み込みシステムの仕組み
組み込みシステムは、「ソフトウェアとハードウェアで構成」されます。
構成 | 詳細 |
---|---|
ソフトウェア | OSアプリケーションミドルウェア など |
ハードウェア | ボードCPU入出力デバイスモータセンサ など |
ソフトウェアの機能は、主にコンピュータシステムの制御です。アプリケーションからハードウェアを制御する仕組みを提供します。
ハードウェアは、基盤の上にCPUや入出力デバイスなどのコンピュータ部品を配置して、組み込みシステムを制御します。
組み込みシステムの設計例
組み込みシステムは、下記の流れで設計されます。
工程 | 詳細 | |
---|---|---|
1 | 機能設計 | 市場重視(ニーズ指向)の要求仕様をまとめる実現可能性を考慮して設計する(シーズ指向) |
2 | 実現性チェック | 機能設計の要件を実現するためのソフトウェアとハードウェアを選定 |
3 | 性能評価 | 評価用のコンピュータシステムでCPUや入出力の性能評価をする |
4 | 品質の作り込み | 検証仕様を作成する工程の準備標準規格に準拠する計画の策定 |
組み込みシステムの設計は、高い信頼性やコスト制約、消費電力などの製品要求を満たさなくてはなりません。
そのため、要求仕様から機能設計を導き出して、最適なソフトウェアやハードウェア部品の選定が重要といえます。
組み込みシステムを委託する開発会社の選び方
組み込みシステムを委託する際には、下記のポイントを押さえて開発会社を選んでください。
- 依頼する領域に特化しているか
- 技術者が確保されているか
依頼する領域に特化しているか
委託する開発会社が、依頼したい領域に特化しているかを確認してください。「自社で製作したい組み込みシステムの開発を得意とする会社の方が、高品質である可能性が高く」なります。
依頼するシステムが開発会社の得意分野とマッチしていると、業界や競合の理解が深く、開発の意図を汲み取ってもらいやすいというメリットもあります。
そのため、依頼する前に得意分野と開発実績を確認しましょう。実績は数よりも内容を見ることが大切です。依頼する領域と同じ、もしくは同種の開発実績があると望ましいです。
技術者が確保されているか
高品質な組み込みシステムを開発するには、「ソフトウェアとハードウェアの知識・スキルを持った技術者が必要」です。高いスキルを持った技術者に依頼できるか確認しましょう。
例えば、下記に挙げた資格保有者であればスキルの高い技術者といえます。
組み込みシステム開発をはじめとする、技術者としての知識・スキルを証明する資格です。技術者に依頼する際の判断基準にしてください。
まとめ
組み込みシステムなら必要な機能に特化したシステムを構築できるので、「高品質かつコストを抑えた機器を生産」できます。
一方、取り返しのつかない事故やトラブルを回避するために、精度の高い信頼性やリアルタイム性が求められます。
そのため、企業の信頼を下げないために、質の高い組み込みシステムを作ることが重要です。
制作を委託する際には、開発会社の得意分野や実績を確認してください。依頼する領域とマッチする開発会社に委託すれば、要件に沿ったシステムを開発してくれるはずです。