| この記事は
??可能
な
?考文?や出典
が全く示されていないか、不十分です。
出典を追加
して記事の信?性向上にご協力ください。
(
このテンプレ?トの使い方
)
出典?索
?
:
"マイクロコントロ?ラ"
?
ニュ?ス
·
書籍
·
スカラ?
·
CiNii
·
J-STAGE
·
NDL
·
dlib.jp
·
ジャパンサ?チ
·
TWL
(
2020年4月
)
|
マイクロコントロ?ラ
(
英
:
microcontroller
) とは、
CPU
に加えて
RAM
、
ROM
、
I/Oポ?ト
などを1つの集積回路(IC)にまとめた、いわば極小の
コンピュ?タ
[1]
。主に機器の
制御
に使われる
[1]
。略語は英字では
MCU
[2]
。日本語では
マイコン
とも呼ばれる
[注 1]
。
主に機器の制御(コントロ?ル)に使う目的で開?された小さな("マイクロ" な)集積回路でありコンピュ?タなので「マイクロコントロ?ラ」と呼ばれるようになった。
?要
[
編集
]
CPUの機能を備えており1つの集積回路にまとめたものなので、
マイクロプロセッサ
の一種である。ただし、マイクロコントロ?ラは通常、1 MHzから200 MHz(メガヘルツ)程度のクロック周波?で動作しており
[1]
、マイクロプロセッサの中では比較的動作速度が低いという特?がある
[1]
。主な用途として何らかの機器に組み?んで使うこと(
組?システム
)を想定しているので、電力消費量を減らすためにクロック周波?を抑えてある
[1]
。よくある
パ?ソナルコンピュ?タ
のマイクロプロセッサのほうは、大量に電力を消費するわけだが、そちらはたいていは1 GHz ? 3 GHz(ギガヘルツ)ほどで動作しているので、そちらの?分の1??千分の1程度の動作速度ということになる。マイクロコントロ?ラは消費電力が抑えてあるので組?システムに使いやすい。
また、一般的なマイクロコントロ?ラはCPUに加えて、主メモリ(全?、場合によっては一部)とI/Oポ?トを??している。コンピュ?タがコンピュ?タとして動作するには、CPUだけでは足りず、メモリやI/Oポ?トも必要であり、PC用マイクロプロセッサの場合はそれらの必須の機能を得るにはそれを提供する集積回路を別途追加しなければならず、
基板
の上で集積回路の?が?えていってしまい、基板の上の回路のパタ?ンは複?化し、基板の面積も大きくなっていってしまう。それに?して、マイクロコントロ?ラのほうはコンピュ?タに必要な集積回路のほとんどをひとつの小さな集積回路にまとめているので、(いくつか集積回路を足す場合でも、全?として)とても小さく、簡潔にまとまるので、組?システムなど特に「コンピュ?タの物理的な小ささ」が求められる用途に向いている。
マイクロコントロ?ラはさまざまな
組み?みシステム
で使われている。マイクロコントロ?ラは近年のあらゆる家電製品や電子機器類で使われているので、PCで使われるマイクロプロセッサより?かに大量に存在している。
電子工作
の世界でも、マイクロコントロ?ラを使うと電子部品の?が少なくて?むので非常に便利なパ?ツである。(自分で多?の電子部品を組み合わせて自作の回路を作る場合と比べて、はんだづけの手間も?倒的に少なくてすみ、ミスが入り?みにくく、はんだづけ不良や接?不良も減るので動作も安定する。
ブレッドボ?ド
に?してわずかな部品?とわずかな手間で制御?置を?現することもできる。)また近年
メ?カ??ム?ブメント
(?成品に?るばかりでなくデジタル技術も使い自分であれこれと自作してみようという潮流)で
ワンボ?ドマイコン
の
Arduino
も?まったわけだが、ArduinoはAtmel社のマイクロコントロ?ラ
en:ATmega328
で動作している。
電子工作
の世界では(Arduinoを使わずとも)ATmega328や他のマイクロコントロ?ラをブレッドボ?ドに直接?してリ?ド線を伸ばしてさまざまな小さな機器を制御することも行われる。?格もお手頃のものが多く、たとえばATmega328は(その時?の?替レ?トや需給?係にもよるが)1個300円?500円ほどと
[3]
[4]
とてもお手頃な?格なので、「定番の
電子部品
」として親しまれている。
2010年代
後半からはマイクロコントロ?ラは
IoT
を?現する集積回路としても評?が高まっている。
?史
[
編集
]
マイクロコントロ?ラが登場する以前、電子制御分野における制御シ?ケンスは
アナログ回路
や
論理回路
といったハ?ドウェア的に回路で組まれていたため、手順を一部?更するだけでも回路の?更が必要だった。それら制御シ?ケンスを、コンピュ?タシステムを用いたシステムに置き換えた事から始まった。
プログラム??方式
の特?を生かしたコンピュ?タシステムの場合、回路は?更せず??するプログラムを書き換えるだけで制御?容の?更や機能追加が行えるようになった。さらにコンピュ?タシステムをワンチップにしたものがマイクロコントロ?ラ?であった。
世界最初のマイクロコントロ?ラ?は、1971年9月に登場した
テキサス?インスツルメンツ TMS0100シリ?ズ
の TMS1802NC (TMS0102)と言われている
[5]
。TMS1802NCは、電卓?用だったため汎用性はなかった。
汎用性があって大量に使用された最初のマイクロコントロ?ラ?は、1974年に登場した
テキサス?インスツルメンツ TMS1000
シリ?ズであった
[6]
[7]
。
マイクロコントロ?ラが進化するにしたがって??する回路が?えていき、外付けにしなければならない部品が減っている。1980年代から1990年代にかけて、マイクロコントロ?ラの中でも最も成功したものは8ビットのインテル
8051
とザイログ
Z80
の派生品である。
通信機器では1980年代後半から1990年代にかけて
MC68000
とその派生品も多く使われた。
現在では
ARMア?キテクチャ
と
MIPSア?キテクチャ
の派生製品が、32ビット組み?みプロセッサの大きな割合を占めている
[8]
。特に
携?電話
端末におけるARMのシェアは高く、2006年の情報では出荷?が年間24億個を超えたとされる
[9]
。
構成
[
編集
]
組み?みシステムには4つの基本部品が必要となる。それは、
CPU
コア、プログラムを格納する
メモリ
(
ROM
か
フラッシュメモリ
)、ひとつ以上の
タイマ?
(設定可能なものと
ウォッチドッグタイマ?
)、外部周?機器などと通信するための
入出力
部である。マイクロコントロ?ラはこれらが全てひとつの
集積回路
に組み?まれている。マイクロコントロ?ラは、汎用CPUと比較した場合に周?部品が少なくて?むため、コンピュ?タを組み立てるのが容易である。
一般的なマイクロコントロ?ラはクロックジェネレ?タとRAMおよびROM(
EPROM
や
EEPROM
)を??している。これを動作できるようにするには、ソフトウェアをROMに格納して、
水晶振動子
を接?する。マイクロコントロ?ラは??な入出力デバイスを??している。
アナログ-デジタル?換回路
、タイマ?、汎用非同期
シリアル通信
(
UART
)、または
I
2
Cバス
、
SPIバス
、
CANバス
といった特殊なシリアル通信インタ?フェイスなどである。これらの周?デバイスは特殊な命令で制御される。
マイクロコントロ?ラと言った場合、一般的にはCPU機能とメモリや各種ペリフェラルを??した集積回路を指すが、CPU機能のみの?機能集積回路(マイクロプロセッサ)でも組み?み用途で用いる場合はマイクロコントロ?ラと呼ばれることがある。これは特にCPU機能が8ビットのロ?エンド製品に?著である。逆にペリフェラルを??するプロセッサであっても、特に8ビットより上位のCPU機能を含むものは、マイクロコントロ?ラとは呼ばずにプロセッサと呼ばれることもある。
開?環境
[
編集
]
?初マイクロコントロ?ラは、搭載メモリの少なさから
アセンブリ言語
でのみプログラムが組まれていた。メモリ量やCPUの?理能力が向上すると、開??率の?点から
C言語
が使われるようになった。
ホビ?ユ?スや?習用途では、上記言語より導入がスム?ズで初心者にとって理解しやすい
BASIC
言語インタプリタなどの言語?理系があらかじめROMに書き?まれた半完成製品も存在し、
後述のBASIC Stamp
などが該?する。
主なマイクロコントロ?ラ
[
編集
]
アプライド?マイクロ?サ?キット
[
編集
]
??
IBM
が製造販?していたマイクロコントロ?ラシリ?ズ。このシリ?ズのライセンスはApplied Micro Circuits Corporation(
en
)に?却された
[10]
。
- 403
PowerPC
CPU
- 405 PowerPC CPU
- PPC 405EP
- PPC 405GP/CR
- PPC 405GPr
- PPC NPe405H/L
- 440 PowerPC Book-E CPU
- PPC 440GP
- PPC 440GX
- PPC 440EP/EPx/GRx
- PPC 440SP/SPe
アトメル
[
編集
]
サイプレス?マイクロシステムズ
[
編集
]
- PSoC
- CY8C2xxxx
- CY8C3xxxx
- CY8C5xxxx
- AN21xx (EZ-USB)
- CY7C68xxx (EZ-USB FX2)
フリ?スケ?ル?セミコンダクタ
[
編集
]
モトロ?ラ
の半導?事業部が分離/?立した?社。現在はNXPに買?されている。
- 8ビット
- 16ビット
- 68HC12
(CPU12)
- 68HC16
(CPU16)
- Freescale DSP56800 (DSPcontroller)
- 32ビット
富士通
[
編集
]
スパンション
を?て、現在は
サイプレス
から販?されている。
- F2MC ファミリ (8/16ビット)
- FR ファミリ (32ビット)
- Traveo (32ビット)
Holtek(
en
)
[
編集
]
インテル
[
編集
]
Microchip
[
編集
]
- 8ビット
PIC
- PIC10シリ?ズ
- PIC12シリ?ズ
- PIC16シリ?ズ
- PIC18シリ?ズ
- 16ビット
PIC
- 16ビットds
PIC
- 32ビット
PIC
ナショナル セミコンダクタ?
[
編集
]
ルネサス エレクトロニクス
[
編集
]
NXP
[
編集
]
フィリップス
の半導?事業部がファンドに買?され?立した?社で、NXPに社名が?更。
- LPC2000 (ARM7)
- LPC900
- LPC700
STマイクロエレクトロニクス
[
編集
]
テキサス?インスツルメンツ
[
編集
]
- TMS370
- MSP430
- TMS320 (
DSP
)
??東芝(現?東芝デバイス&ストレ?ジ)
[
編集
]
- TLCS-47 (4ビット)
- TLCS-870 (8ビット)
- TLCS-900 (16ビット)
- TMPZ84C0xx (Z80互換)
- TX19/TX39/TX49 (MIPS32, MIPS64)
ウェスタンデザインセンタ?
[
編集
]
- W65C134 (8ビット)
W65C02
ベ?スのマイクロコントロ?ラ
- W65C265 (16ビット)
W65C816
ベ?スのマイクロコントロ?ラ
Ubicom(en)
[
編集
]
- SX-28, SX-48, SX-54:高性能 8ビットマイクロコントロ?ラ (PIC16互換)
- IP2022, IP3023 (マルチスレッド指向の?自ア?キテクチャ)
ザイログ
[
編集
]
ザイリンクス
[
編集
]
アルテラ
[
編集
]
- Nios FPGA用ソフトコア 32ビットマイクロコントロ?ラ
- Nios II
FPGA用ソフトコア 32ビットマイクロコントロ?ラ
Raspberry Pi Ltd
[
編集
]
マイクロコントロ?ラの半完成?用製品
[
編集
]
BASIC組み?みマイクロコントロ?ラ
[
編集
]
マイクロコントロ?ラに、BASICインタプリタ、電源?置などを組み合わせたパッケ?ジとして販?している小企業が?多く存在する。PICが使われていることが多い。
Parallax, Inc.(en)
[
編集
]
秋月電子通商
[
編集
]
PicAxe(en)
[
編集
]
PICにBASICをロ?ドするよりも安?であることが特長。??するBASICは機能が豊富だが構造的な制約が多い。
脚注
[
編集
]
注?
[
編集
]
- ^
1970年代や1980年代の
マイクロコンピュ?タ
のほうも、略語ではマイコンと呼ばれた(今もそれなりの頻度で呼ばれている)ので、日本語では?者の名?が衝突してしまっており、
文脈
がはっきりしていないと使いづらい。特にコンピュ?タ全?の?史(
コンピュ?タ史
)を俯瞰して話をする?況ではかなり使いづらい。一方、明らかに制御機器についてだけ技術者同士が話している?況などではマイコンと呼んでも誤解は受けないので使える。
出典
[
編集
]
?連項目
[
編集
]