私が電子工作を勉強し始めたばかりのころ、マイコンが何の略なのか疑問に思ったことが何度かあったので、マイコンについて書きます。
「マイクロコントローラー」なのか、それとも「マイクロコンピュータ」なのか
はたしてどっちが正しいのか、、、
ネット検索をしてみましたが、マイコンがどちらの意味をあらわしているかは、分かりませんでした。そもそも、わざわざマイコンとは「マイクロコントローラー」か「マイクロコンピュータ」か、なんて疑問に思う人もあまりいないではないでしょうか?(笑)
私がたどり着いたのは、どっちも正しくてどちらの意味でも使われています。なぜ両者とも使われているのかは、文脈によるからです。ややこしいですよね。
ではどちらの意味も使われるなら、気になるのは、その両者の違いですよね?
マイクロコントローラーとマイクロコンピュータの違い
まずマイクロコントローラーについてです。その名前の通り、なにかコントロールする、つまり制御するときに使われるICです。イメージはワンチップのもので低コストです。マイクロコンピュータにくらべて、出来ることの幅は狭くなります。動作がシンプルで低消費電力なので、最近だとIoT機器に使われることが多いです。マイクロコントローラーというと、PIC(Peripheral Interface Controller)がその代表例です。(PICはマイクロチップテクノロジー社が販売しているマイクロコントローラー製品の総称です)
何かの信号をトリガとして、他のICやLEDなどの素子を動かします。マイクロコントローラーの意でのマイコンは家電製品の中などによく使われています。ボタンを押したら、そのボタン通りに動くのは、マイクロコントローラーが内部にあって、それ用にプログラムされているからです。全てのマイクロコントローラは何かしらのシリアル通信の規格を採用しています。シリアル通信を用いて、たとえばPCと接続したりしてプログラムを記憶させます。
マイクロコントローラーの構成は大きく以下のようになっています。
・マイクロプロセッサ
・RAM/ROM
・入出力回路
マイクロコントローラ-というと、PIC以外にもあります。Intel社の8051、Arduinoで有名なAtmel AVRなどがあります。もっと詳しく知りたい人は、「マイクロコントローラ・プロセッサ・アーキテクチャ」など検索かけると、もっと深い内容が調べられますよ。
次にマイクロコンピュータについてです。イメージは小さなコンピュータです。
コンピュータというだけあって、上記のマイクロコントローラーよりも少し値が上がります。コンピュータなので、コントローラーのように制御するというよりも、複数のタスクをこなしたり、継続的に処理をさせたりする使い方ができます。したがってOSを載せて使うことが多いです。マイクロコンピュータのイメージはマイクロプロセッサに何かほかの装置が付いたものと考えて良いと思います。多くの人が思いつくのは、Raspberry Piだと思います。ディスプレイ等を別に用意すれば、まさにパソコンですよね。このように、パソコンからディスプレイやキーボードなどを除いたものになります。
ここで少し疑問に思うのはArduinoはマイクロコントローラーなのかそれともマイクロコンピュータなのか、ということです。結論からすると、どちらでもないです。Arduinoはその中間的な感じです。マイクロコントローラーがのったオンボード機器です。"シールド"と呼ばれている別途部品を付ければ、マイクロコントローラー以上の性能をさらに発揮します。上の画像はArduino UNOで、黒く細長いのがマイクロコントローラー(ATMega328P)です。
以上です。最後まで読んでいただきありがとうございました。