マイクロコントローラユニット(MCU)は、組み込みシステムの特定の機能を制御するために設計されたコンパクトな集積回路です。これは、プロセッサ(CPU)、メモリ(RAMおよびROM)、および入出力周辺機器を含む単一のチップ上の小さなコンピューターで構成されています。マイクロコントローラは、高精度、低電力、およびリアルタイム制御を必要とするシステムにおいて重要です。

マイコンとは
マイコンとは
マイコンとは

マイクロコントローラは、組み込みシステム(専用のタスクを実行するように設計された特殊なコンピューティングシステム)で使用されます。これらは、次のような幅広いアプリケーションで見つけることができます。

  • 自動車:エンジン制御、パワーステアリング、エアバッグ展開、インフォテインメントシステムなどの操作にはMCUが必要です。
  • ファクトリーオートメーションシステム:マイクロコントローラーは、製造におけるスマートデバイスの頭脳として機能し、機械の制御、組立ラインの管理、および環境条件の監視に使用されます。
  • ロボティクス:MCUは、データを収集、処理し、他のデバイスやネットワークと通信します。産業用ロボットでは、モーターの動きを制御したり、センサーデータを処理したり、プログラムされたアルゴリズムに基づいて意思決定を行ったりするために使用されます。
  • 医療:インスリンポンプ、心拍数モニター、デジタル体温計などの医療機器も、機能するためにマイクロコントローラーに依存しています。
  • エネルギー管理:マイクロコントローラーは、スマートメーター、太陽光発電ソーラーインバーター、エネルギー効率の高い照明システムなどのデバイスにもエネルギーセクターで広く使用されています。

マイクロコントローラは、さまざまな目的のために複数のコンポーネントを組み合わせた高度に統合された半導体デバイスです。各MCUは異なりますが、すべて同じコア機能を備えています。

  1. 中央処理装置(CPU):中央処理装置(CPU)は、マイクロコントローラーの頭脳であり、メモリに保存されているプログラムからの命令を実行する役割を果たします。シングルコアマイコンはCPUが1つ、マルチコアマイコンはCPUが複数あります。
  2. メモリ(RAMおよびROM):マイクロコントローラのメモリは、特定のタスクごとに異なるユニットに分割されています。RAM(ランダムアクセスメモリ)は、タスクの実行中にCPUが必要とするデータ、変数、およびバッファを一時的に保存するために使用されます。ROM(Read-Only Memory)またはFlash Memoryは、マイクロコントローラが実行するファームウェアまたはプログラムコードを格納するために使用されます。フラッシュメモリは不揮発性であるため、電源が切れてもプログラムを保持するため、よく使用されます。
  3. 入力/出力ペリフェラル:入出力(I/O)ペリフェラルには、マイクロコントローラが外部と対話できるようにするさまざまなインターフェイスが含まれています。一般的なペリフェラルには、センサー、LED、ボタンなどの外部デバイスとの間でバイナリ信号(ハイ/ロー)を読み書きするために使用されるデジタルI/Oピンがあります。
  4. コンバータ:A/Dコンバータ(ADC)は、アナログ信号(温度センサなど)をCPUが処理できるデジタル値に変換します。逆に、D/Aコンバータ(DAC)は、CPUからのデジタル信号をアナログ信号に変換します。
  5. タイマとカウンタ:マイクロコントローラは、タイミング動作、正確な遅延の生成、または外部イベントのカウントにも内部タイマまたはカウンタを使用します。
  6. 通信インターフェース:UART、SPI、I2C、USBなどの通信インターフェースにより、マイクロコントローラは他のデバイスやチップと通信できます。
  7. クロックソース:MCUは、クロックソース(通常は内部または外部発振器)を使用して、CPUと周辺機器の動作を同期するタイミング信号を生成します。
  8. 電源管理:電源管理機能の中心的なタスクは、バッテリー駆動のアプリケーションで重要なエネルギー消費を削減することです。このモードでは、使用していないときにチップの一部をシャットダウンしたり、クロック速度を下げて電力を節約したりできます。

マイクロコントローラは、メモリに保存された一連の命令を実行し、入力の処理、タスクの実行、および出力の制御を連続的に行います。これは、正確なタイミング、低消費電力、リアルタイムの応答性で実現されるため、組み込みシステムのハードウェア制御に最適です。

1. マイクロコントローラの電源投入と指示の読み取り

マイクロコントローラの電源がオンになると、メモリ(通常はフラッシュメモリに格納されている)から最初の命令がフェッチされます。これは、実行するプログラムの開始です。

次に、MCUのCPUは、プログラムメモリから命令を一度に1つずつ読み取ります。これらの命令は、センサー値の読み取りや出力デバイスの制御など、実行する操作を CPU に指示します。

命令がフェッチされると、CPUはそれをデコードして、実行する必要があるアクションを理解します。これには、算術計算、データ転送、または論理演算が含まれる場合があります。CPUはデコードされた命令を実行し、結果をレジスタに保存したり、ペリフェラルに送信したり、他のハードウェアを制御するために使用したりします。

2. マイクロコントローラはタイマーと割り込みを使用

マイクロコントローラは、遅延の生成、時間間隔の測定、モータやLEDなどのデバイスを制御するためのPWM(パルス幅変調)信号の生成など、正確な操作のためにタイマに依存しています。マイクロコントローラは、命令の実行を開始した後、必要なタスクを実行するためのタイマー入力と割り込み入力を監視します。

割り込みは、緊急のタスクを処理するために、マイクロコントローラの現在のタスクを一時的に停止できる信号です。たとえば、ボタンが押された場合、割り込みによって、マイクロコントローラーが以前に何をしていたかに関係なく、そのイベントに即座に応答する可能性があります。

3. マイクロコントローラはループを継続します

割り込みを処理した後、マイクロコントローラは前のタスクを再開します。MCUは通常、「メインループ」と呼ばれる連続ループを実行し、入力のチェック、出力の更新、必要な計算の実行を繰り返します。電源がオンになっている限り、これらの操作を連続的に循環します。

4. マイクロコントローラが低電力モードに入る(利用可能な場合)

インフィニオンのAURIX TC3xxなど、一部のマイクロコントローラには省電力モードが含まれています。つまり、マイクロコントローラがアクティブにタスクを実行していないときは、低電力スリープモードに入ってエネルギーを節約し、タイマーの期限切れや入力変更などのイベントが発生したときにのみウェイクアップして通常の動作を再開できます。

何か問題が発生した場合、またはマイクロコントローラーがリセット信号を受信した場合(リセットボタンを押すなど)、プログラムの最初の命令に戻って最初からやり直すことで、動作を再開します。

マイクロコントローラにはいくつかの異なるタイプがあります。例えば、PICマイコンとはどのようなものですか?適切なMCUを選択するには、いくつかの重要な考慮事項があり、特定の要件と目的のアプリケーションによって異なります。十分な情報に基づいた決定を下すには、次の点を考慮してください。

  • プロジェクト要件:あなたのプロジェクトには何が必要ですか?センサーインターフェースなのか、モーター制御システムなのか、それとも複雑なIoTデバイスなのか。タスクの複雑さは、多くの決定を導きます。
  • 処理能力:基本的なタスクには、8ビットまたは16ビットのCPUを搭載したマイクロコントローラで十分です。自動車のエンジン制御ユニット(ECU)や産業用オートメーションシステムなどの要求の厳しいアプリケーションには、高速クロックの32ビットマイクロコントローラが最適です。
  • 入力/出力ピン:入力/出力ピン、GPIO、アナログ入力、PWM出力、および通信インターフェース(UART、SPI、I2Cなど)の数も考慮する必要があります。選択するマイクロコントローラには、要求されたすべての周辺機器とセンサーをサポートするのに十分なピンが必要です。
  • 物理的なサイズとMCUハウジング:設計にスペースの制約がある場合は、より小さなパッケージ(LQFPやBGAなど)のマイクロコントローラが最適な選択となる可能性があります。
  • メモリ: 実行中の変数、バッファ、スタック使用量に必要な RAM の量など、ファームウェアの保存に必要なプログラムメモリの量を見積もる必要があります。より大規模で複雑なプログラムには、より多くのフラッシュメモリとRAMが必要です。
  • 電源:バッテリ駆動のアプリケーションには、低電力マイクロコントローラが不可欠です。この場合、さまざまな省電力モード(スリープやディープスリープなど)と低動作電圧を備えたMCUが理想的です。
  • クロック速度:クロック速度が高いほど、処理が高速になりますが、消費電力も増加します。これは、アプリケーションのパフォーマンスと電力使用量のバランスが取れたクロック速度が必要になることを意味します。
  • 必要な数量:MCUが必要な数量ですぐに入手できるように、常に確認する必要があります。ユニットあたりのコストを決定し、これを予算と相互参照することを忘れないでください(特に大量に必要な場合)。サプライチェーンの信頼性は、特に長期的なプロジェクトにとって非常に重要です。
  • 動作温度:選択したマイクロコントローラが、特に産業または自動車環境で、アプリケーションに必要な温度範囲内で動作できることを確認してください。MCUが特定の規制(自動車や医療用電子機器など)に準拠する必要がある場合は、マイクロコントローラがそれらの基準を満たしていることを保証する必要があります。
  • 追加機能:要件によっては、追加機能が必要になる場合があります。たとえば、集中的な数学計算を実行している場合は、ハードウェア乗算、浮動小数点演算ユニット、DSP 機能などの追加機能が必要です。

また、シングルコア・マイクロコントローラが必要かマルチコア・マイクロコントローラが必要かも考慮する必要があります。シングルコアマイクロコントローラには、命令を順番に実行する中央処理装置(CPU)が1つあります。これらは、コストと開発の容易さが優先されるシンプルで低電力のアプリケーションに最適です。

一方、マルチコア・マイクロコントローラは、要求の厳しいタスクに対して優れた性能とスケーラビリティを提供するため、より高度なアプリケーションに適しています。複数のCPUコアを備えているため、複数のスレッドまたはプロセスを同時に実行できます。このアーキテクチャは、高性能で複雑な組み込みシステムでより一般的です。


マイクロコントローラは、統合開発環境(IDE)、ライブラリ、およびコミュニティサポートをサポートし、開発とトラブルシューティングを大幅にスピードアップします。たとえば、AURIX MCUは、インサーキットエミュレータ、JTAG/SWDデバッガ、その他の開発支援などのデバッグツールを提供し、開発者の作業を容易にします。

マイクロプロセッサ(MPU)とマイクロコントローラ(MCU)は、どちらもコンピューティングと組み込みシステムに不可欠なコンポーネントですが、それぞれ異なる目的を果たし、異なる特性を持っています。MPUは汎用コンピューティング向けに設計されていますが、MCUは、低消費電力、シンプルさ、および費用対効果が重要な組み込みシステムの専用制御タスク用に構築されています。

次の表は、マイクロプロセッサとマイクロコントローラーの主な違いを示しています。

インフィニオンのマイクロコントローラポートフォリオは、従来の8ビットおよび16ビットマイクロコントローラに加えて、強力なパフォーマンスと将来実績のあるセキュリティソリューションを提供する最先端の32ビットマイクロコントローラを含む包括的な製品群を提供します。TI の 32 ビット MCU 製品ポートフォリオには、次のものが含まれます。

  • AURIX™: AURIX™マイクロコントローラは車載用認定を受けており、価格/性能、リアルタイム応答性、計算能力、データ帯域幅、消費電力などの競合する問題が主要な設計要素である最も要求の厳しい組み込み制御システムアプリケーションのニーズを満たすように設計されています。
  • 車載用PSoC™-プログラマブル・システム・オン・チップは、インフィニオンのクラス最高の静電容量式センシング技術を統合し、車載用インテリアおよびバッテリー・マネージメント・システム(BMS)などのエクステリア・アプリケーション、ARM Cortex-M0/M0+ CPU、フラッシュ、メモリなど、要求の厳しいヒューマン・マシン・インターフェース(HMI)アプリケーションに対応します。
  • TRAVEO™ T2G:未来の輸送のために設計されたTRAVEO™ T2Gは、自動車のボディエレクトロニクスアプリケーション向けに、最先端の性能、安全性、セキュリティ機能を提供します。
  • 32ビット PSoC™ 4 High Voltageファミリは、車載機能安全向けに設計されており、アナログフロントエンド、MCU、およびコネクティビティを統合したスマートセンサ向けのワンチップソリューションを提供します。
  • 32ビット PSoC™ 車載用マルチタッチコントローラは、車載タッチスクリーン向けの高性能静電容量式タッチソリューションを提供し、厳しい環境でも高い信頼性で動作します。
  • Arm® Cortex®-M0+プロセッサをベースとする32ビットPSoC™指紋マイクロコントローラーは、プログラム可能な組み込みシステムオンチップソリューションにより、ドライバーインターフェースを強化および近代化します
  • PSoC™:PSoC™マイクロコントローラは、Arm® Cortex®-Mプロセッサ、高性能プログラマブルアナログブロック、PLDベースのプログラマブルデジタルブロック、プログラマブルインターコネクトとルーティング、およびCAPSENSE™に基づく世界で唯一のプログラマブル組み込みシステムオンチップソリューションです。
  • XMC™:XMC™のMCUポートフォリオは、幅広い産業用および民生用アプリケーションに最適で、最適な電力、性能機能を提供し、コストを削減するとともに、設計の柔軟性を高めます。
  • MOTIX™:当社のシステムオンチップ(SoC)ソリューションは、PCBの省スペース化、最小限の外付け部品によるコスト削減、複数の柔軟な設計を可能にします。