マイコンって凄いの?

Facebook
Twitter

こんにちわ。
外の空気の生暖かさに来る8月への不安を感じざるを得ないTです。
外出される時は、携帯、水分か小銭。帽子をお忘れないようにしてくださいね。

さて、今回は初回という事で、
マイコンって基板に乗っかってすごい事してるみたいだけど何!?という人を対象に、
今回は、マイコンというICのさわりの部分を書いてみようと思います。
概念的な話なので、雰囲気を掴む感じで読んで頂ければと思います。

マイコンってどういうIC?

今では当たり前のように基板の上に鎮座して、
基板の制御を自由自在に行っているように見えるマイコンですが、
さて、このICは一体どういったICなのでしょうか?

大雑把に役割を表現すると、プログラマブルなデジタル回路。と言えると思います。
初期状態では、何も動くことが出来ず。
各マイコン毎に決められた方法で、外部からhexファイル等の動作を記載したデータを流し込む事で
そのデータに従って動作する素子、となります。

具体的に何が得意なのでしょうか?

マイコンの得意分野は、自身の足をパタパタさせることです。

面接官 「あなたの長所を教えてください」

マイコン君 「足をパタパタできます!」


面接官 「( ^ω^)・・・」


面接官 「不採用!」

待ってください。本当です!!

・・・というより、デジタル回路なので基本それしか出来ないのですよね。
詳しく言うと、足をHigh(VCC相当)にしたり、Low(GND相当)にしたり出来ます。
ただ、それを高速に。正確に。行う事が可能で、実はマイコンのメリットはそこにあります。

そもそも、実在する通信方式自体も、
SPI通信は3本のラインがパタパタして実現してるわけですし、
IIC通信も2本のラインが、UARTなんか1本のラインがパタパタして離れた場所にデータを送ってます。
少し乱暴な纏め方になりますが、会社内のPC同士で行っているLAN通信もパタパタして実現しています。

LEDのPWM調光に利用するPWM信号も、High/Lowの割合が正確なパタパタ。
リニア調光に利用するアナログ電圧も、そのPWM信号にRCフィルタを通して作れます。
つまり、マイコンとは足を(素早く正確に)パタパタして何かを実現出来てすごい!!
入力に関しても同様の事が言えます。

(そもそも、デジタル回路とは・・・といった話は無しの方向で・・・)

マイコンの内部機能

でも、マイコンってアナログ値も読めますよね?

はい。読めます。

パタパタだけじゃないじゃん。ってなりますけれど、
あれは、ICの内部にADコンバータを物理的に実装していて、
そこに入力されたアナログ値をデジタル値に変換してレジスタに書込み。
その書き込んだ値を見る事で実現しています。

画像元 : https://edn.itmedia.co.jp/edn/articles/1206/08/news113.html

レジスタ等の内部動作に関しては、また次回のネタにさせて頂こうと思いますが、
こういった、IC内部に実装しマイコンの手助けをする回路は、
内蔵機能と呼んでいてデジタル回路だけでは実現が難しい部分を手助けしてくれたり、
複雑な制御が必要な部分を引き受けてくれたりします。(データシートとかではPeripheralsと表記されたりする)


アナログ値を読むケースは、基板を作る上で当たり前のように登場しますので、
今のマイコンは、ADコンバータは当たり前のように実装されていますね。
(わたしはADコンバータがあたり前な世代ですが、一度ADコンバータが無いマイコンに当たって泣いたことがありました・・・)

この内蔵機能なのですが、他には、

割込み機能、通信機能、RESET機能(電源安全機能)、不揮発メモリ機能、タイマー機能、PWM機能、スリープ機能辺りが代表的でしょうか。
割込みなんかは、マイコンの特筆すべき機能ですね。
一般的に言われる、マイコンって何でも出来てすごい!!って部分は、主に内蔵機能の力だと個人的に思ってて、
最近は高機能になってきたなぁって言われるのは、動作速度とこの内蔵機能を指している事が多い印象です。

まとめ

マイコンが居れば、あとは何とかしてくれる。
ハードウェアは何となく組んだから、あとは(不備は)ソフトで吸収して。

みたいな声が聞こえてくるマイコンさんですが、
やってる事は、内部機能やマイコン周辺で実装頂いた回路を手持ちのカードにして、
高速でペチペチしてるだけなんですよ
っていうお話でした。

マイコンを知ってる人からすれば、何当たり前の事書いてんだって内容なのですが、
私から見た視点で、マイコンって何ぞや?を書いてみましたが、如何でしたでしょうか?