この記事でわかること
・PICマイコンの種類と特徴
・PICマイコンの選び方
PICマイコンの種類は豊富で、8ビットタイプだけでも約580種類もあるため、
どれを選べば良いか迷ってしまいます。
本記事では、PICマイコンの種類と特徴を説明すると共に、選び方についても解説します。
PICマイコンの種類
PICマイコンの一覧はマイクロチップ社が提供する下記サイトで検索でき、
必要な機能を指定して絞り込むことができます。
MICROCHIP ADVANCED PART SELECTOR
種類については大別すると、CPUが一度に処理できるビット数によって、
8、16、32ビットに分けられます。
ビット数が多いほど、処理速度が速くなり、
電子工作で使用されるのは8ビットが多く、種類も一番多いです。
(8ビット:約580種、16ビット:PIC24が約260種、dsPICが約390種、32ビット:約230種)
8ビットPICマイコンは、更に3つのアーキテクチャに分類されます。
アーキテクチャとはCPU構造のことで、1命令に使用するビット数(ビットコア)によって、
12、14、16ビットコアがあり、数が多い程、使用できる命令数が多く、高性能になります。
・12ビットコア(ベースライン アーキテクチャ)
命令数33(拡張ベースラインは命令数36)
アーキテクチャの中で、このベースラインだけが割込み処理が使えません。
(拡張ベースラインは割込み処理あり)
PIC10、PIC12と、一部のPIC16に適用されています。
3つアーキテクチャの中で最も性能が低いですが、低コスト・低消費電力という利点があります。
・14ビットコア(ミッドレンジ アーキテクチャ)
命令数35(拡張ミッドレンジは命令数49)
ミッドレンジはPIC10、PIC12、PIC16に、
拡張ミッドレンジはPIC12F1とPIC16F1ファミリに適用されています。
・16ビットコア(ハイパフォーマンス アーキテクチャ)
命令数75(拡張命令セットを有効にした場合は83命令)
8ビットPICマイコンでは最高性能となるPIC18に適用されています。
<補足>
このビットコアが、そのマイコンにおける1word(ワード)でのビット数となります。
例えば、PIC16F18857のプログラムメモリ容量は32kW(ワード)ですが、
14ビットコアなので、1ワード=14ビットとなり、32kW×14ビット=448kビット
これをB(バイト)に変換すると、1バイト=8ビットなので、
メモリ容量をバイト表記した場合、448kビット/8=56kB(バイト)になります。
※以下、本記事では、単位がW(ワード)表記はプログラムメモリ容量、
MHz表記は最大動作周波数を示します。
8ビットPICマイコン
初期の頃はパッケージのピン数で分類され、
6ピン(※)がPIC10、8ピンがPIC12、14ピン以上がPIC16でしたが、
F1ファミリ登場後は8ピンのPIC16も存在し、このルールが適用されていません。
※SMDタイプの場合
PIC10シリーズ
・種類は10種類以下と少ない。
・SMDタイプは6ピン、DIPタイプは8ピン(うち、2ピンはNC(未使用))
・安価(¥100以下の製品がある)
・I/Oピン4本、8ビットタイマ1個が基本構成で、ADC内蔵タイプもある。
・アーキテクチャはベースラインと、ミッドレンジがある。
・主な製品
ベースライン
PIC10F222 512W 8MHz I/Oピン4本、8ビットタイマ1個、8ビットADC
ミッドレンジ
PIC10F322 512W 16MHz 8ビットタイマ2個
PIC10F222の機能に加え、CLC、CWG、NCO機能を持つ
ファンやLED制御を行う小型化回路を作るのに便利
CLC(Configurable Logic Cell):構成可能ロジック セル。 CPLDの様に論理出力をプログラムで構成できる。
CWG(Complementary Waveform Generator):相補波形ジェネレーション
PWM信号を入力すると、重複のない相補信号を出力する。
NCO(Numerical Controlled Oscillator): 数値制御発振器モジュール
DDS(Direct Digital Synthesizer デジタル信号発生器)とも呼ばれ、
デジタル合成で任意の波形(正弦波や矩形波など)を出力する。
PIC12シリーズ
・種類は20種類以下と少ない。
・8ピンパッケージ
・アーキテクチャはベースラインとミッドレンジのほか、F1シリーズは拡張ミッドレンジ
・主な製品
ベースライン
PIC12F509 1kW 4MHz I/Oピン6本、8ビットタイマ1個
ミッドレンジ
PIC12F629/675 1kW 4MHz 16ビットタイマ 675はADCが追加
PIC12F683 2kW 8MHz 16ビットタイマ CCP搭載
CCP(Capture Compare PWM) :キャプチャ・コンペア・PWMモジュール
キャプチャ(入力パルスのカウント)とコンペア(指定したカウント値で割込み発生)機能を持ち、
PWM(パルス幅変調)出力を行う。
拡張ミッドレンジ
PIC12F1501 1kW 16MHz PWM、DACなど
PIC12F1822 2kW 32MHz UART、CPS、SRラッチなど
SRラッチがあることで、タイマIC 555と同等機能を持たせることができるので、
DC/DCコンバータ制御に使用できる。
USART(Universal Synchronous & Asynchronous Receiver/Transmitter):同期/非同期シリアル通信機能
CPS(Capasitive Sensing):容量検知機能。 タッチセンサに使える。
タイマIC 555については下記記事で解説しています。
PIC16シリーズ
・最もよく利用され、種類も400種類以上と非常に多い。
・パッケージは14ピン以上(但し、PIC16F1ファミリの数字5桁Verは8ピンも存在する)
・アーキテクチャは基本的にミッドレンジだが、一部ベースラインもある。
※PIC16F1ファミリは拡張ミッドレンジ
・主な製品
<18ピン>
PIC16F84A 1kW 20MHz 初代定番機 末尾A無(旧タイプ)の周波数10MHzからアップしている。
I/Oピン13本と8ビットタイマ1個のシンプルな構成、
内部発振器(※)が無いため、外部クロックが必要
※外付け抵抗とコンデンサで内部クロックを生成するRCモードがあるが、精度が悪い。
PIC16F88 4kW 20MHz ADC、CCP、内蔵発振器8MHz 84Aと同等価格で多機能
PIC16F628A/648A 2kW/4kW 20MHz
84Aに多彩な機能(CCPやUSARTなど)を追加、価格も安い
PIC16F818/819 1kW/2kW 20MHz ADC、CCPの他に通信機能(I2C、SPI)を持つ
<28ピン>
PIC16F873A/876A 4kW/8kW 20MHz I/Oピンが22本、タイマ3個、ADC、USART
PIC16F886 8kW 20MHz PIC16F87xシリーズの機能強化版
<40ピン>
PIC16F877A PIC16F876Aのピン数(I/O及びADC)増加版
PIC16F887 PIC16F886のピン数(I/O及びADC)増加版
<PIC16F1シリーズ(数字4桁Ver)>
PIC16Fの機能を大幅強化、現在の8ビットPICの中心となっている。
・PIC16F14xx :USB機能を持つ 8kW 48MHz
PIC16F1454/1455 14ピン 1454はADC機能なし
PIC16F1459 1454の20ピン版 ADCのピン数が増加
・PIC16F15xx :ADC、PWMのピン数が多い
PIC16F1503 14ピン 2kW 20MHz CLC機能 安価
PIC16F1508 1503の20ピン版 4kW CLC数が増加
・PIC16F17xx :12ビットADC、DAC、コンパレータ、OPアンプなどアナログ機能が強化
PIC16F1705 14ピン 8kW 32MHz
PIC16F1769 20ピン 8kW 32MHz 大電流駆動I/O(最大100mA)
PIC16F1778/1779 28/40ピン 16kW 32MHz
・PIC16F18xx :通信機能(UART、MSSP)が充実
PIC16F1825 14ピン 4kW 32MHz
PIC16F1827 18ピン 4kW 32MHz PIC16F84A、PIC16F88の後継となる定番機
・PIC16F19xx :CPS機能、LCD駆動モジュールを内蔵
PIC16F1933 28ピン 4kW 32MHz
PIC16F1938 28ピン 16kW 32MHz
<PIC16F1シリーズ(数字5桁Ver)>
8ビットPICマイコンの最新シリーズであり、低価格で性能が強化されている。
アーキテクチャは拡張ミッドレンジで、最大動作周波数は32MHzとなっています。
・主な製品
・PIC16F153xx :小型パッケージでUARTやSPI/I2C通信機能を持つ
PIC16F15313 8ピン 2kW UART 1ch
PIC16F15325 14ピン 8kW UART 2ch
・PIC16F183xx :PWM、CLCなどのデジタル関連機能が豊富
PIC16F18313 8ピン 2kW
PIC16F18325 14ピン 8kW
PIC16F18346 20ピン 16kW
・PIC16F188xx :183xxの機能強化版(I/O、ADC数増加、SMT追加など)
PIC16F18857 28ピン 32kW 本ブログで紹介している学習キットで使用
PIC16F18877 40ピン 32kW 18857のピン数(I/O及びADC)増加版
※SMT(Signal Mesurement Timer):信号計測タイマ。カウンタ動作によるパルス数や時間計測が可能。
PIC18シリーズ
・8ビットでは最高性能、約120種類
・モータ制御、USBなどの高機能モジュールを内蔵
・アーキテクチャはハイパフォーマンス(16ビットコア)
・主な製品
・PIC18Fxxxx :旧標準シリーズ 電源電圧2.0~5.5V
PIC18F2550 28ピン 16kW 48MHz
・PIC18FxxJxx :廉価版シリーズ 電源電圧2.0~3.6V EERPOM無し
PIC18F25J50 28ピン 16kW 48MHz
・PIC18FxxKxx :廉価版シリーズ 電源電圧1.8~3.6V(末尾K20は1.8~5.5V)EERPOM内蔵
PIC18F14K50 20ピン 8kW 48MHz
・PIC18FxxQxx :最新シリーズ 電源電圧1.8~5.5V
PIC18F27Q43 28ピン 64kW 64MHz
16ビットPICマイコン
16ビットPICマイコンにはPIC24シリーズと、DSP機能を有したdsPICシリーズがあります。
DSP(Digital Signal Processor) :デジタル信号処理プロセッサ
デジタル信号処理に特化したプロセッサで、 データ量の多い音声や画像処理を高速で行うことができる。
PIC24シリーズ
処理速度に応じて以下の種類があります。
PIC24F :16MIPS 低コストタイプ
PIC24H :40MIPS 高速タイプ
PIC24E :70MIPS 超高速タイプ
MIPS(Dhrystone Milion Instructions Per Second):ミップス
処理速度を表す単位で、1秒間に何万回の命令を行うことができるかを示す。
dsPICシリーズ
PIC24にDSP機能を持たせたタイプで、処理速度に応じて以下のシリーズがあります。
dsPIC30 :30MIPS
dsPIC33 :40MIPS
dsPIC33E :70MIPS
dsPIC33C :100MIPS
32ビットPICマイコン
PIC32シリーズ
8、16ビットとは異なるMIPSコアを使用した高速マイコンで、以下のシリーズがあります。
PIC32MM :25MHz
PIC32MX :50 ~ 120MHz
PIC32MK :120MHz
PIC32MZ :200/252MHz
PICマイコンの選び方
PICマイコンは製造メーカーであるマイクロチップ社の方針により、
ディスコン(製造中止)になりにくいのが長所と言えますが、
半面、種類が非常に多いことから、どれを選んでよいか悩むところです。
そのような場合には、ロングセラーになっている機種から選ぶ方法がオススメです。
古くなっても売れているのは、それなりの理由があります。
秋月電子の売れ筋ランキングを見てみると、
2011年ベスト20の殆どが、2023年にも残っているのがわかります。
2011年は当時、新製品のF1ファミリが登場しており、
2023年には8機種のF1ファミリがランキング入りしていますが、
それでも、20年以上前の機種が多数選ばれています。
この中で最も古いPIC16F84Aはクロックが内蔵しておらず、ADC機能もありませんが、
新機種に比べ、設定がシンプルなので理解しやすく、
設計例を文献やネットから得やすいことが選ばれる理由と考えられます。
但し、古い機種は価格が高くなる傾向にあり、コストパフォーマンスが悪いため、
量産化を前提とした製品設計には向きません。
2023年の一番人気であるPIC16F1827は、PIC16F84Aの後継機と言える機種で、
ピン配置が殆ど同じで、32MHzクロックを内蔵し、ADC機能はもちろんのこと、
通信機能(UART、SPI/I2C)も備えているにも関わらず、半額程度で入手できます。
本ブログで紹介しているPICマイコン学習キットで使用しているのはPIC16F18857で、
ランキングには入っていませんが、同じシリーズのPIC16F18313がランク入りしています。
このF1ファミリで数字が5桁あるバージョンは、8ビットPICマイコンの新しいシリーズで、
従来のF1ファミリ(数字4桁Ver)よりも高機能で、低価格となっています。
今後、発売されるのは本シリーズであることを考慮すると、
最初から、このファミリの使い方を習得しておくのも、一つの選択肢と言えます。
本ブログのPICマイコン関連記事は、このF1ファミリ(数字5桁Ver)の使い方を解説しています。
本記事で使用する新居浜高専PICマイコン学習キットについては下記記事で解説しています。
プログラム開発ソフト(MPLAB)についての解説記事です。
ソフト設計 第一歩の定番であるLチカ(LED点滅)プログラムについて解説しています。