PICマイコンの種類
ハーバードアーキテクチャとは?8ビット・16ビット・32ビットPICマイコンの種類と、それぞれの特徴を紹介します。
1-3-1.バスの役割とバス幅による分類
PICマイコンは、一つのチップ内にCPU・メモリー・I/O制御、さらには「周辺モジュール」と呼ばれる特定の機能を実行する回路を搭載し、CPUを中心にバスと呼ばれる信号線で接続されています。PICマイコンのメモリーには、大別するとプログラムメモリー・データーメモリーの二つがあり、それぞれ異なるバスによってCPUに接続されています。
図1-3-1-1は、PICマイコン内部のバスのようすを表したものです。情報を伝送するために使われるバスには、データーバスとプログラムバスの2種類があり、それぞれが独立して動作します。データーバスには、データーメモリー・I/O制御・周辺モジュールが接続され、データーの入出力に使用されます。プログラムバスには、プログラムメモリーが接続され、プログラムメモリーに書き込まれたプログラムから、命令語を読み出すために使用されます。
このように、データーバスとプログラムバスが独立した方式をハーバードアーキテクチャといい、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は、ベースラインアーキテクチャのデバイス例です。
PIC10 | PIC10F200 PIC10F222 |
---|---|
PIC12 | PIC12F508 |
PIC16 | PIC16F505 |
ベースラインアーキテクチャの中には、命令数33個に拡張命令を加えたデバイスもあります。PIC12F529T39Aは、MOVLBという拡張命令を1個加えたデバイスで、RFトランスミッターを内蔵しています。
エンハンストベースラインアーキテクチャ
エンハンストベースラインアーキテクチャは、ベースラインアーキテクチャと同じく、12ビットプログラムワードを採用したデバイスです。命令数はMOVLB・RETURN・RETFIEという拡張命令3個を加えた合計36個で、割り込みを備えています。表1-3-2-2は、エンハンストベースラインアーキテクチャのデバイス例です。
PIC16 | PIC16F527 PIC16F570 |
---|
ミッドレンジアーキテクチャ
ミッドレンジアーキテクチャは、14ビットプログラムワードを採用したデバイスです。命令数は35個で、割り込みを備えています。ベースラインアーキテクチャの機能に加えて、SPI・I2C・UARTなどのシリアル通信機能・PWM(パルス幅変調/Pulse Width Modulation)制御・LCD(液晶ディスプレイ/Liquid Crystal Display)制御・オペアンプなどを内蔵したデバイスもあります。表1-3-2-3は、ミッドレンジアーキテクチャのデバイス例です。
PIC10 | PIC10F322 |
---|---|
PIC12 | PIC12F683 |
PIC16 | PIC16F84A |
エンハンストミッドレンジアーキテクチャ
エンハンストミッドレンジアーキテクチャは、ミッドレンジアーキテクチャと同じく、14ビットプログラムワードを採用したデバイスです。ミッドレンジアーキテクチャから性能とメモリー容量を増強したデバイスで、命令数は49個に拡張されています。従来のPICマイコンは、アセンブラに最適化されていましたが、エンハンストミッドレンジアーキテクチャでは、C言語によるプログラム開発が効率的に行えるように、Cコンパイラに最適化された命令が追加されました。エンハンストミッドレンジアーキテクチャは、8ビットPICマイコンの中では、最も新しいアーキテクチャです。特にPIC16F1ファミリーは、8ビットPICマイコンの中心的なデバイスとして位置づけられ、さまざまな機能を備えたデバイスが市場に投入されています。表1-3-2-4は、ミッドレンジアーキテクチャのデバイス例です。
PIC12F1XXX | PIC12F1822 |
---|---|
PIC16F1XXX | PIC16F1455 PIC16F1459 PIC16F1508 PIC16F1783 PIC16F1827 PIC16F1936 PIC16F1937 PIC16F1938 |
PIC18アーキテクチャ
PIC18アーキテクチャは、16ビットプログラムワードを採用したデバイスです。命令数は75命令(拡張命令セットを有効にした場合は83命令)で、多重割り込みを備えています。PIC18アーキテクチャは、8ビットPICマイコンの中で最も高機能・高性能なデバイスです。従来型のPIC18のほかに、高機能なJシリーズや低消費電力・低価格・高性能なKシリーズがあります。表1-3-2-5は、PIC18アーキテクチャのデバイス例です。
PIC18 | PIC18F1220 |
---|---|
PIC18 Jシリーズ | PIC18F25J50 |
PIC18 Kシリーズ | PIC18F14K50 PIC18F25K22 |
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シリーズのデバイス例です。
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シリーズのデバイス例です。
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シリーズのデバイス例です。
PIC32MX | PIC32MX250F128B PIC32MX270F256B |
---|
PIC32MMシリーズ
MIPS32 microAptiv UCコアを採用したデバイスで、32ビットPICマイコンのベースラインに位置づけられます。PIC32MMシリーズの特徴は、低消費電力・低コストです。表1-3-4-2は、PIC32MMシリーズのデバイス例です。
PIC32MM | PIC32MM0016GPL020 PIC32MM0064GPL028 PIC32MM0064GPL036 PIC32MM0256GPM064 |
---|
PIC32MK GPシリーズ
MIPS32 microAptiv MCUコアを採用したデバイスで、豊富なシリアル通信モジュールを内蔵し、汎用アプリケーション向けに最適化されています。表1-3-4-3は、PIC32MK GPシリーズのデバイス例です。
PIC32MK GP | PIC32MK0512GPD064 PIC32MK1024GPE100 |
---|
PIC32MK MCシリーズ
MIPS32 microAptiv MCUコアを採用したデバイスで、高精度デュアルモーター制御アプリケーション向けに最適化されています。表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シリーズのデバイス例です。
PIC32MZ DA | PIC32MZ1025DAA169 PIC32MZ2064DAH176 |
---|
PIC32MZ EFシリーズ
MIPS32 M-Class MPUコアを採用したデバイスで、高性能と低レイテンシーを実現するハードウェア浮動小数点ユニット(FPU/Floating point Unit)を内蔵しています。表1-3-4-6は、PIC32MZ EFシリーズのデバイス例です。
PIC32MZ EF | PIC32MZ0512EFE064 PIC32MZ2048EFM144 |
---|
PICマイコン関連のおすすめ品
月刊トランジスタ技術10年分(2001年~2010年)の記事をまとめた一冊。
PICマイコン製作記事全集[1500頁収録CD-ROM付き]月刊トランジスタ技術10年分(2001-2010)から集大成(アーカイブスシリーズ)
- 著 者
- トランジスタ技術編集部
- 出版社
- CQ出版
- 発売日
- 2014/04/12
PIC16F1ファミリのアーキテクチャ、新しい開発環境であるMPLAB IDE Xの使い方、C言語によるPICのファームウェア開発方法、内蔵モジュールの使い方と具体的な製作例などについて詳細に解説しています。
dsPICとは、16ビットマイコンにDSP機能を組み込んだプロセッサです。内蔵モジュールの使い方やDSP機能の使い方、C言語によるプログラミング方法など、dsPICを使いこなす上で必要となる情報を詳しく解説しています。
PIC16F1827を使用した、赤・緑・青・黄のLED27個を円柱状に光らせる3Dイルミネーションキットです。PIC16F1827のプログラムは書き換えが可能で、C言語によるプログラミングが学習できます。詳しいマニュアルは株式会社イーケイジャパンよりダウンロードできます。
エレキット ピカ・タワー AW-864
エレキットのアートする電子工作シリーズ。 LED(発光ダイオード)を使用した3Dイルミネーションキットです。LEDは赤・緑・青・黄の4色、全部で27個使用して、円柱状に配置したLEDを光らせます。