組み込みシステム開発とは?
基礎知識から最新の開発動向までを解説

更新:2023.12.21
著者:Sky株式会社


組み込みシステムは、家電をはじめとする多くの製品に用いられています。近年、さまざまなものがインターネットとつながることで、そのシステムは複雑化するとともに、開発需要も高まっています。この記事では、組み込みシステムの基礎知識や開発の流れをはじめ、最新の技術動向などについて解説。さらにSky株式会社が携わる組み込みシステム開発についてもご紹介します。

組み込みシステムとは?

組み込みシステムとは、家電製品や産業機器などに組み込まれ、特定の機能を実現するためのコンピューターシステムを指します。また、組み込みシステムが搭載される機器を組み込み機器と呼び、その代表例として電子レンジ、冷蔵庫、炊飯器といった家電製品が挙げられます。

組み込みシステムは、センサーなどの「入力装置」、マイコン(マイクロコンピューター)と呼ばれる「制御装置」、モーターやスピーカーなどの「出力装置」とそれらをつなぐ電子回路で構成されます。その中で、制御装置を動かすためのプログラムを「組み込みソフトウェア」といいます。つまり、組み込みシステムはソフトウェアとハードウェアを組み合わせたものです。

組み込み機器の代表的なもの

組込機器の代表的なものとして家電製品を挙げましたが、そのほかにも、プリンター、スキャナーなどのPC周辺機器、血圧計、心電計などの医療機器などにも組み込みシステムが搭載されています。つまり、私たちの身の回りにはさまざまな組み込み機器が存在しているのです。

組み込みシステムの動作について、洗濯機を例に考えてみると、特定のボタンを押すことで「洗濯機に水を入れる」「ドラムを回転させて衣類を洗う」などの動作が開始されます。一方、汎用システムと呼ばれるシステムもあります。その代表的なものがPCです。特定の機能を実現することに特化した組み込みシステムに対して、PCはアプリケーションをインストールすることでさまざまな機能を持つことができ、柔軟性があります。

組み込みシステム開発の特徴とは?

組み込みシステム開発では、開発環境と実行環境が異なります。ソフトウェアの開発はPC上で行いますが、動作を検証するにはソフトウェアを組み込み機器に移設し、機器上で行わなければなりません。ソフトウェアによって機器の動作を制御する必要があるため、開発者にはハードウェアに関する知識も求められます。

そして、コストの制約もあります。PCのような汎用システムの場合は、さまざまな用途に対応するため、あらかじめ性能の高いハードウェアを搭載することが一般的です。自動車や航空機などの場合、高い信頼性が求められるため高性能なハードウェアを採用することもありますが、特定用途に特化した組み込みシステムでは、基本的にコストを意識しながら目的を実現するために必要となる最低限のもので開発することが求められます。

組み込みシステム開発の基本的な流れ

組み込みシステム開発の基本的な流れとそれぞれの工程についてご紹介します。

要求分析・要件定義

まずはシステムの目的を明確にした上で、搭載すべき機能などを洗い出します。そのほかにも、予算やスケジュール、用いられる技術、必要な人員などを決めます。組み込みシステムの場合、PCのソフトウェアなどと異なり、リリース後にバージョンアップして機能追加することが難しいものが多いため、この段階で、漏れなく念入りに機能の抽出を行うことが重要です。

システムの設計・開発

要件定義で定めたソフトウェアの仕様を、どのように実現していくか具体化する「基本設計」を行い、機能一覧やネットワーク構成図、データ構造の設計図などを作成します。ソフトウェアの基本設計では、ハードウェアの仕様に合わせて設計することがポイントです。例えば炊飯器の場合、ハードウェアの仕様で決められた以上の電力を出力しようとすると米が焦げてしまうなど、ハードウェアに合わないプログラムを書くと手戻りが大きくなることもあります。

次に、基本設計を基にエンジニアがプログラミングできるように細かい設計を行う「詳細設計」を行い、開発工程(実装作業)に入ります。

ソフトウェアテスト

開発工程が終わったら、ソフトウェアが設計どおりに動作するかテストを行います。テストは、主に次の4つのステップに分けて実施するのが一般的です。

単体テスト

単体テストは、プログラム作成後に最初に行うテストで、モジュールやコンポーネントと呼ばれる比較的小単位で行い、各モジュールが詳細設計で定めた仕様どおりに動くかどうかを確認します。例えば、仕様に定められていないデータを入力しても異常動作がないか、条件分岐などの論理条件が網羅されているかなどといった工程で不具合(バグ)を洗い出します。

結合テスト

結合テストは、単体テストを終えたモジュール同士を組み合わせて、実際の動作に近い状態でソフトウェアの機能テストを行い、基本設計で定めた意図どおりの動作や挙動になっているかを確認します。

システムテスト

システムテスト(総合テスト)は、システム開発側で行う最後のテストで、ソフトウェアだけではなくハードウェアとも組み合わせてテストを実施し、ハードウェアの制御、通信なども含めてシステム全体が基本設計どおりに動作するかどうかを検証します。

受け入れテスト

受け入れテストは、実際に組み込み機器を使用する環境条件でシステム要件定義どおりに動作するかどうかを検証します。このテストで不具合が見つかった場合、その原因をハードウェアとソフトウェアに切り分けて検証し、再度修正します。

組み込みシステム開発の動向

近年、モノがインターネットにつながる「IoT」が、家電をはじめとするさまざまな組み込み機器に普及しています。こうしたIoT製品は、組み込みシステムと深い関わりがあります。IoT製品と組み込みシステムとの関連やIoT製品の普及に伴う組み込みシステム開発の技術動向についてご紹介します。

IoTの普及によって組み込みシステム開発に求められる技術

IoTとは「すべてのモノがインターネットにつながる」こと、またはその技術です。インターネットにつながることで、例えば離れた場所の状況を把握する、遠隔でデバイス(モノ)を操作する、臨機応変にデバイスを稼働させるといったことが可能になります。このとき、デバイスを制御するために組み込みシステムが活用されています。こうしたIoTの普及により、組み込みシステムの開発技術も複雑化し、求められるスキルの幅も広がっています。

センサーに関わる技術

IoT製品では、インターネットにつながるデバイスに、センサーを搭載してデータ収集を行います。組み込みシステムは、センサーが収集したデータを解析して次のアクションにつなげる役割を担います。必要なセンサーはデバイスによって異なるため、開発者はセンサーの種類や仕組み、また接続方法などのハードウェアに関する知識が必要になります。

IoTに必要なセンサーには、主に次のようなものがあります。

  • GPS:衛星の信号を用いて物体の位置情報を測定する
  • 光センサー:光の強さや反射率などを測定する
  • イメージセンサー:光を電気信号に変えて画像を生成する
  • 加速度センサー:物体の振動や運動における加速度などを測定する
  • 音センサー:音圧による振動を検知し、音の大きさなどを測定する
  • 温度センサー:物体や空間の温度を計測する

これらのほか、圧力センサーやジャイロセンサー、距離センサー、流量センサーなど多種多様なセンサーが用いられています。

ネットワークに関わる技術

IoT製品の組み込みシステムでは、デバイスを直接インターネットにつないだり、コンピューターやスマートフォンを経由してインターネットに接続させたりします。そのため、ネットワークに関する知識は必要不可欠です。効率良くデータの送受信ができる環境を構築できるよう、Wi-Fi、モバイル通信、Bluetoothなどの通信プロトコルやネットワーク規格、通信方法などについての理解や設計技術が必要です。

また、クラウドに関する技術も非常に重要です。デバイスから収集したデータをクラウド上で解析した上で、ユーザーに最適な情報を提供するIoT製品は今後さらに普及していくことが想定されます。このため、クラウドへの理解やデータのセキュアな送受信方法などの知識も重要になります。

デバイス操作に関わる技術

IoT製品は取得したデータを活用し、リアルタイムにデバイスを制御することで、より質の高いサービスを実現できます。スマートフォンのアプリなどを使ってデバイスを遠隔操作するといった機能を持つ製品も多く、デバイスを正しく制御するための技術が必要です。

AIとの関わり

組み込みシステムにAI(人工知能)技術を活用することで、センサーによって収集したさまざまなデータを解析することができます。例えば、店内カメラで撮影した映像をAIを用いて画像解析し、来店者数を計測するようなシステムの場合、サーバーで解析を行うために一定以上の解像度の映像データを送信する必要があります。しかし、カメラ(エッジデバイス)内にAIを組み込めば、時間や人数などのテキスト化したデータのみをサーバーに送信するだけでよく、通信負荷は大幅に低減できます。

そして収集した膨大なデータ(ビッグデータ)を分析して学習し、状況に応じて最適な意思決定を行うなど精度の向上を図ることも可能で、デバイスが環境やユーザーの行動に合わせて臨機応変に適応できるようになります。

セキュリティに関する技術

IoTの組み込みシステムでは、さまざまなデバイスをインターネットにつなげるため、あらゆるデバイスが悪意のある者に狙われやすくなる危険性もあります。そのため、今まで単体で動作する組み込み機器には必要がなかった、収集データやプログラムなどの情報漏洩の防止、制御の乗っ取り防止などのセキュリティ対策技術も重要になります。

自動車のIoT化

現在の自動車には、ECU(Electronic Control Unit)と呼ばれる電子制御コンピューターが多数搭載されています。これを用いることで、車間距離を一定に保つ機能や、障害物にぶつかりそうになると自動で停止する自動ブレーキを実現しています。つまり、自動車においても組み込みソフトウェアの重要性が増しています。

さらにこれから、自動運転技術も発展していきます。自動運転は、車に搭載したセンサーとAIの技術によるものです。車に搭載したカメラで撮影した映像やジャイロセンサー、加速度センサーなどをAIを用いて解析して自車および周辺状況を認知した上で制御します。

また、各種センサーが収集した走行状況や位置情報などのデータをサーバーに送信し、AIを用いてビッグデータを分析。その分析結果を自動車に送ることで、その時々の状況に適した安全な運転が実現します。さらに、渋滞や工事中の道路状況をリアルタイムで把握して、渋滞の緩和や事故のない安全走行につながることが期待されています。

一方で、サイバー攻撃により突然ブレーキがかかるといった事故のリスク、セキュリティの脆弱性によるリコールなどを懸念する声もあります。しかし、それらの課題に対応して、近い将来に自動運転はより身近な技術となると考えられています。

プラットフォームの共通化

冒頭にご紹介したとおり、組み込みシステムはそもそも、特定の機能を実現するためのコンピューターシステムです。しかしIoTの普及などにより、組み込みシステムがより多機能になることが求められています。そこで課題となるのがコストです。

そのために、考え出されたのがプラットフォームの共通化です。近年では、組み込みシステムにLinuxやAndroid、Windows Embeddedといった、コンピューター用のオペレーションシステム(OS)がプラットフォームとして採用されるようになりました。これにより、より複雑なシステム構築が可能になりました。

組み込みシステム開発ならSky株式会社

Sky株式会社は、創業時より組み込み / 制御システム開発を強みとし、幅広い開発実績を有しています。その実績についてご紹介します。

Sky株式会社が携わる組み込みシステム開発の領域

Sky株式会社では、創業時から組み込みシステムの受託開発を手掛けており、主に次のような領域で開発に取り組んでいます。

  • カーエレクトロニクス開発
  • モバイル開発
  • デジタル複合機開発
  • デジタルカメラ開発

これらのほかにも、IoTに関する開発をはじめ、医療機器、社会インフラなど、幅広い領域で開発実績を有しています。特にカーエレクトロニクスの分野では、1990年代にカーナビゲーションシステムの開発からスタートして以来、車載ECUに関しては15年以上の歴史があり、多数の国内自動車部品メーカーとの取引実績があります。

車載システムで注目されるモデルベース開発にも対応

車載システムは、多くのECUが用いられるなど大規模かつ複雑化しています。このようなシステムを効率良く開発する手法として注目されているのが「モデルベース開発(MBD)」です。モデルベース開発は以下の図のようなプロセスで行われます。

モデルベース開発のプロセス

従来型の組み込みシステム開発では、評価段階で不具合が見つかると、設計段階まで戻って修正する必要があり、開発期間の圧迫やコスト増の原因になりやすいという課題がありました。一方、モデルベース開発では、制御モデル設計、実装モデル設計の各設計フェーズの中で、動作シミュレーションを実施して動作確認することで、設計に関する問題を早期検出し、対策を打つことが可能です。Sky株式会社では、開発を効率化するこの手法を用いた実績を多数有しています。

高い品質を保証

Sky株式会社は30年以上にわたり、カーナビゲーションや各種ECUの開発に携わっています。各分野において要件定義から評価まで一貫した開発実績があるだけでなく、車載開発標準プロセス(ISO 26262やAutomotive SPICE)を整備し、プロジェクトの運用期間中は第三者組織(SQA)による監査体制も整えていることで、高い品質を保証しています。

まとめ

ここまで、組み込みシステムとは? という基礎的な情報から、車載システムを中心とするSky株式会社の組み込みシステム開発の実績などについてご紹介しました。近年のAIやIoTの普及に伴い、これから組み込みシステム開発の需要はますます高まっていくことが予想されます。

創業時より組み込み / 制御システム開発を強みとしてきたSky株式会社では、さまざまな技術領域において、豊富な経験を持つエンジニアが多数在籍。提案からアフターサポートまでを一貫して担える体制を整えています。今後も業界の特性や導入の目的に応じたソリューションをご用意し、あらゆるニーズにお応えいたします。

著者 Sky株式会社

Sky株式会社は、家電のシステム開発を手掛けたのをきっかけに、デジタル複合機やカーエレクトロニクス、モバイル、情報家電、さらに自社商品として教育分野における学習活動ソフトウェアや、公共・民間向けクライアント運用管理ソフトウェアなど、幅広い分野でのシステム開発を展開しております。

お問い合わせ

ソフトウェア開発・評価/検証(ソフトウェアテスト)に関するご依頼・ご質問は、下記フォームよりお問い合わせください。弊社製品・サービスに関するお問い合わせは、各商品Webサイトより受けつけております。

パートナー企業募集

Sky株式会社では長期的なお付き合いができ、共に発展・成長に向けて努力し合えるパートナー企業様を募集しております。パートナー企業募集に関するご依頼・ご質問は、下記フォームよりお問い合わせください。

ページのトップへ