マイクロコントローラー (MCU) とマイクロプロセッサー (MPU) はどちらもプロセッサー コアを内蔵していますが、根本的に異なる用途向けに設計されています。マイクロコントローラーは、CPU、フラッシュ メモリ、RAM、および周辺機器を単一のチップ上に統合し、特定のタスクを信頼性高くリアルタイムで実行するように設計されています。マイクロプロセッサーは、外部メモリや周辺チップに依存する独立型のCPUであり、多数のアプリケーションを同時に処理する汎用オペレーティング システムを実行するように設計されています。

マイクロコントローラーとマイクロプロセッサーの違いは、システム アーキテクチャ、電力予算、部品表 (BOM) コスト、そしてチームがサポートしなければならないソフトウェア スタックを左右します。設計の初期段階で誤った選択をすると、後から修正するのに多大な費用がかかります。このページでは、アプリケーションに適した判断を下すための枠組みを示します。

以下の表を使用して、設計上の制約条件に適した選択肢を特定してください。各行は、データシートの仕様ではなく、意思決定を左右する要因を表しています。

マイクロコントローラーとマイクロプロセッサーの違いは何ですか?

マイクロコントローラーとマイクロプロセッサーの違いは、集積度にあります。マイクロコントローラー (MCU) は、CPUコア、フラッシュ メモリ、RAM、およびADC、タイマー、CAN、SPIなどの入出力周辺機器を1つのチップに集積し、1つの組み込みアプリケーション向けに自己完結型となっています。マイクロプロセッサー (MPU) は、外部RAM、ストレージ、および周辺チップを必要とする高性能CPUであり、汎用オペレーティング システムを実行するように設計されています。MCUは、リアルタイム制御、低消費電力、コスト重視の設計に適しています。一方、MPUは、HMIディスプレイ、ゲートウェイ、機械学習推論など、計算負荷が高くOSに依存するアプリケーションに適しています。インフィニオンのAURIX™ TC3xxは車載MCUの一例です。典型的なMPU設計では、Linux対応のアプリケーション プロセッサーに外部DRAMを組み合わせることがあります。

CPU (Central Processing Unit) は処理の中核であり、命令を実行する演算論理ユニット、制御ユニット、およびレジスターで構成されます。マイクロコントローラーは、CPUに加えて、プログラム保存用のフラッシュ メモリ、実行時データ用のRAM、タイマー、ADC、通信インターフェースなどの周辺機器といったオンチップの追加コンポーネントを備えています。エンジニアが「MCU vs CPU」を比較する場合、通常はMCUとマイクロプロセッサーの比較を指しています。マイクロプロセッサーとは、動作するために外部メモリや周辺機器を必要とする、独立したCPUベースのチップです。要約すると、すべてのMCUにはCPUが含まれていますが、CPU単体はMCUではありません。例えばインフィニオンのPSOC™ファミリーは、Arm® Cortex®-M CPUコアに加えて、ADC、タイマー、CAN周辺機器を単一パッケージに統合しています。

はい。動作温度範囲は、MCUとマイクロプロセッサーの選定における重要な差別化要因です。インフィニオンのAURIX™ TC3xxのような車載グレードMCUは、AEC-Q100 Grade 0に適合しており、-40 °C~150 °Cの範囲で信頼性高く動作します。これは、多くのアプリケーション プロセッサー (MPU) では満たせない範囲です。MPUは通常、商用または産業用の温度範囲 (-20 °C~85 °C) での動作が規定されているため、能動的な熱管理なしでは、自動車のボンネット下や過酷な産業環境には適していません。高温環境での導入では、MCUグレードの温度適合は譲れない選定基準です。

IoTでは、マイクロコントローラーとマイクロプロセッサーの違いは、エッジ センサー ノードとゲートウェイ デバイスの違いに対応します。IoTのエッジ ノードにはMCUが適しています。消費電力はミリワット以下で、瞬時に起動し、センサー情報の取得と無線送信のループをベアメタル ファームウェアで実行し、コイン型電池で数年間動作します。マイクロプロセッサーは、Linux OS、豊富な接続スタック、ML推論に必要な演算能力が求められるIoTゲートウェイやエッジAIデバイスに適しています。多くのIoTシステムでは両方を使用します。センサー ノードにはMCUを、集約、プロトコル変換、クラウド接続にはMPUベースのゲートウェイを使用します。

設計で、決定論的なリアルタイム制御、低消費電力、または低い部品表 (BOM) コストが必要な場合は、マイクロコントローラーを選択してください。MCUの統合アーキテクチャ (CPU、メモリ、周辺機器を1チップに集積) により、MPUで必要となる外付け部品が不要になり、PCBを簡素化して実装コストを削減できます。

マイクロコントローラーが適しているのは、次のような場合です。

  • リアルタイム制御が必要: システムは、センサー入力や安全イベントにマイクロ秒単位で応答する必要があります。MCUの実行は決定論的です。つまり、同じコード パスは常に同じクロック サイクル数で実行されます。
  • 電力の制約: バッテリー駆動またはエネルギー ハーベスティングの設計では、動作時電流はmAオーダー、スリープ時電流はµAオーダーに抑える必要があります。ほとんどのMCUは、スタンバイ時消費電流がサブµAのディープ スリープ モードを備えています。
  • タスクは固定で専用: ファームウェアは、センサーの読み取り、制御アルゴリズムの実行、アクチュエーターの駆動といった処理を確実に実行します。フルOSは不要なオーバーヘッドです。
  • コストとBOM規模が重要: 大量生産では、数セントのMCUが複数のディスクリート部品を置き換えます。オンチップのADC、CAN、SPI、PWMにより、外付けのインターフェースICが不要になります。
  • 機能安全認証が必要: インフィニオンのAURIX™ TC3xxなどの車載MCUは、ISO 26262 ASIL-Dの認証取得が可能です。ロックステップ コア、メモリ保護ユニット、ビルトイン セルフテスト (BIST) などのハードウェア安全機構は、安全性が重要な組み込みシステム向けに設計されています。

 

実例: 車載の電動パワー ステアリング システムでは、MCUが250 µsごとにトルク センサーを読み取り、モーター電流の要求値を計算し、PWM出力を更新します。これらはすべて、決定論的な割り込みサービスルーチン内で実行されます。Linuxを実行するマイクロプロセッサーでは、このタイミングを保証できません。インフィニオンのAURIX™ TC3xxは、まさにこの種のアプリケーションを支えています。マルチコアのロックステップ実行により、ISO 26262 ASIL-Dの要件を満たします。

アプリケーションがOS、高い演算性能、複雑なソフトウェア ミドルウェア、またはリッチなユーザー インターフェースを必要とする場合は、マイクロプロセッサーを選択してください。MPUは大容量の外部DRAMにアクセスし、Linuxまたは高度なRTOSを実行し、高レベル アプリケーションが必要とする幅広いソフトウェア フレームワークをサポートします。

マイクロプロセッサーが適しているのは次のような場合です。

  • フルOSが必要: Linux、Android、またはリッチなRTOSを必要とするアプリケーションは、MPUクラスのデバイスでのみ実現できるメモリ管理およびスケジューリング機能に依存します。
  • 演算性能が最優先: 機械学習推論、動画のエンコード/デコード、信号処理などのワークロードは、アプリケーション プロセッサーに備わる高クロック、マルチコア並列性、ハードウェア アクセラレーターの恩恵を受けます。
  • リッチなユーザー インターフェースが必要: 産業用HMIパネル、インフォテインメント システム、組み込みディスプレイには、フルOSスタック上で動作するGPUアクセラレーション、ディスプレイ コントローラー、グラフィックス フレームワークが必要です。これらはほとんどのMCUの対応範囲を超えています。
  • 複雑かつ継続的に進化するソフトウェア スタック: アプリケーションがパッケージ マネージャー、ネットワーク ミドルウェア、OTAアップデート フレームワーク、またはクラウドSDK統合を必要とする場合、OSベースのMPUプラットフォームにより開発工数を大幅に削減できます。
  • 大容量メモリが必要: 大規模なデータセットをバッファリングする、ニューラル ネットワーク モデルを実行する、または複雑なステート マシンを管理するアプリケーションには外部DRAMが必要です。MPUベースの設計ではこれをネイティブにサポートしています。

 

実例: 産業用ゲートウェイ デバイスは、Modbusを介して50台のフィールド デバイスからセンサー データを集約し、エッジAIの異常検知モデルを適用して、LTE経由で結果をクラウド プラットフォームにアップロードします。このワークロードには、ネットワーク スタックとAIフレームワークのためのLinux、モデル重みのためのDRAM、そしてほぼリアルタイムで推論を実行するための演算性能が必要です。これらはいずれもMPUベースの設計を示唆します。一方、フィールド センサー自体はそれぞれ、ローカル計測とフィールドバス通信を処理するMCUを実行します。

 

以下の表は、MCUとマイクロプロセッサーの選定を左右することが多い8つのパラメーターを比較したものです。各行には、その違いが特定の設計にとって何を意味するかを分かりやすく説明しています。

アプリケーションがマイクロコントローラーを指向する場合、インフィニオンは、ISO 26262 ASIL-D認証の車載安全システムから、産業用モーター ドライブ、エネルギー制約のあるIoTエッジ ノードまで、組み込み制御の要件を幅広くカバーしています。この製品ポートフォリオは、シングルコアからマルチコアまでのアーキテクチャ、汎用32ビットMCU、アプリケーション最適化SoCデバイスにわたります。以下に、インフィニオンのマイクロコントローラー ファミリーをセグメント別にまとめます。

  • AURIX™ TC3x / TC4x: 最も要求の厳しい車載安全アプリケーション向けのマルチコアTriCore™ MCU。ISO 26262 ASIL-Dの認証取得が可能で、パワートレイン制御、ADAS、シャーシ制御、トランスミッション管理で使用されます。ロックステップまたは独立実行モードで、最大6個の独立したCPUコアをサポートします。
  • TRAVEO™ T2G: Arm® Cortex®-Mコアに、ディスプレイ インターフェース、機能安全サポート、豊富な接続機能を組み合わせた、車載ボディ エレクトロニクスおよびインストルメント クラスター向けMCUファミリー。ボディ制御モジュール、デジタル コックピット、高度な照明制御に適しています。
  • PSOC™ Automotive 4: 車載HMIおよびバッテリー管理システム向けのプログラマブルSystem-on-Chip。Arm® Cortex®-M0およびM0+ コアをベースに、柔軟な車室内およびパワートレインのインターフェース設計に向けて、構成可能なアナログ/デジタル周辺機能を備えています。
  • PSOC™ 4 High Voltage: 12 Vおよび48 Vの車載システムにおける機能安全およびスマート センサー アプリケーション向けに設計されています。外部のレベルシフト部品を使用せずに直接信号調整を行える高電圧アナログ周辺機能を内蔵しています。
  • PSOC™ Automotive Multitouch: 車載HMIパネル、センター コンソール、タッチスクリーン インターフェース向けの静電容量式タッチ コントローラー。CAPSENSE™ 技術を統合し、車載温度範囲およびEMIレベルでも堅牢で液体に強い車室内タッチ検出を実現します。
  • MOTIX™: MCUコア、専用ゲートドライバ、電流検出、および保護回路を1チップに統合した車載モーター制御SoCファミリー。シート調整、HVACブロワー、ウィンドウ リフター、e-mobility補機などの車載アプリケーションにおけるBLDCおよびPMSMモーター ドライブ向けに設計されています。
  • PSOC™: Arm® Cortex®-Mコアと、完全に構成可能なデジタルおよびアナログ ブロックを組み合わせた、インフィニオンのプログラマブルSoCマイクロコントローラー ファミリー。車載HMI、ボディ センサー、静電容量式インターフェース設計など、ハードウェアの柔軟性によって製品バリエーションの増加を抑えられる幅広いアプリケーションで使用されています。
  • XMC™: 産業用モーター制御、電力変換、およびIoTエッジ アプリケーションをカバーする32ビットArm® Cortex®-M MCUファミリー。XMC1000シリーズ (Arm® Cortex®-M0、エントリーレベル) とXMC4000シリーズ (Arm® Cortex®-M4F、パフォーマンス クラス) はいずれも、高度なPWM、マルチチャネルADC、CAN、およびEtherCAT対応接続機能を備え、要求の厳しいリアルタイム制御ループに対応します。