技術コラム(第17回) マイコンについて

このコラムでは、マイコンについて以下の流れでご説明いたします。
 マイコンとは?
 マイコンでできること
 マイコンの例
 マイコンの使い方
 マイコンの選定方法
 プログラムの開発環境
 終わりに

マイコンとは?

マイコンとは、家電製品や産業機械などの制御に利用されるICです。マイコンという呼び方以外にも、マイクロコンピュータ、マイクロコントローラ、MCU(Micro Controller Unit)と呼ばれることもあります。これらの名称にもある通り、マイコンは小さなコンピュータで、CPU(演算処理装置)、メモリ、入出力回路などが内蔵されています。

マイコンの構成図

組込開発.comでの開発実績の多くはこのマイコンを利用しています。

マイコンでできること

上記で述べた通り、マイコンは小さなコンピュータです。
プログラムを書き込むことで、入力装置(スイッチ、センサなど)からの値を取り込み、マイコン内で計算・処理し、出力装置(LED、LCDなど)に出力するといった動作ができます。

マイコンのできること 図

さらに、マイコンにもよりますが、以下のような機能も持っています。

 割り込み機能

あらかじめ決めておいた特定の状態になると、通常プログラムの処理を停止して、別の処理を実施する機能

 タイマー機能

時間を計測する機能

 A/D変換機能

センサなどのアナログデータをデジタルデータに変換する機能

 シリアル通信(USB、UART、I2C、SPIなど)機能

センサやほかのICなどと通信するための機能

 スリープ機能

利用しないときにマイコンの動作を停止し、消費電流をおさえる機能

ここに挙げた機能はごく一部で、他にも様々な機能があります。

マイコンの例

多くのメーカーから様々なマイコンが販売されています。ここではその一部についてご紹介したいと思います。

 PICシリーズ

Microchip Technology社が製造するマイコン。ホビーユースで使われることが多く、様々な書籍、Webページで解説されています。

PIC 写真
PIC

 STM32シリーズ

STMicroelectronics社が製造する32bit汎用マイコン。製品ごとに様々な機能を搭載しています。

STM32 写真
STM32

 nRF51/nRF52シリーズ

Nordic Semiconductor社が製造するマイコン。無線通信の機能が内蔵されており、無線モジュールに搭載するマイコンとしてよく利用されています。

nRF51/nRF52 写真
(左)nRF51 (右)nRF52

マイコンの使い方

マイコンの利用方法について、以下2通りの方法があります。

  • マイコンを選定し、それに合わせた周辺回路を自分で用意する場合
    準備に時間がかかりますが、自分でいろんなカスタマイズがしたい場合はこちらを選択します。
  • マイコンが搭載されたマイコンボードを購入してそのまま利用する場合
    カスタマイズ性はやや劣りますが、準備に時間をかけず簡単に用意したい場合はこちらを選択します。
    マイコンボードについては、例を以下に紹介いたします。

マイコンボードの例

 Microchip Curiosity 開発ボード

Microchip社が製造するボードで、PICが実装されています。ボードとPCをUSBで接続するだけで利用でき、ボードによってはPICを交換することもできます。

Microchip Curiosity 写真
Microchip Curiosity

 Nucleo32/Nucleo64

STMicroelectronics社が製造するボードで、STM32が実装されています。ボードとPCをUSBで接続するだけで利用でき、Arduinoと接続できるヘッダピンが用意されています。

Nucleo32/Nucleo64 写真
(左)Nucleo32 (右)Nucleo64

 Arduino

マイコン、I/Oポート用コネクタ、USBコネクタ、電源コネクタなどが一つのボードに搭載されたマイコンボードです。用意されているコネクタに線を接続するだけで利用できます。

Arduino 写真
Arduino

 Raspberry Pi

OSを搭載したマイコンボードです。電子工作しやすいようにパソコンにI/Oポートを取り付けた製品といったほうが正しいかと思います。もともとは学習用として開発されましたが、最近では開発現場でも利用されています。組込開発.comの開発実績の中にもRaspberryPiを利用しているものがあります。

Raspberry Pi 写真
Raspberry Pi

マイコンの選定方法

これまでご紹介した通り、世の中には様々なマイコンがあります。
このため、マイコンを利用する際は、どれを使えばよいのかということで悩みます。
ここでは、マイコン選定ポイントの一部をご紹介したいと思います。

 I/Oポートの数

必要な入出力の数に合わせて、マイコンを選定します。

 メモリ容量

メモリにはプログラムやデータが保存されます。
このため、プログラムの内容によって必要なメモリ容量が変わります。
マイコンによりメモリ容量が違うため、適切なメモリ容量のマイコンを選定します。

 マイコンの大きさ

携帯デバイスなど小型化が必要な場合は、それに合わせてマイコンを選定します。

 消費電力

電池を利用するデバイスなどは必要に応じて消費電力の小さいマイコンを選定します。

プログラムの開発環境

マイコンのプログラムを開発する場合は、マイコンのメーカーが提供している統合開発環境を利用します。このツールでは、プログラムを作り、マイコンが読める形式に変換し、マイコンにプログラムを書き込むことができます。ただし、プログラムを書き込む場合は書き込み用機器が必要です。
統合開発環境は無料で提供されていることが多いです。また、近年では、マイコンの基本設定や各種機能設定などのプログラムを自動的生成してくれるようになっており、開発が楽になってきています。ただ、統合開発環境により使い方が違うのため、慣れるのに時間がかかることもあります。
なお、プログラム言語はC言語が多いです。リアルタイム処理やプログラムサイズを小さく抑えるなどがマイコンに向いているため、古くからあるC言語がいまだに使われています。

終わりに

組込開発.comでは、マイコンを利用したハードウェアやファームウェア開発(マイコンプログラム開発)を行っております。開発規模によって、一つのICに周辺回路の機能まで詰め込んだ1チップマイコンを用いた開発事例や、規模が大きい為CPU(処理装置)の周辺に色々な機能を持つICを接続して開発する事例などが有ります。これまでの開発実績は以下リンクよりご確認ください。

投稿者プロフィール

ソフト担当T
ソフト担当T
メインはソフト担当ですが、筐体設計も担当します。プログラミング言語はPythonやC言語の経験が多いです。また、たいチャレ(詳細は右バーナー参照)にも参加しており、日々、様々なことを学びながら業務に取り組んでいます。