マイコンの選択【電子工作用途でもARM(STM32)を選ぶべき理由】
さまざまな種類のマイコン
マイコンといっても8ビットでDIPタイプ(多数の金属製接続端子が下方へ伸びたタイプ)や32ビットの表面実装タイプなど性能、価格がさまざまな種類のものが数多くのメーカーから発売されています。
この中からどれを選ぶかは簡単な答えはないのですが、自分の目指している方向性に適しているマイコンを選択するのも一つの方法です。比較的単純なマイコン電子工作だけをしたいのならば8ビットのマイコンで十分で、シリアル通信や産業用モータドライブ、さらには将来的にIoTに発展させたい場合は高性能なマイコンが必要ではないでしょうか。
ARM Cortex-M3コア搭載マイコン
マイコンに興味があって電子工作をしながらマイコンを学ぶ人であれば組み込み機器でも大きなシェアを占めているARMコアからはじめることを強くお勧めします。組み込みスキルを身につけてから活躍の場を求める時に、国内にとどまらず海外にも可能性があるのは世界標準であるARMコアを扱うスキルであるからです。
当サイトではこのような事例を鑑みてこれから取り扱うマイコンとして過不足ないであろう性能をもち将来性、発展性をも考慮したものを取り上げています。いろいろな産業分野でのアプリケーションに応用できるのはもちろん趣味でいろいろな技術(通信系やモータコントロールなど)に挑戦するにも最適なマイコンです。
(学習をはじめるのならばはじめの敷居は高いようですが一度技術を身につけると他に応用するのは容易いです。)
当サイトで取り上げているのはARMのCortex-M3コアを内蔵したマイコンです。ARMという名前だけでも耳にしたことがあるのではないでしょうか。ARMコアはARM社(英国)が提供するアーキテクチャをもつCPUコアで今やマイコンの世界ではもっともシェアを占めています。PCの世界では依然としてIntel社のコアが強いですがスマホ・タブレットの世界で大半を占めているのみならず組み込み機器でも大きなシェアを占めているのがARMコアです。
これから組み込みの世界に入りマイコンを学ぶ人であれば主流であるARMコアを学ぶのは当然有利です。組み込みスキルを身につけてから活躍の場を求める時に、国内にとどまらず海外にも可能性があるのはやはり世界標準であるARMコアを扱うスキルでしょう。実際に業務で使用するマイコンは他のタイプになることは多いと思いますがARMコアは特別なアーキテクチャではないためこのマイコンで開発の基礎を十分に身につけていれば他のマイコンに移行するのは問題ないでしょう。
ARMコアの中でも本サイトではCortex-M3コアを内蔵したSTマイクロエレクトロニクス社のSTM32シリーズのマイコンを採用しています。ARMマイコンのなかでも特に情報が多いからです。STM32マイコンシリーズには上位モデルに浮動小数点プロセッサ付きCortex-M4コアのハイパフォーマンスモデルSTM32F4シリーズなどがありますが、ARMマイコンの入門にはベースモデルのSTM32F1シリーズが最適だと考えます。
STM32マイコンは組み込み技能を身につけたい入門者や初心者にはあまりある高機能・高性能なマイコンなのですが、心配は無用です。当サイトでは大事なところをピックアップしながら解説していますので努力は必要ですが効率よく基礎が身につき、一度基礎を身につけてしまえばどんなマイコンにも通用するでしょう。
ファームウェアライブラリ
ST(STマイクロエレクトロニクス)社で取り扱うマイコンの開発を行うにあたって、ほしい情報は世界を含めて極めて多く、ファームウェアライブラリや開発環境ツールが無料で提供されるのも魅力です。このため必要あれば最新の開発環境にアップデートするのも容易に行なえます。
ファームウェアというものはマイコンの各種機能を操作・設定するレジスタを意識することなくいわばおいしいところだけ利用できるように体型よくまとめたものをC言語で利用できるようになったライブラリです。デバイスドライバともいいます。
ファームウェアを使用すると必要な機能、例えばシリアル通信機能の設定パラメータであるボーレートなどをファームウェアの規則にしたがって記述すればよいだけです。ファームウェアの内部でパラメータがレジスタに設定されるようになっているのです。
各種レジスタについてはマイコンのレファレンスマニュアルに詳細に記載していますが、すべて個人のチカラだけでレジスタの性質・機能を理解しプログラムしていくのはよほどプログラミングに長けた人でない限り心が折れると思います。たしかにファームウェアに頼らずレジスタに直接設定できるすごい人もいますができる人のほうがすくないのではないでしょうか。
便利で利用できるものは利用するというのがこのファームウェアライブラリ(デバイスドライバ)にもあてはまります。大事なことはある程度理解しながら先にすすむことです。
とはいっても、ある程度基礎が身につきゆとりができた場合はファームウェアライブラリの内容をたどっていくとレジスタの働きもよくわかるようになります。また、ファームウェアライブラリはプロフェッショナルのプログラマーたちによって作成されたものなので内容をたどって理解することはプログラミングのスキルをあげるのにも参考になります。
話はファームウェアライブラリのほうへそれましたが、STM32には開発支援のための情報などが豊富に存在するため、自分だけが悩み先にすすめなくなるような可能性が低いと思います。
採用マイコンは高機能であるゆえに設定項目も多いですが必要に応じて選択できます。搭載されている機能を習得すればほぼ大部分のアプリケーションに応用つまりつぶしがきくようになります。
それではSTM32シリーズのマイコンを手にして組み込みの世界に入っていきましょう。
「マイコン学習の初心者にArduinoでなくSTM32Nucleoをすすめるわけ」に当サイトで採用しているマイコン教材を使った学習方法についての優位なポイントを解説しています。
本サイト記載の社名、製品名について:
本サイトに記載されている社名および製品名は一般に開発メーカーの登録商標または商標です。本文中では™ ® ©の各表記を明記していません。