PIC16F690は、比較的新しいチップですが、最近では製作記事なども増え、利用者もどんどん増えているようです。PIC16F690は新しいチップだけあって、いろいろと魅力的な特徴を満載していますので、簡単に紹介したいと思います。
| PIC16F 690 |
PIC16F 88 |
PIC16F 648A |
PIC16F 628A |
PIC16F 84A |
|
|---|---|---|---|---|---|
| プログラムROM(W) | 4K | 4K | 4K | 2K | 1K |
| データRAM(B) | 256 | 368 | 256 | 224 | 68 |
| データROM(B) | 256 | 256 | 256 | 128 | 64 |
| I/O | 18 | 16 | 16 | 16 | 13 |
| タイマー(8/16) | 2/1 | 2/1 | 2/1 | 2/1 | 1/0 |
| ADC(ch) | 12 | 7 | - | - | - |
| コンパレーター | 2 | 2 | 2 | 2 | - |
| (E)USARTT | 1 | 1 | 1 | 1 | - |
| SSP | 1 | 1 | - | - | - |
| 内蔵発信器(最高周波数) | 8MHz | 8MHz | 4MHz | 4MHz | - |
| 電源 | 2.0-5.5V | 4.0-5.5V | 3.0-5.5V | 3.0-5.5V | 4.5-5.5V |
PIC16F690は、さまざまな点で機能強化が図られていますが、一方でPIC16Fファミリーの基本は継承していますので、機能強化された点は別として、従来慣れ親しんできたPICの知識を活用して利用することが出来ますので、まずはご安心ください。
いろいろな用途でPICを利用していると、あと1ピンあれば。。。ということに、よく遭遇しますね。これまでも、発信回路を内蔵することで、クリスタルの接続端子を開放してI/Oに当てられるようになったり、リセット端子をI/Oに割り当てられるようになったりと、I/Oピンを1本でも多く確保する方策が採られてきており、大変助かったものです。ですが、それでも足りないと、28ピンのチップを利用しなければならないなど、もう少し。。。に対して少し敷居が高いのが実情でした。PIC16F690は、従来の標準的な18ピンに変えて20ピンのパッケージになりI/Oとして、利用できるピンが2本増加しました。この2本が救世主に感じられる方も多いのではないでしょうか。
I/Oピンの強化機能としては、PORTA,PORTBの各ピンに対して、プルアップの設定や、Interrupt on change機能の設定が、個別に行えるようになったことなども上げられます。
AD変換チャネルは、PIC16F88の7チャネルに比べ、PIC16F690は12チャネルに増えています。用途にもよるでしょうが、AD変換を12はおろか、7チャネルも必要とすることはそれほどないと思います。しかしながらPICでは、多くの周辺機器が組み込まれている一方でピン数が少ないため、各ピンに多重に機能が割り当てられている関係で、ピンの数は十分でも、必要な機能が割り当てられているピンが重複していて利用できず、途方にくれることも多々あります。このような点で、AD変換ピンが増えたことは、多くのチャネル数を必要としない人でも、ピンの利用・配置の自由度が上がるということで、大変助かる特徴といえるでしょう。
また、サンプル・ホールド回路のキャパシタの容量も小さくなり、変換時間そのものは変わらないものの、セットアップ時間が大幅に短縮され、AD変換の速度・サンプリング周波数も向上しています。
PIC16F648Aなど、AC変換機能を持たないチップに慣れ親しんできた方が陥りやすい罠として、AD変換機能を利用しないピンは、チップの初期化時に、AD変換チャネルとしての機能を停止させておく必要があります。この設定は、ANSEL,ANSELHレジスタで行います。チップの初期化時にAD変換チャネルの機能を停止させておかないと、デジタル入力ピンとして利用する際に、思い通りの動作が得られず、大混乱に陥ってしまいます。:-)
これまで多くのPICチップは、標準電圧(3.0or4.0-5.5V程度)のPIC16Fと、低電圧(2.0-5.5V程度)のPIC16LFに分類して提供されてきました。このため、アプリケーションの電源電圧により、同じチップでも異なる電源クラスのチップを利用する必要がありました。PIC16F690は、2.0Vから5.5Vまでの幅広い電源電圧に対応できるように設計されており、電源電圧により電源クラスの異なるチップを使い分ける必要がなくなりました。8MHz以上であれば3.0V以上、10MHz以上であれば4.5V以上の電圧が必要であるものの、内蔵クロックで稼動できる8MHz以下であれば、2.0Vから5.5Vまで幅広い電源電圧で利用できるため応用範囲も広がることでしょう。
注:残念ながら、プログラムFLASHの書き込み・消去を行う際には、電源電圧に4.5V以上が要求されています。ICSPでプログラミングを行う際には、通常は3Vなどの低い電圧で稼動させている回路であっても、プログラミング時にPICに対する電源電圧を4.5V以上に上げてやる必要があります。PICkit2を利用してICSPを行う場合には、PICkit2から必要な電圧の電源を供給するオプションもあり、チップ周辺の回路が5V程度の電圧の印加を考慮して設計されていれば、問題なく書き込むことが出来ます。(EEPROMはもちろん電源電圧が2Vでも消去・書き込みできます)
これまでも、基本機能が共通でメモリ容量や周辺機器の機能が異なる2-3個のチップをファミリー化して提供することが行われてきましたが、PIC16F690は、PIC16F631/677/685/687/689/690と、6種ものチップが1ファミリーとして提供されています。また、以下に示すピン数の異なるチップとの置き換えへの配慮など、PIC16F690ファミリーを新世代の標準品にしようとするマイクロチップ社の意気込みを感じます。 この意気込みは、Next Generation development programmer と銘打って提供されているPICkit 2の評価ボードのチップとしてPIC16F690が採用されていることでも強く感じられます。
20ピンのPIC16F690、14ピンのPIC16F684,8ピンのPIC12F683,PIC12F675などは、チップの主要なピンとなる電源ピン、リセットピン、ICSPピンなどが、同一配置になるように構成されており、アプリケーションが要求するピン数の増減によって、簡単に採用チップを変更できるように配慮されています。
PIC16F690の評価用ボードの提供を開始しました。
PIC-DEV-690RLは、基本的な入出力デバイスであるタクトスイッチやLEDのほかに、PCなどとの通信が可能なRS232Cインターフェースや、LCDディスプレイを装備しています。コンパクトなサイズながら、さまざまな用途に活用可能です。
PIC-DEV-690Rは、基本的な入出力デバイスであるタクトスイッチやLEDのほかに、PCなどとの通信が可能なRS232Cインターフェースを装備しています。コンパクトなサイズながら、さまざまな用途に活用可能です。
手軽にPIC16F690のプログラミングを楽しんでいただくために、 PIC-DEV-690RLやPIC-DEV-690Rのサポートソフトウェアとして、PICC-PROで利用できるPICSYSフレームワーク(ライブラリ)をご提供しています。
PICSYS16の文字LCDを利用するプログラム例
PICSYS16を利用すると、特殊レジスタの設定などに煩わされずに、簡単にプログラミングを始めることができます。
広く利用されているPIC16F88やPIC16F648Aなどを活用するのも楽しく、また、情報源が豊富で助かりますが、魅力満載のPIC16F690でPICの新たな世界を広げていきませんか。