電子工作

いろいろなPIC

ここのところ大流行していたPICですが、実にさまざまなバリエーションがあります。この中で容易に入手できるものはどんなものでしょうか。12ビットコア、14ビットコアのものを秋葉原のお店の通販の頁から拾ってみました。そのまま引き写しているので正確ではないかもしれません(2012/03/13 webにて、秋月/千石/若松/マルツ)。


PICを選んでみる

リストにしてみると大変な種類で、圧倒されます。これだけ手に入るということはありがたいことです。

アマチュアで遊ぶという観点から見ていくと、リストから、いろいろな条件で絞ることができます。機能はもちろんですが、使いやすさから意外に使える範囲は狭くなります。

  1. フラッシュタイプであること。

    実機で、何回もプログラムを書き直したり、チップを流用したりするのだから、当然、1タイムのものは避けたいし、当然、紫外線消去の必要な窓付きもいまさら選択はできません。ということで、書き込み回数の多い、12FXXXとか16FXXXとかを選ぶことになります。

  2. パッケージはDIPまたは、スリムDIPが望ましい。

    フラットパッケージも最終的にはいいかもしれないけれど、やはり、ICソケットが使えて、標準タイプのものが、やはり、使いやすい。半田付けも容易。それに、ソケットが使えないと、実装したまま書き込める工夫をしなくちゃいけないので、やはり、いろいろ面倒です。

  3. 手持ちの書き込み・ツールで書けること。

    書き込みツールも自作するのがアマチュアの醍醐味だけど、やはり、最初は楽をしたいです。よほどのことがない限り、手持ちのツール(私の場合は秋月のPIC-WRITER)で書き込みたい。

    最近はマイクロチップ製など、フラッシュタイプならば、ほぼ、全種類対応の安価なライターが入手できるので、この制限はゆるく考えて良さそうです。

  4. 安価に入手できること。

    言わずもがなですが、大きいファクターです。同じような規模のPICでも数倍価格が違うこともあるので…


8ピンPICを選んでみる(6ピンを含む)

8ピン以下のチップで考えると、候補は PIC12F508/PIC12F509/PIC12F615/PIC12F629/PIC12F675/PIC12F683。508/509は古典的なC508/C509のフラッシュ版だから押えておきたいけれど、現状では秋月のライターが未対応。

NameProgram
(Words)
EEPROM
(Bytes)
RAM
(Bytes)
ADCcomp8bit
Timer
16bit
Timer
Max
MHz
intOSCCCPReset
PIC10F2000.25-16--1-44M--
PIC10F2220.5-232x8bit11-88M--
PIC12F5080.5k-25--1-44M--
PIC12F5091k-41--144M--
PIC12F6091k-64-111208M-BOR
PIC12F6151k-644x10bot121208M1BOR
PIC12F6291k12864-111204M-BOR
PIC12F6751k128644x10bit111204M-BOR
PIC12F6832k2561284x10bit121208M/32k1BOR

この表から見ると、PIC12F508/PIC12F509は、C508/C509の置き換え用途以外では不要。他の三つは、機能的には、PIC12F683 > PIC12F615 > PIC12F675 > PIC12F629の順。お値段も、例えば、秋月ならば、それぞれ、150円、100円、120円、100円。

結局、PIC12F683か、PIC12F615のいずれかを選択になりそう。PIC12F615はEEPROMがないなど、容量が少ないけれど、四つのADとCCPを同時に使えます(PIC12F683は、ADとCCPが重なるので、同時使用ならば、三つのADとCCP)。

どちらのチップにもシリアルI/Oが無いのが、ちょっと、つらいところ。そういう使い方をしなければ良いのですが。

PIC12F629/PIC12F675ば、メリットは少ないですが、EEPROMがあるので、PIC12F615よりも使える場合があるかもしれません。PIC12F683より、多少、お安いのでこの辺は、お値段で判断といったところ。

629/635/675/683は、フラットパッケージ版も入手できるので、小さく作る場合には便利かもしれません。

PIC10F200/PIC10F222米粒PIC。6ピンのとても小さなパッケージで部品的な使い方に向いていそうです。お値段も、60円/80円とお安い。デバッグ用に8ピンのものも手に入ります。この二つは14ビットコアなので、割り込みが使えないなどの制限があります。割り切って使うのが面白そうです。


16FXXXから選ぶ

ピン数の多いもの、つまり、ある程度の規模の回路で使うときの選択です。実はフラッシュタイプでないものにも魅力的なものが多いのですが、目をつぶってフラッシュものから選んでみます。

namepinsProgram
(Word)
EEPROM
(Bytes)
RAM
(Bytes)
I/OADC
8bit
ADC
10bit
Comp8bit
Timer
16bit
Timer
USARTI2C/SPIMax
MHz
intOSCCCP/ECCPSelfWrite
PIC16F68814P4k25625612-8211EUSART-208M/32k0/1-
PIC16F627A18P1k12822416--221AUSART-204M1/0-
PIC16F628A18P2k12822416--221AUSART-204M1/0-
PIC16F648A18P4k25625616--221AUSART-204M1/0-
PIC16F71618P2k-128134--21--20-0/1-
PIC16F81918P2k25625616-5-21-I2C/SPI2081/0Yes
PIC16F84A18P1k646813---1---20---
PIC16F8818P4k25636816-7221AUSARTI2C/SPI2081/0Yes
PIC16F67720P2k25612818-12211-I2C/SPI208M/32k--
PIC16F69020P4k25625618-12221EUSARTI2C/SPI208M/32k0/1Yes
PIC16F78520P2k25612818-12221--208M/32k1/0-(2OpAmp)
PIC16F5728P2k-7220---1---20---
PIC16F7328SP4k-192225--21USARTI2C/SPI20-2/0-
PIC16F7628SP6k-368225--21USARTI2C/SPI20-2/0-
PIC16F873A28SP4k12819222-5221AUSARTMI2C/SPI20-2/0Yes
PIC16F876A28SP8k25636822-5221AUSARTMI2C/SPI20-2/0Yes
PIC16F88328SP4k25625625-11221EUSARTMI2C/SPI208M/32k1/1Yes
PIC16F88628SP6k2563682511221EUSARTMI2C/SPI208M/32k1/1Yes
PIC16F7440P4k-192338--21USARTI2C/SPI20-2/0-
PIC16F74740P4k-36836-14221AUSARTMI2C/SPI208M3/0-
PIC16F7740P6k-368338--21USARTI2C/SPI20-2/0-
PIC16F874A40P4k12819233-8221AUSARTMI2C/SPI20-2/0Yes
PIC16F877A40P8k25636833-8221AUSARTMI2C/SPI20-2/0Yes
PIC16F88740P8k25636836-14221EUSARTMI2C/SPI208M/32k1/1Yes
PIC16F91440P4k25625636-8221AUSARTI2C/SPI208M/32k2/0-

ピン数のバリエーションが増えたので、選択肢が増えました。

18ピンと20ピンは、一つのグループと考えてよいでしょう。新しいデバイスは20ピンで出てきそうです。18ピンは、値段がこなれてきているので、使いやすくなっています。

まず、18ピンから選ぶとすると、PIC16F88が機能的には最も充実しています。値段も秋月では230円で他と大差なく、お買い得感があります。

お値段がこなれて使いやすくなったのは、PIC16F716/PIC16F627Aでそれぞれ、秋月で110円と160円。PIC16F716はUSARTなし、PIC16F627Aありといったところ。プログラムが小さければ、このどちらかで間に合うことも多いと思います。

20ピンはPIC16F690PIC16F88相当で、お値段もこちらの方が安いくらい。変り種が、PIC16F785で、オペアンプを二つ内蔵しています。これも、使いやすそうです。

28ピンでは機能的には、PIC16F785。お値段と機能のバランスから言うと、PIC16F886。こちらは、プログラム容量がちょっと少ないだけで、お値段としては、18ピンと変わりません。

40ピンでも、新しいデバイスのPIC16F887。機能的には40ピンの標準だったPIC16F877Aと変わらないのに安いです。あとは、CCPが三つ付いているPIC16F747がちょっと面白そうです。


PICのライター

いつもPICの書き込みに使っているのは、秋月のライター(Ver.4)。つい最近もバージョンが上がりました。対応デバイスの種類も多くなっているは頼もしい限りです。PIC10F、PIC12、PIC16、PIC18のPICに対応しています。歴史が古いハードなので、フラッシュでないPICにも書けるのが強み。PIC24シリーズやdsPICには書けません。

また、秋月では、後述のマイクロチップのPICKIT2互換のライターも出ています。レバーソケットが載っているので、簡単に書き込みが出来る点で、PICKIT2より使いやすいかもしれません。

マルツからも新しいライターが出ました。MPIC06-KIT。キットで組み立てが必要。比較的新しいチップの対応が主。dsPICなどにも書けます。

フリーのライターで、比較的新しいチップでもかけるものということで、捜していたのですが、オレンジ電子さんのライターが具合がよさそうです。インタフェースもパラレルポートでなく、シリアル。しかも、tx,rxのみの仕様なので、通信さえできれば、USB経由のRSでも問題なく動きそうです。チップのレパートリーも続々と増えています。

本家のマイクロチップ社からも、ローコスト(3000-9000ぐらい?)のライターが出ています。Pickit2がそれです。このPickit2とデモボードを組み合わせでも販売されています。対応チップは、そのデモボードで書き込みをすると範囲が狭いのですが、インタフェースを自作すれば(自作といってもソケットとコネクタぐらい)、かなり広い範囲のものに書けるようです。新しいチップに対する対応が速いのも本家の強みです。本来はISP書き込み用でこの端子が、通常のピン端子なので接続が簡単な点も便利。

マイクロチップの標準的なツールはICD2。お値段は少々張りますが、殆どのチップに書けます。総合的なデバッグツールとしての機能も魅力です。こちらも、ISP書き込みなのですが、端子がモジュラー端子。これがちょっと使いにくいところです。手元では、変換基板を用意して使っています。

また、ハードウェアが古いせいか、MCLRをI/Oとした場合、一度書き込むと書き換えが出来なくなることがある仕様で、この点はPickit2の方が使いやすいと思います。

メニューへ戻る
アルゴ算法堂へ戻る