マイクロコントローラ
マイクロコントローラ(microcontroller、MCU、μC)は、コンピュータシステムをひとつの集積回路に組み込んだものである。
目次
- 1 概要
- 2 詳細
- 3 主なマイクロコントローラ
- 4 関連項目
- 5 出典
概要
電子機器の制御用に最適化されている。 パーソナルコンピュータに使われる汎用マイクロプロセッサと比較すると、自己充足性と低価格性を重視したタイプのマイクロプロセッサと言える。 一般的なマイクロコントローラはメモリ全体(場合によっては一部)と用途に応じたI/Oを内蔵している。汎用マイクロプロセッサの場合、それらの必須の機能を提供するには周辺チップを追加しなければならない。1個のチップのみでコンピュータとして機能させられるということで「ワンチップマイコン」という語もある。
マイクロコントローラは様々な電子機器で使われている。詳細は組み込みシステムを参照のこと。マイクロコントローラは近年のあらゆる電子機器や家電製品に組み込まれているので、パーソナルコンピュータなどで使われる汎用的なマイクロプロセッサより遥かに大量に存在している。
詳細
組み込みシステムには4つの基本部品が必要となる。それは、CPUコア、プログラムを格納するメモリ(ROMかフラッシュメモリ)、ひとつ以上のタイマー(設定可能なものとウォッチドッグタイマー)、外部周辺機器などと通信するための入出力部である。
マイクロコントローラはこれらが全てひとつの集積回路に組み込まれている。マイクロコントローラは、汎用CPUと比較した場合に周辺部品が少なくて済むため、コンピュータを組み立てるのが容易である。
対して、マイクロプロセッサでは様々な周辺チップが必要である。例えば、必ずいくつかのRAMメモリチップが必要である。全体のメモリ容量は汎用マイクロプロセッサの方が柔軟に変更可能であるが、メモリチップは確実に必要で、それらのチップの間の配線も必要である。
一般的なマイクロコントローラはクロックジェネレータとRAMおよびROM(EPROMやEEPROM)を内蔵している。これを動作できるようにするには、ソフトウェアをROMに格納して、水晶振動子を接続する。マイクロコントローラは様々な入出力デバイスを内蔵している。アナログ-デジタル変換回路、タイマー、汎用非同期シリアル通信(UART)、またはI²Cバス、SPIバス、CANバスといった特殊なシリアル通信インターフェイスなどである。これらの周辺デバイスは特殊な命令で制御される。
当初マイクロコントローラは、搭載メモリの少なさからアセンブリ言語でのみプログラムが組まれていた。メモリ量やCPUの処理能力が向上すると、開発効率の観点からC言語が使われるようになった。 ホビーユースや学習用途では、上記言語より導入がスムーズで初心者にとって理解しやすいBASIC言語インタプリタなどの言語処理系があらかじめROMに書き込まれた半完成製品も存在し、後述のBASIC Stampなどが該当する。
マイクロコントローラと言った場合、一般的にはCPU機能とメモリや各種ペリフェラルを内蔵した集積回路を指すが、CPU機能のみの単機能集積回路(マイクロプロセッサ)でも組み込み用途で用いる場合はマイクロコントローラと呼ばれることがある。これは特にCPU機能が8ビットのローエンド製品に顕著である。 逆にペリフェラルを内蔵するプロセッサであっても、特に8ビットより上位のCPU機能を含むものは、マイクロコントローラとは呼ばずにプロセッサと呼ばれることもある。
歴史
もともとは電子制御分野でアナログ回路や論理回路で構成されていた制御シーケンスを、コンピュータシステムを用いたシステムに置き換えた事から始まった。 それまでは制御手順がハードウェア的に回路で組まれていたため、手順を一部変更するだけでも回路の変更が必要になる。しかしプログラム内蔵方式の特徴を生かしたコンピュータシステムの場合、回路は変更せず内蔵するプログラムを書き換えるだけで制御内容の変更や機能追加が行えるようになった。
また価格を抑えるため、汎用的なコンピュータより機能を必要最低限に絞り、ワンチップ化したものがマイクロコントローラである。 マイクロコントローラは性能と柔軟性を犠牲にして、低価格と機器設計の容易性を追求したものである。
マイクロコントローラが進化するにしたがって内蔵する回路が増えていき、外付けにしなければならない部品が減っている。1980年代から1990年代にかけて、マイクロコントローラの中でも最も成功したものは8ビットのインテル8051とザイログZ80の派生品である。
通信機器では1980年代後半から1990年代にかけてMC68000とその派生品も多く使われた。
現在ではARMアーキテクチャとMIPSアーキテクチャの派生製品が、32ビット組み込みプロセッサの大きな割合を占めている [1]。 特に携帯電話端末におけるARMのシェアは高く、2006年の情報では出荷数が年間24億個を超えたとされる[2]。
主なマイクロコントローラ
AMCC
従来IBMが製造販売していたマイクロコントローラシリーズ。このシリーズのライセンスはApplied Micro Circuits Corporationに売却された[3]。
- 403 PowerPC CPU
- PPC 403GCX
- 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
Atmel
- Atmel AT91 series (ARM THUMBアーキテクチャ)
- AT90, Tiny, Mega, AVR32, and XMEGA シリーズ – AVR (Atmel Norway design)
- Atmel AT89 series (Intel 8051/MCS51 アーキテクチャ)
- MARC4
サイプレス・マイクロシステムズ
- PSoC
- CY8C2xxxx
- CY8C3xxxx
- CY8C5xxxx
- AN21xx (EZ-USB)
- CY7C68xxx (EZ-USB FX2)
フリースケール・セミコンダクタ
モトローラの半導体事業部が分離/独立した会社。
- 8ビット
- 16ビット
- 32ビット
- Freescale 683XX (CPU32)
- 68360 (QUICC)
- ColdFire (68020互換RISC)
- M・CORE
- PowerPCコアファミリ
- MPC500 (車載向けPowerPC)
- MPC850/860 (PowerQUICC)
- MPC8240/8250/8260 (PowerQUICC II)
- MPC8540/8555/8560 (PowerQUICC III)
- Freescale 683XX (CPU32)
富士通
- F2MC ファミリ (8/16ビット)
- FR ファミリ (32ビット)
Holtek
- HT8
インテル
- 8ビット
- 16ビット
- 80186/88
- MCS96
- MXS296
- 32ビット
Microchip
- 12ビット命令 PIC
- PIC12シリーズ
- PIC12C50x
- PIC12シリーズ
- 14ビット命令 PIC
- PIC16シリーズ
- PIC16C5x, PIC16F84, PIC16F8xx
- PIC16シリーズ
- 16ビット命令 PIC
- PIC18シリーズ
- PIC18F2xxx, PIC18F4xxx
- PIC18シリーズ
ナショナル セミコンダクター
- COP8
- CR16
ルネサス エレクトロニクス
- μCOMシリーズ (4ビット、8ビット、16ビット)
- 17K (4ビット)
- 78K0S (8ビット)
- 78K0 (8ビット)
- 78K0R (16ビット)
- 78K4 (16ビット)
- Vシリーズ
- V40/V50/V53 (16ビット)
- V850 (32ビット)
- VRシリーズ (MIPS64)
- VR41xx (MIPS64)
- VR5500 (MIPS64)
- VR7700 (MIPS64)
- H8
- H8/300H
- SuperH
- M32R
- M16C
- R8C/Tiny
NXP
フィリップスの半導体事業部がファンドに買収され独立した会社で、NXPに社名が変更。
- LPC2000 (ARM7)
- LPC900
- LPC700
STマイクロエレクトロニクス
- ST 62
- ST 7
テキサス・インスツルメンツ
- TMS370
- MSP430
- TMS320 (DSP)
東芝セミコンダクター社
- TLCS-47 (4ビット)
- TMP47C4xx
- TLCS-870 (8ビット)
- TLCS-900 (16ビット)
- TMPZ84C0xx (Z80互換)
- TX19/TX39/TX49 (MIPS32, MIPS64)
Western Design Center
- 8ビット
- W65C02ベース マイクロコントローラ
- 16ビット
- W65816ベース マイクロコントローラ
Ubicom
- SX-28, SX-48, SX-54:高性能 8ビットマイクロコントローラ (PIC16互換)
- IP2022, IP3023 (マルチスレッド指向の独自アーキテクチャ)
ザイログ
ザイリンクス
- MicroBlaze FPGA用ソフトコア 32ビットマイクロコントローラ
- PicoBlaze FPGA用ソフトコア 8ビットマイクロコントローラ
アルテラ
- Nios FPGA用ソフトコア 32ビットマイクロコントローラ
- Nios II FPGA用ソフトコア 32ビットマイクロコントローラ
マイクロコントローラの半完成応用製品
BASIC組み込みマイクロコントローラ
マイクロコントローラに、BASICインタプリタ、電源装置などを組み合わせたパッケージとして販売している小企業が数多く存在する。PICが使われていることが多い。
Parallax, Inc.
- BASIC Stamp:有名だが、低速で高価。
- SX-Key:プログラマは高価だが、チップ自体は安い。
秋月電子通商
- PIC-BASIC:BASIC Stampの日本版とも言える製品で日本語の資料が充実している。
PicAxe
PICにBASICをロードするよりも安価であることが特長。内蔵するBASICは機能が豊富だが構造的な制約が多い。