「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

PICマイコン Lab.

PICマイコンLab.では、PICマイコンに関する情報やPICマイコンを使った電子工作を紹介しています。

あらゆる要求を満たすデバイス群
1-3

PICマイコンの種類

2017-09-102017-09-10

ハーバードアーキテクチャとは?8ビット・16ビット・32ビットPICマイコンの種類と、それぞれの特徴を紹介します。

1-3-1.バスの役割とバス幅による分類

PICマイコンは、一つのチップ内にCPU・メモリー・I/O制御、さらには「周辺モジュール」と呼ばれる特定の機能を実行する回路を搭載し、CPUを中心にバスと呼ばれる信号線で接続されています。PICマイコンのメモリーには、大別するとプログラムメモリー・データーメモリーの二つがあり、それぞれ異なるバスによってCPUに接続されています。

図1-3-1-1は、PICマイコン内部のバスのようすを表したものです。情報を伝送するために使われるバスには、データーバスとプログラムバスの2種類があり、それぞれが独立して動作します。データーバスには、データーメモリー・I/O制御・周辺モジュールが接続され、データーの入出力に使用されます。プログラムバスには、プログラムメモリーが接続され、プログラムメモリーに書き込まれたプログラムから、命令語を読み出すために使用されます。

図1-3-1-1 PICマイコン内部のバスのようす
図1-3-1-1 PICマイコン内部のバスのようす

このように、データーバスとプログラムバスが独立した方式をハーバードアーキテクチャといい、PICマイコンの特徴の一つです。ハーバードアーキテクチャは、バスが同一のノイマンアーキテクチャと比較して、データーとプログラムへのアクセスが競合しないため、一般的には高速動作ができるといわれています。

データーバス・プログラムバスのいずれも、複数ビットの情報をまとめて伝送するために、複数本の信号線で構成され、その本数(ビット数)をバス幅と呼んでいます。データーバスに接続されたデーターメモリー、プログラムバスに接続されたプログラムメモリーのビット幅は、それぞれのバス幅と一致します。メモリーのビット幅とは、一度に伝送できるデーター、または命令語のビット数です。

PICマイコンのデーターバスには、バス幅が8ビット・16ビット・32ビットの3種類あり、それぞれ、8ビットPICマイコン・16ビットPICマイコン・32ビットPICマイコンと呼んでいます。

コラム / バスの種類

CPUとメモリーや周辺装置などを接続するバスには、情報を伝送するデーターバス・情報の位置を指定するアドレスバス・情報の入出力タイミングなどを制御するコントロールバスがあります。プログラムバスは、命令語の伝送に特化したデーターバスといえます。

1-3-2.8ビットPICマイコン

8ビットPICマイコンは、6ピンから100ピンまで約500種類(パッケージの違いは含まない)のデバイスがあり、最大128Kバイトのプログラムメモリーを内蔵しています。ピン数が同じデバイスには、ピン互換性があり、またコード互換性も維持しています。

8ビットPICマイコンのアーキテクチャには、ベースライン・エンハンストベースライン・ミッドレンジ・エンハンストミッドレンジ・PIC18の5種類があり、それぞれに特徴があります。これらのアーキテクチャは、プログラムワードと呼ばれるプログラムメモリーのビット幅(プログラムバスのバス幅)によって分類され、使用できる命令数が異なります。

ベースラインアーキテクチャ

ベースラインアーキテクチャは、12ビットプログラムワードを採用したデバイスです。命令数は33個で、割り込みはありません。汎用I/Oピンと8ビットタイマー1個という基本構成に加えて、8ビットADコンバーター・コンパレーター・データーメモリー・オシレーターなどを内蔵したデバイスもあります。2mm×3mmという極小パッケージもあり、超小型機器に低コストで実装することができます。表1-3-2-1は、ベースラインアーキテクチャのデバイス例です。

表1-3-2-1 ベースラインアーキテクチャ
PIC10 PIC10F200
PIC10F222
PIC12 PIC12F508
PIC16 PIC16F505

ベースラインアーキテクチャの中には、命令数33個に拡張命令を加えたデバイスもあります。PIC12F529T39Aは、MOVLBという拡張命令を1個加えたデバイスで、RFトランスミッターを内蔵しています。

エンハンストベースラインアーキテクチャ

エンハンストベースラインアーキテクチャは、ベースラインアーキテクチャと同じく、12ビットプログラムワードを採用したデバイスです。命令数はMOVLB・RETURN・RETFIEという拡張命令3個を加えた合計36個で、割り込みを備えています。表1-3-2-2は、エンハンストベースラインアーキテクチャのデバイス例です。

表1-3-2-2 エンハンストベースラインアーキテクチャ
PIC16 PIC16F527
PIC16F570

ミッドレンジアーキテクチャ

ミッドレンジアーキテクチャは、14ビットプログラムワードを採用したデバイスです。命令数は35個で、割り込みを備えています。ベースラインアーキテクチャの機能に加えて、SPI・I2C・UARTなどのシリアル通信機能・PWM(パルス幅変調/Pulse Width Modulation)制御・LCD(液晶ディスプレイ/Liquid Crystal Display)制御・オペアンプなどを内蔵したデバイスもあります。表1-3-2-3は、ミッドレンジアーキテクチャのデバイス例です。

表1-3-2-3 ミッドレンジアーキテクチャ
PIC10 PIC10F322
PIC12 PIC12F683
PIC16 PIC16F84A

エンハンストミッドレンジアーキテクチャ

エンハンストミッドレンジアーキテクチャは、ミッドレンジアーキテクチャと同じく、14ビットプログラムワードを採用したデバイスです。ミッドレンジアーキテクチャから性能とメモリー容量を増強したデバイスで、命令数は49個に拡張されています。従来のPICマイコンは、アセンブラに最適化されていましたが、エンハンストミッドレンジアーキテクチャでは、C言語によるプログラム開発が効率的に行えるように、Cコンパイラに最適化された命令が追加されました。エンハンストミッドレンジアーキテクチャは、8ビットPICマイコンの中では、最も新しいアーキテクチャです。特にPIC16F1ファミリーは、8ビットPICマイコンの中心的なデバイスとして位置づけられ、さまざまな機能を備えたデバイスが市場に投入されています。表1-3-2-4は、ミッドレンジアーキテクチャのデバイス例です。

表1-3-2-4 エンハンストミッドレンジアーキテクチャ
PIC12F1XXX PIC12F1822
PIC16F1XXX PIC16F1455
PIC16F1459
PIC16F1508
PIC16F1783
PIC16F1827
PIC16F1936
PIC16F1937
PIC16F1938

電子工作のためのPIC16F1ファミリ活用ガイドブックでは、PIC16F1ファミリーのアーキテクチャ・新しい開発環境であるMPLAB X IDEの使い方・C言語によるファームウェア開発方法・内蔵モジュールの使い方などが詳しく紹介されています。製作例として、RCサーボを使った太陽電池雲台(PIC16F1509)・超小型デジタル電圧計(PIC12F1840)・マルチメーター(PIC16F1783)・LCメーター(PIC16F1936)が掲載されています。

PIC18アーキテクチャ

PIC18アーキテクチャは、16ビットプログラムワードを採用したデバイスです。命令数は75命令(拡張命令セットを有効にした場合は83命令)で、多重割り込みを備えています。PIC18アーキテクチャは、8ビットPICマイコンの中で最も高機能・高性能なデバイスです。従来型のPIC18のほかに、高機能なJシリーズや低消費電力・低価格・高性能なKシリーズがあります。表1-3-2-5は、PIC18アーキテクチャのデバイス例です。

表1-3-2-5 PIC18アーキテクチャ
PIC18 PIC18F1220
PIC18 Jシリーズ PIC18F25J50
PIC18 Kシリーズ PIC18F14K50
PIC18F25K22

改訂版 電子工作のための PIC18F本格活用ガイド

著 者
後閑哲也
出版社
技術評論社
発売日
2008/04/09

1-3-3.16ビットPICマイコン

16ビットPICマイコンは、8ビットPICマイコンと比較して、ハードウェア乗算器の搭載による演算能力の向上・プログラムメモリーとデーターメモリーの大容量化・内蔵する周辺モジュールの高性能化などを行い、PIC18アーキテクチャの性能を大幅に拡張するデバイスとして市場に投入されました。24ビットプログラムワードを採用したデバイスで、強力な割り込みを備え、C言語によるプログラム開発が効率的に行えるように、アーキテクチャそのものがCコンパイラに最適化されています。16ビットPICマイコンには、dsPICシリーズとPIC24シリーズがの2種類があります。

dsPICシリーズ

dsPICシリーズは、デジタルシグナルコントローラ(DSC:Digital Signal Controller)と呼ばれ、従来のマイクロコントローラーユニットの機能に、デジタル信号を高速に処理するDSP(Digital Signal Processor)の演算機能を統合した新しいコントローラーです。例えば、DSPで音声信号を処理することにより、ノイズ抑制・エコーキャンセラー・イコライジング・ゲイン調整などがリアルタイムに行えます。2004年に、初の16ビットPICマイコンとしてdsPIC30Fが発表されました。現在、dsPICシリーズには、dsPIC30F・dsPIC33F・dsPIC33Eの3種類があります。表1-3-3-1は、dsPICシリーズのデバイス例です。

表1-3-3-1 dsPICシリーズ
dsPIC30F dsPIC30F2012
dsPIC30F4013
dsPIC33F dsPIC33FJ64GP802
dsPIC33FJ64MC802
dsPIC33E dsPIC33EP16GS202
dsPIC33EV32GM102

PIC24シリーズ

PIC24シリーズは、dsPICシリーズ(dsPIC33F・dsPIC33E)から、DSP機能を取り除いたものです。現在、PIC24シリーズには、PIC24F・PIC24H・PIC24Eの3種類があります。PCI24Fは、低消費電力・低コストなローエンドデバイス、PIC24H・PIC24Eは、DMA(Direct Memory Access)などの機能が強化された高機能・高性能なハイエンドデバイスです。特に、PIC24EはPIC24シリーズの中で最も高機能・高性能なデバイスです。表1-3-3-2は、PIC24シリーズのデバイス例です。

表1-3-3-2 PIC24シリーズ
PIC24F PIC24F04KA200
PIC24F08KL200
PIC24FJ256GA702
PIC24FJ256GB110
PIC24H PIC24HJ12GP202
PIC24E PIC24EP64GP202
PIC24EP64MC202

1-3-4.32ビットPICマイコン

32ビットPICマイコンは、8ビットPICマイコン・16ビットPICマイコンとは異なり、イマジネーションテクノロジーズ社(Imagination Technologies Ltd.)が提供する32ビットMIPSプロセッサコアを採用したSoC(System on a Chip)です。32ビットMIPSプロセッサコアと強力な周辺モジュールを組み合わせることにより、広範囲なアプリケーションに適用できる、PICマイコンの中で最も高機能・高性能なデバイスです。

PIC32MXシリーズ

MIPS32 M4Kコアを採用したデバイスで、32ビットPICマイコンのベースラインからミッドレンジに位置づけられます。表1-3-4-1は、PIC32MXシリーズのデバイス例です。

表1-3-4-1 PIC32MXシリーズ
PIC32MX PIC32MX250F128B
PIC32MX270F256B

高速・多機能を実現するPIC32MX活用ガイドブック

著 者
後閑哲也
出版社
技術評論社
発売日
2010/04/08

PIC32MMシリーズ

MIPS32 microAptiv UCコアを採用したデバイスで、32ビットPICマイコンのベースラインに位置づけられます。PIC32MMシリーズの特徴は、低消費電力・低コストです。表1-3-4-2は、PIC32MMシリーズのデバイス例です。

表1-3-4-2 PIC32MMシリーズ
PIC32MM PIC32MM0016GPL020
PIC32MM0064GPL028
PIC32MM0064GPL036
PIC32MM0256GPM064

PIC32MK GPシリーズ

MIPS32 microAptiv MCUコアを採用したデバイスで、豊富なシリアル通信モジュールを内蔵し、汎用アプリケーション向けに最適化されています。表1-3-4-3は、PIC32MK GPシリーズのデバイス例です。

表1-3-4-3 PIC32MK GPシリーズ
PIC32MK GP PIC32MK0512GPD064
PIC32MK1024GPE100

PIC32MK MCシリーズ

MIPS32 microAptiv MCUコアを採用したデバイスで、高精度デュアルモーター制御アプリケーション向けに最適化されています。表1-3-4-4は、PIC32MK MCシリーズのデバイス例です。

表1-3-4-4 PIC32MK MCシリーズ
PIC32MK MC PIC32MK0512MCF064
PIC32MK1024MCF100

PIC32MZ DAシリーズ

MIPS32 microAptiv MPUコアを採用したデバイスで、GPU(Graphics Processing Unit)とDDR2メモリーを内蔵することで、画期的なグラフィックス性能を実現しています。表1-3-4-5は、PIC32MZ DAシリーズのデバイス例です。

表1-3-4-5 PIC32MZ DAシリーズ
PIC32MZ DA PIC32MZ1025DAA169
PIC32MZ2064DAH176

PIC32MZ EFシリーズ

MIPS32 M-Class MPUコアを採用したデバイスで、高性能と低レイテンシーを実現するハードウェア浮動小数点ユニット(FPU/Floating point Unit)を内蔵しています。表1-3-4-6は、PIC32MZ EFシリーズのデバイス例です。

表1-3-4-6 PIC32MZ EFシリーズ
PIC32MZ EF PIC32MZ0512EFE064
PIC32MZ2048EFM144
TOPへ移動
目次へ移動