マイコン:僕の知る限りの歴史

この記事は慶應ロ技研 Advent Calendar11日目の記事になります。

こんにちは、このブログではお初のintenです。よ・ろ・し・くです☆

で、はじめに。

はじめに、僕とマイコンとの歩みから説明しようと思います。彼女と出会ったのはそう、もう7年も前になります。僕も彼女も若かった。多少彼女の方が年増な感じもあったけど、まだまだ今に比べればウブな部分があったことを記憶していて・・・。

やめます。恥ずかしくなってきた。

ということで、僕が初めてマイコンというものに触れたのは7年前、2009年だったと思います。(正直記憶が曖昧)。最近では、割りと市民権を獲得したと思えるマイコンですが、一時期はパソコンの普及によって下火でした。少なくとも当時周りの人間でマイコンのことを聞ける人がいなかったことは認識しています。

自分ではマイコン界隈の新参ものであるという自覚は今でもあるのですが、むしろ最近のmbedが流行る世の中(ろ技研)をみると自分も古いのかと思わされることもあります。

そこで、どうせなら後輩のために何かしら得難い情報としてマイコンの歩みなんてものを超短い期間ではありますが、記そうと考えました。正直役立つかどうかは疑問が多いに残りますが、単なるHowtoなら他サイトに良質なものが五万とありますから、なさそうなものを書こうという魂胆です。ただ、主観なのでところどころ誤りはある可能性があります。

歴史

一番古い記憶(2009年くらい):PIC

まずはコイツについて話さなければ…。

PICはご存知Micorchip社が作るマイコンです。当時から日本でマイコンと言ったらコイツのことでした。どうやら、米国では当時からAVRが流行っていたということらしいのですが、日本では物好きが使うもの程度の扱いで性能自体は認められていましたが、PICユーザに比べれば1/10もいなかったと思います。

というのも、日本でPICが流行る原因は主に2つあると思います。

  1. 秋月がプッシュしてる
  2. 後閑さんの本

1と2が互いにどちらが原因になって起こった結果である可能性は十分にありますが、僕の入ったときには既にどちらもありましたし、どちらもPICを使用する後押しになっていました。

1の方は現在でもわかりやすいことなので良しとして、後閑さんって誰よ?ってね。現在でも後閑さんのWebページは生きています。電子工作の実験室

このページそのものもgoogle検索で上位に来るので影響力は計り知れないですが、個人的には彼の本がさらにすごかったと思います。電子工作のためのPIC16F活用ガイドブック

この本の素晴らしい点はその網羅性にあります。厚さをみれば一目瞭然なのですが、厚い、ゆえに内容が濃い。辞書として持つ価値が十分にありました。この本に影響されたアキバ市民は多い、はず。うんうん、と頷く男たちの声が聴こえる気がします(幻聴)。

このころのPIC

ここまでで、PICが流行った理由を見ましたが、PICが流行ったはいいものの今とは大分事情が異なりました。ある決定的なものが不足していたのです。それは…

良質なフリーのCコンパイラ

「はぁ?何わがまま言ってのんの」って感じは覚えますが、今の状況を鑑みてください。どこ見てもCないし、Cと同程度以上の言語で動くのは当たり前になっています。しかもそこにお金かけるとか考えませんよね?

たしかに当時も良質なCコンパイラがなかったわけではありません。先述の後閑さんの本でも主にCコンパイラを使用する前提で半分書かれています。しかし、気になるお値段は約3万円…。( ゚∀゚)・∵. グハッ!!

もちろん、そんな金趣味でやるにはちょっと高いですし、無論学生には手が出せませんでした。無料のCコンパイラもあるにはあったのですが、最適化が糞でしかもプログラムメモリが2kワードまでと厳しい制約があり、使う価値が感じづらいものでした。そこで、我々は渋々次の選択肢を取ります。

標準で使えるアセンブラ

これがある意味悲劇であり、いまから思えば基礎を学ぶいい機会でした。最近ではただのしょうもない武勇伝ですが、この影響で僕のプログラミング言語童貞をアセンブラで捨てることになりました。

アセンブラにはアセンブラなりに良さはありました。

  1. 処理系統を意識しなければならず、処理系統を結果として学べる
  2. 1命令、1サイクルの規則があるので、時間応答に厳しく作れる

1はそのまんま。レジスタをちょくで弄るので否が応でも中身が分かります。ポインタで引っかかるとかあまちゃんって状態です。つか、ポインタしか扱ってねぇ。

2は今となってはわかりづらいかもしれません。というのも例えばCで一命令にかける時間は何クロック?って聞いても答えられるわけがないからです。それは、コンパイラさんのみが決めることで我々はコンパイル後の状態を観察することでしかそれを知る術がありません。しかし、アセンブラでは言うなればそのコンパイル後の状態を直接手で書くことになるので、当たり前ですが「この命令は◯クロックで動きます」なんてことが断言できます。ゆえに、20MHzのクロックで最高0.2usの制御が可能でした。(PIC16Fは1サイクル1命令。1サイクル4クロックでした。)

しかし、弊害も大きく、当時は高度なコードを組むのはほぼ不可能でした。ゆえに、マイコンと言ってもその多くが計算資源を上手く使えていたかというとそうではなく、ロジックで組めるのをマイコンで代替したものに毛が生えた程度のものでした。

2010年頃:Japanino(arduino)登場

再度になりますが、これは僕の主観です。

ココらへんからマイコン界隈の風向きが変わります。なんと大人の科学が付録としてJapanino(arduino)をだして来たのです。大人の科学 No.27

最初はこれを高校の先生におすすめされたのを今でも覚えています。(塚本先生ありがとうございました。)Japaninoもといarduinoは当時画期的なマイコンでした。それもそのはず、前項までの事情を見ればわかりますね?

何よりもその使いやすさが際立っていました。使用言語がC++であるだけでなく、ライブラリも充実していましたし、PICでは必ず必要だった初期設定も見事に隠蔽しています。そのおかげでマイコン入門の壁が非常に低くなり、誰でも簡単にアクセスできる時代が到来しました。しかも値段がarduinoの3000円だけを支払えば、後必要なものは無い。一切ない。そこも非常に魅力でした。PICでは(AVRも)必ずライタという5000円程度のものがなければICあってもプログラムが書き込めないので動かせなかったのに対してarduinoはライタを積んだ状態で3000円でした。実際には5000円のライタにはデバッガ機能がついているので単純な比較はできません。しかし、多くのユーザがそこまでヘビーユーザでないため、その機能の有無は無視されがちです。

とにもかくにも、これでマイコンの敷居が低くなりました。ニコニコ動画でのタグ数を見てみたのですが、

こんな実情でした(2016 12/5現在)。新参ものであるarduinoの方が約2倍多いというのは、初めて知りましたが、arduinoがどれだけマイコン界隈の人口を増やしてくれたのかを如実にあらわしていると思います。

僕の認識ではarduinoのおかげでAVRのお株も同時にあがりました。arduinoの中身はAVRなので当たり前といえばそうですが。ただ、やはり使われるのはもっぱらarduinoです。

arduino最強。

2012年頃:mbedの息吹

ここはかなり曖昧な記憶です。たしかこの当たりで行ったMake:faireで初めて見ました。当時はまだブースの一角で先に知っていたmbedユーザがの方が頑張って広げてる(というか自分でボード作って、流行らせようとしてた?)レベルで過ごそうではあるが、まだ文献は皆無、もちろん秋月で扱うわけもなくというものでした。(当時はまだarduinoですら秋月にはなかったはず)。

そして、この当たりから僕のマイコン知識が薄れ始めます。というのもね。僕2014年入学ですから。

2014~:Nucleo時代

こう感じるのはロ技研に居るせいですかね?(なんか見た目がNuclear時代(核の時代)っぽくてかっこいい)正直なところ、Nucleoはロ技研入って知ったので、偉そうに言えないのですが、やはり秋月電子通商が扱いだしてくれたのは大きいと思います。彼らは良質な部品を比較的低価格(低価格とは言ってない)で売ってくれますから。もう、arduinoの3000円すら高いと感じる時代です。PICのときに比べれば大きな進歩だと、これで分かっていただけるのではないでしょうか?ウェブでコード書いてマイコンに外部記憶装置の容量で書き込むというのも時代を表している感じが個人的にはしました。(PICの頃はデバイスマネージャー開いてポート確認してそのポートの書き込むという、また初心者ちんぷかんな操作がありました。arduinoにも簡易的ではありますが存在します。)

さらに、言うと人によってはここにラズパイを入れるかもしれませんね。ラズパイをマイコンに入れるのはどうかとも思いますが、マイコンとパソコンの境界なんてざっくり言って性能が良い悪いという定性的なものでしかないので、むしろ分ける方が古い考え方ですね。

これからの時代

歴史とか言っときながらこれからの話題をします。これまたかなり個人的解釈です。よければ聞いていってね☆

見てきたとおり、再三にはなりますが僕の始めた7年前から見ればいまは随分とマイコンに親しめる時代です。マイコンそのものはそれこそ僕の親父が学生の時代に8ビットマイコンなんかが流行っていたそうですが、それがパソコンの普及で衰退したにも関わらず今、再び栄えようとしています。これには世の中の大きな潮流があると見ます。

昨今、buzzwordとして用いられるIoTです。

世の中は「パソコンの処理性能を上げていく時代」から「そこらじゅうにコンピュータがある時代」に推移しようとしています。まさにユビキタス社会なのですが、そこには必ずマイコン的な要素が入ってくるはずです。もっと現金な話をすれば、マイコンを使ってデータを集める技師というのは今後ますます需要が高くなるはずです。いくら機械学習ができるようになってもそのデータを集めるのは人間の仕事であることは当分変わる予定はなさそうです。言うなれば、AIに職が奪われにくい非常にホワイトな環境ではないかと思います。

ぜひ皆さんもマイコンユーザになって見ませんか?

 

 

広告

マイコン:僕の知る限りの歴史」への2件のフィードバック

  1. ピンバック: かわロボ 進捗状況 | 慶應義塾大学ロボット技術研究会

  2. ピンバック: 報告し損ねた活動記録2016 | 慶應義塾大学ロボット技術研究会

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中