目次

組込みシステムの概要

ラズベリーパイ
アルドゥイーノ

組込みシステムとは?

定義

組込みシステムは、より大きなシステムの中で特定のタスクや機能を実行することに特化したコンピューティングシステムです。多種多様なプログラムを実行し、さまざまな機能を実行できる汎用コンピュータとは異なり、組込みシステムは特定のアプリケーションに最適化されており、限られたリソースで動作するように設計されています。

 

組込みシステムの歴史

組込みシステムは、初期のデジタル・コンピュータから今日の高度な相互接続デバイスに至るまで、1940年代から目覚ましい進化を遂げてきました。主なマイルストーンとしては、1975年の最初のマイクロコントローラの誕生、1990年代の家電ブーム、2000年代のモノのインターネット(IoT)の台頭が挙げられる。マイクロプロセッサ、リアルタイム・オペレーティング・システム、無線通信の進歩がこの進化を後押しし、自動車、ヘルスケア、家電製品などの産業を変革し、日常的なデバイスの機能性、効率性、接続性を向上させました。

組込みシステムと汎用コンピューティングシステム: 主な違い

1.目的と機能

組込みシステム:

  • 専用機能:特定のタスクを実行するために設計されている。そのソフトウェアとハードウェアは、特定のアプリケーションの要件を満たすように調整されています。
  • 例:洗濯機コントローラー、自動車制御システム、医療機器。

汎用コンピューティング・システム:

  • 汎用性:幅広いタスクを実行できる。様々な種類のソフトウェアを実行し、複数のアプリケーションを同時に扱うことができる。
  • 例:デスクトップパソコン、ノートパソコン、サーバー

 

2.リアルタイム操作

組込みシステム:

  • リアルタイム処理:多くの場合、リアルタイムで動作し、入力を処理し、ほぼ瞬時に出力を生成する。タイミングが重要なアプリケーションには欠かせない。
  • 例:アンチロック・ブレーキ・システム(ABS)、産業用ロボット、リアルタイム監視システム。

汎用コンピューティング・システム:

  • 非リアルタイム処理:通常、リアルタイム処理を必要としない。スループットとマルチタスク能力を最大化することに重点を置いている。
  • 例:オフィスソフト、ウェブブラウジング、マルチメディアアプリケーション。

 

3.接続性

組込みシステム:

  • ターゲット・コネクティビティ:WiFi、Bluetooth、IoTデバイス用のZigBeeなど、アプリケーションに特化した接続機能を備えていることが多い。
  • 例:スマートホームデバイス、産業用センサー

汎用コンピューティング・システム:

  • 多彩な接続性:イーサネット、WiFi、USB、各種拡張スロットなど、幅広い接続オプションを装備。
  • 例:ネットワーク接続されたワークステーション、個人用ノートパソコン。

 

4.サイズとフォームファクター

組込みシステム:

  • コンパクトで軽量:小型軽量であることが多く、かさばることなくさまざまな機器に組み込むことができる。
  • 例:スマートウォッチ、フィットネストラッカー、組み込み制御モジュール。

汎用コンピューティング・システム:

  • 大きいサイズ:一般的に大きく重く、より広範なハードウェアで幅広い機能を提供するように設計されている。
  • 例:デスクトップタワー、ノートパソコン、ラックマウントサーバー。

 

5.消費電力

組込みシステム:

  • 低消費電力:エネルギー効率に優れた設計で、バッテリー駆動の機器や携帯機器によく使用される。
  • 例:遠隔センサー、モバイル機器、ウェアラブル技術。

汎用コンピューティング・システム:

  • より高い消費電力:一般に、より高い性能要件と多機能性により、より多くの電力を消費する。
  • 例:ゲーミングPC、ワークステーション、データセンター・サーバー。

組み込みプロセッサーの種類

1.マイクロコントローラーユニット(MCU)

マイクロコントローラ・ユニット(MCU)は、組み込みシステムで特定のタスクを実行するために設計された小型の集積回路である。自動車制御システム、家電製品、モノのインターネット(IoT)機器など、さまざまなアプリケーションで広く使用されている。

  • 例8975、STM32、ESP32
  • 主な特徴:リソースが限られており、シンプルで特定のタスクを実行するのに適している。

2.マイクロプロセッサ (MPU)

マイクロプロセッサー(MPU)は汎用プロセッサーで、一般に、大きな処理能力を必要とする複雑なシステムで使用される。パーソナル・コンピューター、サーバー、高度な組み込みシステムなどで使用される。

  • 例:インテル・コアシリーズ、AMD Ryzenシリーズ
  • 主な特徴:計算能力が高く、堅牢な処理能力を必要とする幅広い用途に適している。

3.デジタル・シグナル・プロセッサ(DSP)

デジタル・シグナル・プロセッサは、デジタル信号処理タスクの処理に最適化された専用プロセッサである。コンボリューション(畳み込み)、フーリエ変換、その他の数学的計算などの演算において非常に効率的です。

  • 一般的な用途:無線通信、音声・映像処理、レーダーシステム
  • 主な利点:数学演算の高速実行

4.システムオンチップ(SoC)

システム・オン・チップは、コンピューターやその他の電子システムの全コンポーネントを1つのチップに統合した集積回路である。小型の電子機器に広く使われている。

  • 例:アップルAシリーズ、クアルコムSnapdragon、ラズベリーパイSoC
  • 主な特徴:高集積度、CPU、メモリ、ペリフェラルの組み合わせ、スペースに制約のあるアプリケーションに最適。

5.FPGA(フィールドプログラマブルゲートアレイ)

FPGAは非常に柔軟で再構成可能な回路である。ユーザーはFPGAを導入する前に特定のタスクを実行するようにプログラムできるため、プロトタイプ設計、高速コンピューティング、機器制御に最適です。

  • 主な特徴:柔軟性、再構成可能性、リアルタイム性能。
  • アプリケーション:プロトタイプ設計、ハードウェアアクセラレーション、制御システム。

一般的なマイクロコントローラーユニット(MCU)

1.AT89C51マイクロコントローラー

ATMELが開発した89C51(マイクロチップ)は、組み込みシステムで最も永続的で人気のあるマイクロコントローラの一つである8051ファミリーの一部です。

AT89c51 MCU
  • 特徴:

    • 8ビットアーキテクチャ
    • 128バイトのRAM
    • 4KBのROM
    • 2タイマー/カウンター
    • シリアル通信インターフェース
  • アプリケーション:

    • 簡単な制御アプリケーション
    • 家電製品
    • 自動車システム

2.STM32マイクロコントローラ

が開発したSTM32マイクロコントローラ。 STマイクロエレクトロニクスはARM Cortex-Mコアをベースにしている。幅広い機能と性能オプションを提供し、さまざまなアプリケーションに適しています。

STM32 F4 MCU in drone pcb board
  • 特徴:

    • 32ビットARM Cortex-Mコア
    • 幅広いメモリと周辺機器オプション
    • 低電力モード
    • 高い統合性
  • アプリケーション:

    • 産業オートメーション
    • 家電製品
    • 医療機器

3.ESP32 マイクロコントローラ

が開発したESP32。 エスプレッシーフ システムズは、そのワイヤレス接続機能で有名であり、IoTアプリケーションに最適な選択肢となっている。

ESP32 MCU
  • 特徴:

    • デュアルコア32ビット・プロセッサー
    • WiFiおよびBluetooth内蔵
    • 豊富な周辺機器
    • 低消費電力
  • アプリケーション:

    • スマートホーム機器
    • IoTアプリケーション
    • ウェアラブル・エレクトロニクス

共通開発プラットフォーム

アルドゥイーノ

アルドゥイーノ は、インタラクティブな組み込みシステムの作成プロセスを簡素化するために設計されたオープンソースのハードウェアプラットフォームです。その使いやすさと広範なライブラリサポートにより、ホビイストやプロフェッショナルの間で人気があります。

  • 特徴:シンプルなプログラミング言語、豊富なハードウェアライブラリ。
  • 共通プロジェクト:インタラクティブ・デバイス、IoTアプリケーション。
アルドゥイーノ・ウノR3
ラズベリーパイ・ピコ

ラズベリーパイ

ラズベリーパイ は、複雑なオペレーティング・システムやアプリケーションを実行できる小型で強力なコンピュータである。ARMアーキテクチャを採用し、低消費電力で高性能を実現しています。

  • 特徴:高い計算能力、大容量ストレージ、様々なオペレーティングシステムに対応。 リナックス.
  • アプリケーション:教育、DIYプロジェクト、ホームオートメーション、メディアセンター。

ARMとは?

ARM(Advanced RISC Machines)は、マイクロプロセッサのファミリーである。 アーキテクチャ エネルギー効率と高性能で知られる。ARMアーキテクチャは、1980年代にAcorn Computers社によって開発されたもので、現在は以下の会社によって保守・ライセンスされている。 アーム 英国ケンブリッジに本社を置くホールディングス。

  • 効率性:ARMプロセッサは、RISC(Reduced Instruction Set Computing)アーキテクチャを採用しており、命令実行が簡素化され、消費電力が最小限に抑えられているため、モバイル機器や組み込みシステムに最適です。

  • ライセンス・モデル:ARMホールディングスは、ARMアーキテクチャを他社にライセンス供与し、他社がARMベースのプロセッサを設計・製造できるようにしている。このモデルにより、さまざまなデバイスで多様なARMプロセッサが使用されるようになりました。

  • アプリケーション:ARMプロセッサーは、スマートフォン、タブレット、ウェアラブル機器、IoT機器、組み込みシステムに広く使用されており、その効率的な性能と電力使用により、ノートパソコンやサーバーでの使用も増えている。

 

ハードウェア、ソフトウェア、ファームウェアとは?関係性と違い

ハードウェア

組込みシステムにおけるハードウェアは、プロセッサ、センサ、アクチュエータ、メモリといった物理的な部品で構成される。プロセッサとメモリは脳のように機能し、プロセッサは思考や身体の制御を担当し、メモリは知識を記憶します。センサーとアクチュエーターは手足のような役割を果たし、知覚を集め、脳から指令された行動を実行するのを助ける。ハードウェアは組込みシステムの基礎であり、開発者はハードウェア回路の設計とレイアウトを行い、システム要件を満たすために適切なプロセッサと周辺機器を選択しなければならない。

  • プロセッサー:システムの「頭脳」で、命令の実行を担当する。
  • センサーとアクチュエーター:物理的な世界とのインターフェイスにより、データを収集し、アクションを実行する。
  • メモリー:プロセッサのデータや命令を格納する。

ソフトウェア

組込みシステムのソフトウェアは、アプリケーション、ドライバ、アルゴリズムなど、実行コードとデータを組み合わせたものです。実行可能コードは動作を表し、論理的なオペレーティングシステムは神経系のように機能し、物質的な基盤を提供し、思考を制御します。ソフトウェアは組込みシステムの中核であり、開発者はシステムの計算・制御タスクに基づいてオペレーティングシステムやプログラムを作成する。

  • アプリケーション:特定の機能を実行するユーザーレベルのプログラム。
  • ドライバー:ハードウェアと上位ソフトウェア間のインターフェース。
  • アルゴリズム:計算とデータ処理を行う。

ファームウェア

ファームウェアは、ハードウェアとソフトウェアの橋渡しをするソフトウェアの一種である。不揮発性メモリに格納され、ハードウェア・デバイスの動作や機能を制御するためのコードやデータが含まれている。組み込みシステムのブリッジとして、ファームウェアはハードウェアの初期化、オペレーティングシステムのロード、または制御機能の直接実行に使用される。

  • 役割:ハードウェアの初期化、制御機能の実行、オペレーティングシステムのロード(該当する場合)。

代表的なマイクロコントローラー(MCU)のアーキテクチャと機能

コンピュータは通常、プロセッサ、メモリ、入出力コンポーネントで構成される。

  • プロセッサー: マイクロコントローラーを工場に例えるなら、プロセッサーはその組立ラインであり、核心部分である。倉庫から加工用の作業台まで原材料を運搬し、生産速度を調整する役割を担っており、記憶、計算、制御という3つの機能に対応している。

  • 時計: 複雑なシステムを構築するパイプラインには、合理的な動作メカニズムが必要であり、クロックはタイマーのタイミング基準を提供する。タイマーがあらかじめ設定された時間に達すると、割り込みがトリガーされ、パイプラインは新しい生産を開始するコマンドを受け取り、全体的な効率を確保するためにこのサイクルを繰り返す。

  • ウォッチドッグタイマー: ウォッチドッグ・タイマーは、工場の安全を監視する番犬という名にふさわしい。時間通りに供給されなければ、システムエラーとみなし、リセットを引き起こす。パイプラインが正常に機能するためには、倉庫からの供給が十分でなければならない。

  • メモリ: マイクロコントローラーでは、効率化のためにメモリは階層的な記憶方式で構成されている: 

    • ROM(読み出し専用メモリー): 本番前に書かれた内容しか読めず、変更することはできない。プログラムの起動とカーネル関数の呼び出しに使用される。
    • RAM(ランダム・アクセス・メモリー): 読み書き速度は速いが、電源が切れるとデータが失われる。RAMは、データを一時的に保存するための組み立てライン脇の棚のような役割を果たす。
    • フラッシュ 適度な読み書き速度で、電源喪失後もデータは保持される。原材料を保管する倉庫のように機能し、プログラムコードや焼いたファームウェアを保存する。
マイクロチップROM
マイクロチップROM
ハイニックスRAM
ハイニックスRAM
YMTCフラッシュ
YMTCフラッシュ

入出力(I/O)と相互作用

組込みシステムは、さまざまな方法を通じて外界や他のコンポーネントと相互作用する:

  • 入出力(I/O): マイコンは、原材料の調達や製品の販売のように、外部の機器と相互作用する必要がある。マイコンは、工場内の各部門のように内部で相互作用し、コラボレーションを実現します。

  • アナログ信号とデジタル信号 アナログ信号は連続的に変化し、音声や温度のような実世界の概念を表すのに対し、デジタル信号は離散的で、コンピューターによって処理される。これらの信号間の変換には、サンプリングとフィルタリングが含まれる。

  • 通信プロトコル: 主な方法は4つある:

    1. GPIO(汎用入出力): デジタル通信用で、デジタル量の入出力が可能。
    2. PWM(パルス幅変調): 高速にスイッチングするデジタル量を出力してアナログ信号を生成し、モーターやLEDなどのデバイスを制御する。
    3. ADC(アナログ・デジタル・コンバーター): センサーからのアナログ信号をデジタルデータに変換する。
    4. DAC(デジタル・アナログ・コンバーター): デジタルデータを出力機器用のアナログ信号に変換する。
  • 社内コミュニケーション: 社内コミュニケーションには主に3つの方法がある:

    1. UART(Universal Asynchronous Receiver-Transmitter): 2つの部門間で非同期にデータを送信し、電子メールによるコミュニケーションに似ている。
    2. SPI(Serial Peripheral Interface)とI2C(Inter-Integrated Circuit): これらのプロトコルは、会社の会議と似ており、情報が部門長に放送される。I2Cは、スピードと同時通信を犠牲にして配線を簡素化する。
  • MCU間コミュニケーション: マイコンはまた、工場と上流/下流企業間のコラボレーションと同様に、相互に作用する。現在、組み込み機器はWiFi、NB-IoT、Bluetooth、LoRaなどのプロトコルを広く使用している。それぞれに長所と短所があり、さまざまなアプリケーションに対応できる選択肢を提供している。

 

WiFi
LoRa
ブルートゥース

結論

組込みシステムは、現代技術に不可欠なコンポーネントであり、業界全体の効率化とイノベーションを推進しています。これらのシステムは特定のタスクのために設計され、リアルタイム処理とターゲット接続性を提供し、汎用コンピュータとは一線を画しています。マイクロコントローラやシステムオンチップなど、さまざまなタイプのプロセッサを搭載した組込みシステムは、幅広いアプリケーションに適応します。

ArduinoやRaspberry Piのようなプラットフォームは、組込みシステムへのアクセスを民主化し、専門家や趣味の人たちのイノベーションを促進してきました。技術が進歩し続けるにつれて、組込みシステムは自動車、ヘルスケア、家電製品などの分野における接続性と機能性をさらに強化し、技術の未来を形作る上で重要な役割を果たすでしょう。

お見積もり

関連ブログ