マイコン
目次
マイコンとは
マイコン(micro controller)とは、簡単に言ってしまえば小さなPCです。 では、なぜマイコンが開発されたのでしょうか?
マイコンが開発されるまでは、機械にある特定の動作を組み込むためには 電気回路が使われていました。
PCも突き詰めていけば論理回路(入力に対して特定の出力を返す素子)の集合体ですので、理論的にはどんな機能でもアナログ回路だけで実装できます。
しかし、目的に合わせたアナログ回路を開発するのは非常にめんどくさく、時間もかかるしミスります。 そこで、汎用マイクロコントローラというものが開発されました。
名前の通り幅広い機能を実装できるマイコンは、機器の小型化、低価格化に大きく貢献しました。
構成
- CPU(中央処理装置)
基本的な処理を行います。頭です。様々な計算処理をしてくれます。 - ROM(記憶装置)
プログラムを記憶します - (RAM(メモリー)) ←いったん無視してよし
- (タイマー) ←いったん無視してよし
- IO(入出力装置)
実際に動作するところです。詳しくは後で説明。
ROMとRAM
- Read Only Memory (ROM)
データ保存 - Random Access Memory (RAM)
データ高速読み書き
という違いがあります。 これら2つには得意不得意があり、ROMは保存しておくことが(というかそもそも書き込みは通常できない)、RAMはすぐに取り出したり変更したりするのが得意です。
まぁ実際にはいろーーーんな種類がありますが、上の覚え方で一応生きてはいけると思います。
つまり、ROMが大きいと保存量が、RAMが大きいと処理速度が上がります。
PCのストレージ=ROM、メモリ=RAMと考えてしまって問題はないでしょう。
動作原理
マイコンは次のフローチャートのようにして動いています。
- PCでプログラムを書く
- コンパイラでバイナリに変換する
- 書き込みモードでマイコンのROMに書き込む
- 実行モードにする
- ROMからプログラムを読み込む
- 実行される
つまり、マイコンは実行モードで電源を入れられるとROMに書き込まれているプログラムを自動で実行するようになっています。
機能
さて、一般によく使われるようなマイコンにはどのような機能があるでしょう?
マイコンは、複数の入出力ピンが存在するチップです。 そしてそれらの入出力ピンは基本的にほぼ同一の動作をします。 ピンの中にはあらかじめ使い方が決まっているものもあるので注意が必要です。
基本的な入出力は GPIO(General Purpose Input Output) と呼ばれます。 GPIOピンは入出力としてHigh,Lowの電圧の受け取り、出力ができます。 物によっては入力として任意の電圧値を(アナログの値)受け取ることができることもあります。
使用するマイコンのデータシートをよく読み、正しい回路を引きましょう。