マイコンは情報家電や白物家電をはじめ、さまざまな機器に搭載されており、設置場所もオフィス・工場・病院・インフラ設備等、多種多様です。それぞれの用途に合わせたマイコンが製品には搭載されており、必要な処理性能・サイズ・コスト・消費電力等、複数の条件に合うマイコンが多数存在しています。
今回は「マイコンの開発をしたいけれど、どのように選べばよいか分からない…。」という方に向けて、マイコン選びのアプローチ方法をTexas Instruments社(以下TI社)の製品を参考に紹介していきます。
2つのアプローチ方法
マイコンを選ぶ方法として、2つのアプローチ方法があります。
- マイコンの各仕様を検討してから選ぶ方法
- 推奨アプリケーションから選ぶ方法
次にそれぞれのアプローチについて、順番にご説明いたします。
1. マイコンの各仕様を検討してから選ぶ方法
一般的なマイコンの選び方は、仕様を決めることから始まります。
しかし、マイコンはソフトウェアが絡むので、仕様を決めるための各項目が、アプリケーションのどのようなところへ影響するか具体的に想像しにくいですよね?
ここではマイコンの代表的なスペックがアプリケーションのどのような部分に影響するのか、3つの項目に分けて説明していきます。
1. CPUの性能
CPUの性能が高いと、短時間で、より多くの処理を行うことができるようになります。CPUの性能は特に下記4つの指標が重要となり、指標の組み合わせによって性能が変わるため、すべてを加味して判断する必要があります。
また、机上でCPUの性能を見積もることは困難であるため、前回使用していたマイコンの処理能力を参考にしたり、まずは処理能力が高いCPUを持つマイコンで開発を始めるケースが多いです。
項 目 | 概 要 |
動作周波数 | 高いほどCPUの性能は高くなり、動作するプログラムの実行速度に影響します。マイコンの仕様としては、設定できる動作周波数の上限として「最大動作周波数」が規定されています。 |
ビット数 | 多いほどCPUの性能は高くなり、一度にフェッチ、演算できるデータ量に影響します。マイコンの場合は、8~32bitのものが多いです。 |
コアの数 | コアの数が多いほど、CPUの性能は高くなります。多くのマイコンはシングルコアになっておりますが、コアの数が増えると複数の処理を並列して行うことができます。 |
コアの種類 | コアの種類によって保有している命令の種類や数が異なり、一つの処理に必要とするサイクル数も変化するため、当然CPUの性能も変わってきます。近年は、Armコアを採用したマイコンの普及が広がってきています。 |
2. メモリの容量
多くのマイコンはFlashとRAMの2種類を内蔵しており、どちらも必要なメモリの容量は開発するプログラムに依存します。そのため、一概にどのくらいの容量が必要なのか定義することが難しいので、まずは大きいメモリの評価ボードを使ってプログラムを開発されることをおすすめします。
FlashとRAMについては下記の通りです。
項 目 | 概 要 |
Flash(KB) | プログラムのようにマイコンの電源を落としても保持しておきたいデータの格納に必要なメモリのことです。 |
RAM(KB) | プログラム実行中に生成されるデータなど、マイコンの電源を落とすと消えてしまうようなデータの格納に必要なメモリのことです。 |
3. 周辺機能
マイコンでは多様な機能を保有している製品があります。基本的にはマイコンに接続するデバイスや信号によって異なるため、接続デバイスとどのように通信するのか都度確認を行った上で決めていく必要があります。
ここでは、マイコンでよく使う代表的な機能を説明します。
項 目 | 概 要 |
シリアル通信 | 他デバイスとデジタル信号で通信するために使用します。代表的なものでSPI、I2C、UARTなどがあり、接続するデバイスによって、対応する通信が異なります。他にも有線LAN接続に必要なEthernet、PC等との接続を容易にするUSB、車載用途によく使われるCAN、LINという規格もあります。 |
ADC(ch, bit. SPS) | センサーの出力などになる、アナログ信号をデジタル信号に変換するための機能で、アナログ出力のセンサー等に使用します。マイコンによって内蔵しているADCのチャネル数やビット数、スピードが異なるので、取り込むアナログ信号の数や、必要とする変換値の品質を確認する必要があります。 |
Timer(ch, bit) | マイコンの処理の中で、時間的な間隔を生成したり、計測したりする機能です。マイコンのプログラムのさまざまな場面で使用するため、時間に関わる処理を行うか?等を確認する必要があります。 |
GPIO | General Purpose I/Oの略になります。例えばマイコンの電源電圧が3.3Vの場合、3.3V(High)の信号と0V(Low)の信号を制御することができます。 |
LCDコントローラ | 液晶ディスプレイを制御するための機能です。ディスプレイを使用するアプリケーションにおいては検討する必要があります。 |
2. 推奨アプリケーションから選ぶ方法
マイコンの仕様を決めることが基本といっても、様々な仕様の項目があるため、やっぱり難しい… という方もいらっしゃるのではないでしょうか?
そんな方は、推奨アプリケーションから選ぶ方法がおすすめです。
多くのマイコンはシリーズごとに推奨アプリケーションが用意されており、どのようなアプリケーションを開発するのか明確にすることができれば、おおよそのマイコンのシリーズを決定できます。
該当するマイコンのシリーズには、おのずと推奨アプリケーションに必要と思われる性能と機能が盛り込まれているため、まずは各シリーズの代表的な評価ボードを触ってみて、機能や性能に過不足があるか検証してみると良いと思います。
TI社のマイコンシリーズを見てみよう
TI社の汎用的なマイコンには下の図の通り、4つのシリーズがあり、スペックの観点で行くと、CPUの性能によって各シリーズを使い分けることができます。
各シリーズにはCPUの性能が違うだけでなく、それぞれ固有の機能を持っていたり、得意とするアプリケーションも異なります。
次は各シリーズの概要と、よく使われるアプリケーションの例を見ていきましょう。
MSP430™ シリーズ:超低消費電力なFRAMマイコンが魅力!
MSP430シリーズは、超低消費電力を特徴とする16bitマイコンです。電池による動作など、低消費電力を必要とするアプリケーションに最適です。
アプリケーション例
- 体温計などの電池で動作する小型機器
- 火災、煙探知機
特長
- 16bit MSP430コア
- 低消費電力で高速・柔軟な書き込みが可能な次世代メモリ、FRAMを搭載した製品もあり
- ノイズ耐性の優れた静電容量タッチセンサ「capTIvate」やトランスインピーダンスアンプ、超音波センシング機能「USS」など、充実したアナログ機能
関連リンク
MSP432™ P4シリーズ:Arm® Cortex® -M4Fで低消費電力!
MSP432P4シリーズは、Arm® Cortex® -M4Fを搭載した、低消費電力な32bitマイコンです。低消費電力を必要とするアプリケーションで、MSP430シリーズよりも更に性能が向上させたい方に最適です。
アプリケーション例
- 電子スマートロック
- アクセスコントロールパネル
- 各種 IoTシステムのエンド端末
特長
- 高性能32ビット・コアのArm® Cortex® -M4Fを搭載
- 1MSPS、13.2ENOBの高性能な14bit ADC
- MSP430のペリフェラルがそのまま継承されており、MSP430/MSP432シリーズでスムーズなソフトの移植が可能
関連リンク
MSP432E4シリーズ:豊富なインターフェースに対応!
MSP432E4シリーズは、Arm® Cortex® -M4Fを搭載した、接続性を重視した32bitマイコンです。EthernetPHYを必要とするアプリケーションやカラー液晶、センサーハブなどのアプリケーションに最適です。
アプリケーション例
- IoT/産業用ゲートウェイ
- ファクトリ制御とファクトリ・オートメーション
- ビルディング・オートメーション
特長
- 高性能32ビット・コアのArm® Cortex® -M4Fを搭載
- 最大でSPI 4ch、UART 8ch、I2C 6chの豊富なシリアル通信に対応
- カラーLCDコントローラや、PHYを内蔵したEthernet通信機能、USB(OTG)と搭載した製品あり
関連リンク
C2000シリーズ:リアルタイム制御アプリケーション向け!
C2000シリーズは、リアルタイム制御を得意とする32bitマイコンです。モーター制御や、デジタル電源などのアプリケーションに最適です。
アプリケーション例
- デジタル電源
- モータの各種フィードバック制御
- 電気自動車向けのオンボードチャージャ
特長
- DSPに匹敵する演算性能をもつ32bitC28xコアを搭載
- メメインコアと独立した制御ループを構築可能な Control Law Accelerator(CLA)を搭載した製品あり
- リアルタイム制御を手助けする12MSPS以上のADCや、ピーク電流モード・コンパレータ、DAC
関連リンク
※お探しのアプリケーション例が無かった方
TI社の以下ページで更に詳しくアプリケーションごとに使用している製品が掲載されていますので、ぜひこちらをご参照ください。
マイコン アプリケーション
使ってみたいTI社のマイコンシリーズはありましたか?
下記のリンクで、各シリーズでお勧めの評価ボードを紹介しています。それぞれお手頃な評価ボードのシリーズになっておりますので、まずは試しに動かしてみてはいかがでしょうか?
おすすめマイコンボード6選!超初心者向けからArm ®搭載製品もご紹介
また、TI社では必要な機能からマイコンを絞り込めるツールが用意されています。各仕様を組み合わせて入力すれば、すぐに最適なデバイスを探すことができます。
使い方
http://www.tij.co.jp/ja-jp/microcontrollers/products.html
上記にアクセスすると以下のようなクイック・サーチがございます。必要な条件を選んでいただくと簡単にフィルタリング出来るため、最適なマイコンを素早く探すことが出来ます。
ご紹介したマイコンに触れてみたい方は定期開催セミナーへの参加がおすすめ!
初めてマイコンを触られる方向け
限定8名! 初心者のためのマイコンワークショップ <無料>
マイコンの開発経験があり、MSP430について学びたい方向け
限定8名! TI マイコン MSP430の基本がわかるハンズオンワークショップ <無料>
最後に
いかがでしたでしょうか。今回ご紹介したアプローチ方法を今後の参考にしていただければと思います。また、TI社ではマイコン初心者向けの記事「Q&A でよく分かるマイコン基礎の基礎」をご用意していますのでこちらも是非ご覧ください。
Q&A でよく分かるマイコン基礎の基礎
※クリックするとTI 社サイトに移動します
第 1 回 マイコンとパソコンは何が違うの?他にどんなコンピュータがあるの?
第 2 回 マイコンボードで何ができるの?キーボードやディスプレイはつながる?
第 3 回 マイコンのプログラムはどこにあるの?PCのプログラムは?
第 4 回 マイコンのプログラムはどうやって作るの?誰が作るの?買ってくるの?
第 5 回 マイコンを開発するには何が必要?統合開発環境(IDE)って何?
第 6 回 マイコンはなぜいろんな種類があるの?何を使えばいいの?
第 7 回 マイコンが 8 ビット、16 ビット、32 ビットって何が違うの?
第 8 回 Arm の 32 ビット・マイコンについて詳しく教えてください
第 9 回 マイコンのクロック周波数って何?速いほどいいの?
第 10 回 マイコンのメモリ容量って何?大きいほどいいの?
第 11 回 マイコンの汎用 I/O って何ですか?
第 12 回 マイコンの汎用 I/O の構造と使い方を教えてください
第 13 回 マイコンのタイマって何?何ができるの?
第 14 回 本に書いてあるプログラム例を実行できないのはなぜ?
第 15 回 プログラム言語はなぜいろんな種類があるの?何を使えばいいの?
第 16 回 プログラム開発中にエラーが出るのはなぜ?どんなエラーがあるの?
第 17 回 実行時エラーとはどんなエラー?ビルドに成功したのになぜエラーが出るの?
第 18 回 マイコンの消費電力って何?どうしたら省電力にできるの?
おすすめ記事はこちら
MSP430シリーズ搭載
水滴が付いてもタッチ検出可能!2つの静電容量方式とは
C2000シリーズ搭載
マイコンを使ったモータ制御 -ブラシレスDCモータ制御を動画で解説-
たった5分でセンサレス・モータ制御を実現する LAUNCHXL-F28027F
その他関連記事
マイコンとはここが違う!デジタル信号処理に特化したDSPとは?
商品の購入はこちら
MSP430シリーズ MSP-EXP430FR2433
MSP430シリーズ MSP430F5529 LaunchPad
MSP430シリーズ MSP430FR5969 LaunchPad
MSP432P4シリーズ MSP432P401R LaunchPad
MSP432E4シリーズ MSP-EXP432E401Y
C2000シリーズ LAUNCHXL-F28027 LaunchPad