検索キーワード履歴
      • 発行日 2024年3月27日
      • 最終変更日 2024年3月27日
    • 1

    マイクロコントローラガイド

    Our guide examines what microcontrollers are used for and the different types and architectures that are available

    テクニカルサポートエンジニア、Mithun Subbaroybhatのレビュー (2021年2月)

    マイクロコントローラとは?

    マイクロコントローラー(MCUまたはMCと略されることが多い)は、完全に自己完結した極めて小さなマイクロコンピューターで、シングルチップ上に搭載されています。

    マイクロコントローラは、一般的に単一の基本プログラムを繰り返し実行するように設計された簡易コンピュータと定義できます。定義上、マイクロコントローラは通常、ユーザーが事前にプログラムした単一の自動タスクを単一のデバイスで実行することを目的としています。マイクロコントローラは、この1つの作業を繰り返し実行するように設計されています(または、時限ループで実行することもできます)。

    これは、完全なマイクロプロセッサやCPUが扱う、より多用途で汎用的なアプリケーションとは対照的に、組み込みアプリケーションとして利用されています。

    マイクロコントローラは、その主要コンポーネントの1つとしてマイクロプロセッサの一種を含んでいますが、一般的に、シンプルなものが搭載されており、ほとんどのスタンドアロンMPよりもはるかに複雑で動的なCPUではありません。というのも、マイクロコントローラーユニットは、通常、非常に特殊な単一の仕事を実行することに限定されているからです。つまり、一般的なマイクロプロセッサが提供するあらゆる機能を必要としないのです。

    これを実現するために、マイクロコントローラの基本は、一般的にプリント回路基板(PCB)を介して接続された他の種類のコンポーネントや電子回路と連携して実際の動作を行います。このマイクロコントローラとPCBベースの機器の組み合わせは、様々な種類のシステムやコンポーネントの動作を制御、監視する上で重要な役割を果たします。

    マイクロコントローラーの種類

    マイクロコントローラーには数多くのメーカーやプログラミングアーキテクチャが存在しますが、現在、主に使用されているMCUは3種類です。それは以下の3つです:

    3種類のマイコンの主な違いは、それぞれのバス幅にあります。つまり、それぞれのデータパイプの幅です。

    これは最終的に、マイクロコントローラーの速度と数学的精度を制限する重要な仕様です。つまり、8ビットのマイコンで16ビットや32ビットの計算を行うには、バスアクセスの回数が増え、より多くの命令が必要になります。そのため、16ビットや32ビットのMCUよりもはるかに遅く答え(つまり出力動作)に到達することになります。

    これはコンピューティング用語で言えば、より高速で強力なCPUではなく、低速のCPUで見られるような制限の問題と同じようなものです。これらの重要な基準は、マイコン・ユニットで快適に使用できるプログラミング言語の選択と範囲に影響します。C++、Python、R、Arduinoのいずれであっても、マイコンはさまざまなプログラミング言語と幅広く互換性があります。

    8ビットMCUは、最も基本的で費用対効果の高い選択肢と考えられてきましたが、アプリケーションによっては機能が制限されます。16ビットや32ビットのマイクロコントローラーは、一般的に高価ですが、それに見合う性能向上があります。

    マイクロコントローラアプリケーション

    現代のさまざまなアプリケーションや産業において、マイクロコントローラは急速に浸透し、今日では多くの技術やガジェットに搭載されています。センサー、ディスプレイ、ユーザーインターフェース、プログラム可能な出力制御またはアクチュエーターを含む電子機器には、多くの場合MCUが搭載されています。

    マイクロコントローラが使用される一般的な機能、アプリケーション、環境には、次のようなものがあります:

    • オートメーションおよびロボット工学
    • 家電および家庭用電化製品
    • 医療機器および実験機器(携帯型診断装置、スキャナー、X線装置、測定、分析、モニタリングツール)
    • 自動車産業および車両制御システム(パワートレイン調整、マルチメディア・コンソール、ナビゲーション・ソフトウェア)
    • 産業および生産環境制御(暖房・照明、HVACシステム、安全ロック

    マイクロコントローラーの役割は、デバイスやシステムで機能する回路の一部として設置された場合、接続されたコンポーネントやその環境から検出したさまざまなイベント、動作、入力信号を感知、監視、応答することができます。

    例えば、マイクロコントローラは、特定の入力基準に応答して、特定のタイプの出力信号または動作制御をプッシュするようにプログラムされるかもしれません。これには、次のようなものが含まれます:

    • タッチ操作に基づくユーザーの要求に応じてLEDまたはOLEDディスプレイを点灯させる。
    • 温度感知アプリケーションやその他のアラームや警告システムで光や音を再生する。 ポンプやその他の機械装置において、モーターをオン・オフさせる。
    • ジャイロスコープや加速度センサーを使ったアプリケーションで、傾き、バランス、速度を調整する。

    マイクロコントローラの用途:どこで使われるのか?

    Microcontroller

    マイクロコントローラーユニット(MCU)は、1つの集積回路に組み込まれた非常に小さなコンピューターです。この点で、マイクロコントローラの使用は、システムオンチップ(SoC)と多少似ています。SoCは、一般的に家庭用コンピュータに搭載されているもので、IntelやAMDによって製造されています。しかし、マイクロコントローラーは、平均的なSoCよりもかなりシンプルです。(SoCには、多くのコアコンポーネントの中に1つ以上のマイクロコントローラーボードが含まれていることがよくあります)。

    マイクロコントローラは、非常に単純なSoCと同じように動作し、任意の数の異なる通信プロトコルを介して外部刺激や条件を検出して反応することができます。これには、USB、タッチ・レスポンス、環境センサーなどが含まれます。

    特定の入力や信号検出に反応するように適切にプログラムされた場合、MCUプロセッサは、多様な機能やアプリケーションで応答動作を実行するために使用できます。その範囲は、単純な入出力(I/O)トリガーやコンポーネント制御アルゴリズムから、より複雑な統合システムの追加コンポーネントの動作に影響を与えるものまで多岐にわたります。

    マイクロコントローラ・デバイスの物理的な構造を理解することも重要です。これにより、マイクロコントローラのプログラミング方法や、MCUとマイクロプロセッサ(MP)などの類似コンポーネントとの違いをより深く理解できるようになります。

    マイクロコントローラは事実上、1つの集積チップに組み込まれた単純なミニコンピュータであるため、大型で複雑なコンピュータと同じ基本コンポーネントの多くを必要とします。マイクロコントローラーの中核部品には、次のようなものがあります:

    • CPU(中央演算処理装置): このコンポーネントは、MCU内部で行われるすべてのプロセスを制御および監視するマイクロプロセッサーです。実行されるすべての論理的および数学的関数の読み取りと実行を担当します。
    • RAM(ランダム・アクセス・メモリー): MCUが実行するプログラムの実行と計算を支援するための一時記憶装置です。使用中は常に上書きされます。
    • ROM(リードオンリーメモリ): あらかじめ書き込まれた不揮発性メモリで、電源がなくても記録が持続します。MCUにプログラムの実行方法を指示します。
    • 内部発振器(MCUのメインタイマー): このコンポーネントは、マイクロコントローラのコアクロックとして機能し、内部プロセスの実行リズムを制御します。
    • I/O(入出力)ポート: MCUを他のコンポーネントや回路とリンクさせ、入出力データ信号や電源のフローを可能にします。
    • ペリフェラル・コントローラ・チップ(その他のオプションのアクセサリやコンポーネント): MCUが実行する必要のあるタスクに依存します。これには、さまざまな追加タイマーやカウンター、PWMノード、アナログ/デジタル・コンバーター、デジタル/アナログ・コンバーター、データ・キャプチャ・モジュール、フラッシュ・メモリー、プログラム・メモリー、追加のI/Oオプションなどが含まれます。

    しかし、これらのコンポーネントはすべて、マイクロコントローラでは、パーソナルコンピュータの同等のSoCよりも範囲も容量も大幅に縮小されます。

    マイクロコントローラアーキテクチャ

    マイクロコントローラーには3つのコアタイプしかありませんが、MCUメーカーのブランドやアーキテクチャは多種多様です。ユーザーがよく目にする名前には、次のようなものがあります:

    • ARMコアプロセッサ(多くのベンダーがARM Cortex-Mコアを含むARMマイクロコントローラおよび関連コンポーネントを供給している)
    • Microchip Technology Atmel AVRマイクロコントローラ(8ビット)、AVR 32(32ビット)、AT91SAM(32ビット)
    • Microchip Technology PICマイクロコントローラ(8ビットPIC16、PIC18、16ビットdsPIC33、PIC24、32ビットPIC32)
    • フリースケールColdFire(32ビット)およびS08(8ビット)
    • Intel 8051マイクロコントローラ
    • PowerPC ISE
    • ルネサス エレクトロニクス(RL78 16ビットMCU、RX 32ビットMCU、SuperH、V850 32ビットMCU、H8、R8C 16ビットMCU)
    • シリコンラボラトリーズ パイプライン8ビット8051マイクロコントローラおよびミックスドシグナルARMベース32ビットマイクロコントローラ
    • テキサス・インスツルメンツ TI MSP430(16ビット)、MSP432(32ビット)、C2000(32ビット)
    • 東芝 TLCS-870(8ビットおよび16ビット)
    • CISCおよびRISC(RISC-Vも含む)

    マイクロコントローラ、プロセッサ、マイクロコントローラ開発ボードおよびキットの選択またはプログラミングに関する詳細情報およびアドバイスについては、当社の専門カスタマーサポートチームまでお気軽にお問い合わせください。

    マイクロコントローラブロックダイアグラム

    このブロック図は8051マイクロコントローラの内部アーキテクチャを表しています。

    CPUはプロセスの管理と同期を行い、レジスタを管理し、ROMデータを解釈します。他の優先プログラムがシステム・バス・アクセスを要求した場合、割り込み処理が提供されます。割り込みは、この追加アクセスが発生するために現在のプロセスを遅延させることを可能にします。発振器(図ではOSCと表記)は、マイクロコントローラーのデジタル回路のタイマー動作を行います。

    Microcontroller Block Diagram

    マイクロコントローラとマイクロプロセッサの比較

    Microprocessor

    マイクロコントローラとマイクロプロセッサ(MP)またはシステムオンチップ(SoC)の正確な定義に関して、しばしば混乱が生じます。一言で言えば、マイクロコントローラはSoCの簡略化されたシングルタスク版です。MCUは、技術的には集積回路の一部としてCPUまたはプロセッサを含みますが、より単純化されたバージョンです。この低消費電力マイクロプロセッサーは、マイクロコントローラーユニットの単純なCPUまたは頭脳として効果的に機能し、MCUにプログラムされた単一の役割を果たす能力を与えます。

    マイクロプロセッサとマイクロコントローラのその他の主な違いを整理すると、最も簡単な定義はコンポーネントの観点から見ることです。マイクロプロセッサは、メモリ(RAMまたはROM)やI/Oポートを含まず、より広範な組み込みシステムの一部としてのみ動作します。スタンドアロンのマイクロプロセッサに、与えられた機能の実行方法を指示する命令セットは、一般に外部に格納されています。マイクロコントローラーでは、簡素化されたプロセッサーを含む、これらすべてのさまざまなコンポーネントが、自己完結型の単一ユニットにまとめられています。

    Shop Microprocessors

    マイクロコントローラー:

    • 非常にシンプルなCPUまたはマイクロプロセッサを内蔵した完全に自己完結型のユニットです。
    • ユーザーによって事前にプログラムされ、特定の単一のアプリケーションに使用されます。
    • 性能面では特に強力ではなく、通常、わずかな電力しか消費せず、統合されたデータ記憶容量はほとんどありません。
    • 有意義な役割を果たすためには、オペレーターがプログラムする必要があります。
    • 特別にプログラムされた範囲外では動作せず、その性能は書かれたコードとその品質によって完全に決定されます。
    • 一般的に、特定の装置や機器が単一のタスクを繰り返し実行することを意図しています。

    マイクロプロセッサー:

    • 機能範囲がはるかに複雑で多用途であり、専門的な一つのタスクを行う装置ではなく、より一般的なコンピューティングでの使用を意図しています。
    • プロセッサー(クロック)速度はMCUよりもはるかに速く、通常、ギガヘルツ(GHz)で測定されます。
    • 製造原価は高く、市場価格も高価です。
    • 動作にははるかに多くの外部部品(RAM、I/Oポート、データ記憶装置、EEPROMまたはフラッシュメモリ)が必要であり、MPには内蔵されておらず、別途購入して接続する必要があります。

    消費電力がかなり高く、継続的な運用には費用対効果が悪くなります。

    人気メーカー

    Renesas

    Renesas Electronics

    ルネサス エレクトロニクスのマイコンをオンラインで購入。プロジェクトに最適なコンポーネントをお選びください。

    製品を見る

    STMicroelectronics

    STMicroelectronics

    STMicroelectronicsは、8、16、STM32マイクロコントローラを提供しており、必要なコンポーネントを選択できます。

    製品を見る

    NXP

    NXP

    NXPマイクロコントローラは、さまざまなインサーキットアプリケーションに最適な、高品質で耐久性のあるコンポーネントです。

    製品を見る

    FAQs

    小型マイクロコントローラのサイズとは?

    マイクロコントローラーは非常に小さな、マイクロなコンポーネントであり、機能性を損なうことなく可能な限りコンパクトに設計されています。多くの標準的なMCUの典型的な寸法は、高さが0.5mmから4.95mm、長さが4mmから35.56mmに及ぶものです。ただし、これは他の複数の要因や要件によって大きく異なることに注意する必要があります。最も小さなマイクロコントローラーの寸法の一例は、高さが0.15mm、長さが1.06mmです。

    最適なマイクロコントローラとは?

    最適なマイクロコントローラーは、最終的にはプロジェクトの要件に依存します。マイクロコントローラーのデバイス選択を考える際には、次のようないくつかの重要な要素を考慮する必要があります。

    • 温度耐性
    • アーキテクチャ
    • メモリ容量
    • 価格とコスト効率
    • 効率性(性能と消費電力のバランス)
    • セキュリティ
    • ブランドやメーカー
    • 処理能力
    • インターフェース
    • 最大周波数(MHz)

    マイクロコントローラーとPLCの違いは?

    プログラマブルロジックコントローラー(PLC)はマイクロコントローラーに似ていますが、より大きく、速く、信頼性が高いです。PLCは、高性能なアプリケーションの範囲に適した複雑なコンポーネントです。一方、マイクロコントローラーは比較的基本的で単純であり、より小さな、低消費電力の用途に適しています。

    マイクロコントローラーの歴史は?

    マイクロコントローラーは1970年代初頭に最初に発明され、1974年に商業化されました。テキサス・インスツルメンツのエンジニアであるゲイリー・ブーンが、現代のマイクロコントローラーの初期のコンセプトを発明したことで知られています。偶然ながら、最初のマイクロプロセッサもこの時期に開発されていました。

    関連ガイド