マイクロコントローラー (micro controller) とは、CPUに加えてRAM・ROM・I/Oユニットなどを1つの集積回路(IC)にまとめた、言い換えると極小のコンピューターの事を言います。主に機器(装置)の制御に使われ、略語は英字ではMCU、日本語ではマイコンとも呼ばれています。
主に機器(装置)の制御(コントロール)に使う目的で開発された小さな(”マイクロ” な)集積回路でありコンピューターなので「マイクロコントローラー」=>略して「マイコン」と呼ばれています。
1.マイコンの概要
CPUの機能を備えており1つの集積回路(IC)にまとめたものなので、マイクロプロセッサーの一種です。マイクロコントローラーは通常、1 MHzから200 MHz(メガヘルツ)程度のクロック周波数で動作しており、マイクロプロセッサーの中では比較的動作速度が低いという特徴があります。主な用途として何らかの機器(装置)に組み込んでの使用(組込システム)を想定しているので、電力消費量を減らすためにクロック周波数を抑えているそうです。
普段使用しているパーソナルコンピューターのマイクロプロセッサーは、大量に電力を消費しています、パーソナルコンピューターは1 GHz 〜 3 GHz(ギガヘルツ)の間で動作しているので、マイコンはパーソナルコンピューターの数分の1〜数千分の1程度の動作速度ということになります。マイクロコントローラーは消費電力を抑えているので組込システムに使いやすい電子部品です。
一般的なマイクロコントローラーはCPUに加えて、主メモリ(全体、場合によっては一部)とI/Oポートを内蔵しています。コンピューターがコンピューターとして動作するには、CPUだけでは動作出来ません。メモリやI/Oポートも必要です、PC用マイクロプロセッサーの場合はそれらの必須の機能を得るにはそれを提供する集積回路を別途追加しなければいけません。基板上で集積回路(IC)の使用個数が増えて基板の上の回路のパターンは複雑化し、基板の面積も大きくなります。それに対して、マイクロコントローラーはコンピューターに必要な集積回路のほとんどをひとつの小さな集積回路(IC)にまとめているので、(いくつか集積回路を足す場合でも全体として)とても小さく・簡潔にまとまりますので組込システムなど特に「コンピューターの物理的な小ささ」が求められる用途(装置)に向いています。
マイクロコントローラーはさまざまな組み込みシステムで使われています。マイクロコントローラーは近年色々な家電製品や電子機器類で使用されているので、パソコンで使われるマイクロプロセッサーより遥かに大量に世の中に出回っています。
2.マイコンの構成
組み込みシステムには次の4つの基本的な構成(部品)が必要となります。
①CPUコア
CPUコアはCPUの中央処理ユニットにあたり、制御部と演算部により構成されています。一般的にコア数が増えるとCPUの性能は上がるとされています。
②プログラムを格納するメモリ(ROM又はフラッシュメモリ)
ROM:通常は一度限りの書込みしかできません。
フラッシュメモリ:消去する事で何度でも使用する事ができます。(回数に制限はあります)
③ひとつ以上のタイマー
・外部割込:外部から信号を使用して特殊な動作を行います
・タイマー割込み:内部(自身)タイマー(一定の周期)を利用して特殊な動作を行います
(*)動作:割込みという信号を使って実行中のプログラムを一時中断させて特別なプログラムを実行させます。
④外部周辺機器などと通信するための入力装置・出力装置
入力装置:マイコンの外部(入力装置)に接続したセンサー等の信号をマイコンに読み込みます。
出力装置:マイコンに接続したLEDやリレー等の外部デバイスとマイコンの出力ポート接続し外部デバイスを制御(ON/OFF)します。
マイクロコントローラーはこれら全てがひとつの集積回路(IC)に組み込まれています。ただし、メモリに付いては外部メモリを使用する場合もあります。
マイクロコントローラーは、汎用CPUと比較した場合に周辺部品が少なくて済みますのでコンピューターのシステムとして設計を行うのが容易に出来ます。
一般的なマイクロコントローラーはクロックジェネレータとRAMおよびROM(EPROMやEEPROM)を内蔵しています。これらを動作(使用)できるようにするには、ソフトウェア(ファームウエアという事もあります)をROMに格納して、クロックジェネレータに水晶振動子を接続します。マイクロコントローラーは様々な入出力デバイスを内蔵しています。アナログ-デジタル変換回路(A-D変換)・タイマー・汎用非同期シリアル通信(UART)・I2Cバス・SPIバス・CANバスといった特殊なシリアル通信インターフェイスなどもあります。
3.マイコンが使われる理由
・小型化できる
マイコンの導入により電子回路を小型化できることです。マイコンは集積回路なので、トランジスタを始め、さまざまな部品を大量使用する事で構成されています。
従来はCPU回路を構成(設計)するのには大量の電子部品が必要でしたが、マイコンによって部品数を一気に減らせることが出来るようになったので、設計工数の簡略化と基板サイズの小型化が実現できるようになりました。マイコンの小型化は加速度的に進んでいるため、スマートフォンのような小型の電子機器にでも使用されることが多くなりました。
・汎用性が高い
一つのマイコンをさまざまな用途で使える汎用性が高い事もマイコンの特徴です。マイコンは組み込みソフトウェアを書き換えることで処理内容を自由に 作成する事が可能になっています。
以前は機能を変更するためにハードウェアの設計変更が必要でしたが、マイコンの登場によって設計変更の工数が圧倒的に減る事になり、電子機器の開発期間も非常に短くなりました。1種類のマイコンを幅広い用途で使えるようになったのでメーカは大量生産が可能となり、マイコンの値段が安価になったことも大きなメリットです。
4.パソコンとマイコンの違い
パソコンとマイコンの違いは、大きく次の3つに分けることができます。
4-1.設計・用途の違い
パソコンは汎用的な用途を目的として設計されています。各種色々なアプリケーションを使用する事ができるように、高性能なCPU・大容量のメモリ・大容量のストレージ・グラフィックスカードなどを搭載しています。
一方マイコンは、使用用途を特定(限定)して設計されています。たとえば家電製品・車載電子機器・産業用制御装置などに使用されています。そのために省電力・低コスト・小型化を求められますので必要最低限の機能に絞っています。
4-2.オペレーティングシステムの有無
パソコンは一般的にオペレーティングシステム(OS)と呼ばれるソフトウェアが必要となります。OSはパソコンのハードウェアとアプリケーションの仲介役として機能しており、パソコンの操作や管理を担当しています。
一方マイコンには専用のOSが用意されている場合と、OSが用意されていない場合があります。OSがある場合でも、パソコン用のOSとは異なっています。
4-3.ハードウェアの制約
パソコンは高性能なCPU・大容量のメモリ・大容量のストレージ・グラフィックスカードなどの搭載をすることができますが、マイコンはそうではありません。マイコンは小型化・省電力・低コストが求められるため、限られたハードウェアで構成されています。
そのためにマイコンでできることには制限があります。たとえば複雑なグラフィックス処理や高度な音声処理を行う事は、マイコンでは難しい場合があります。しかし、その代わりに低レイテンシーなリアルタイム処理・高速なデータ処理が得意です。
(*)レイテンシー(latency):遅延時間
機器等に対してデータ伝送などを要求してから、実際にデータを受信し始めるまでの待ち時間のことを言います。