PICでUSBを!(知識ゼロからのスタートです)
PIC18F14K50のUSB機能を100%自前のソフトで制御する試みです。しかもアセンブラで!
当記事は2009年12月から「TTLでCPUをつくろう!」というタイトルの もとにほとんど毎日連載をしてきたものを再編集したものです。 2011.7.8

前へ
次へ
目次へ戻る
ホームページトップへ戻る
☆プロローグ

今までUSBを使ってパソコンと通信をする部分にはFTDI社のFT232RLかまたはFT245を使って、RS232C−USB変換をしておりました。
ところがUSBコントローラを内蔵しているPICがあることを知りました。
PICは232C通信をするためなどに使っています。
それならそのUSBコントローラを内蔵したPICを使えばFT232RLを使わなくても済んでしまいそうです。
FT232RLはなかなかに便利なICですが、ただ難点はフラットパッケージしかないことです。
それを使わなくても済むということならば、ここは一番ぜひとも挑戦してみるべきでありましょう。
さっそくPIC18F4550のマニュアルをダウンロードして読んでみたのでありますが…。

[第4回]

●PICプログラマ

PICプログラマ(PIC WRITER)を購入しました。
PICの書き込みは今までずっと自分で作ったものを使ってきました。
ずっと以前に「トランジスタ技術」で紹介された回路を参考にして(というより、そのまんま)基板を作ってしまいました。
書き込みソフトはフリーのものを使わせていただいています。

しかし今回はそれを使うわけにはいきません。
いままではPIC16Fだったのですが、今回はPIC18Fを予定しています。
ところがいままで使わせていただいているソフトは18Fには対応していないのです。

秋月のサイトで、Microchip社のPickit2というボードと互換性があるというボードをみつけましたので、ひょっとするとMicrochip社のUSBデモプログラムを実行させるときにも利用できるかも、と思い購入することにしました。
AE−PICPGM USB1です。

さっそく購入して、説明書もざっと読んだので、まずは試しに何か書いてみよう、と思いました。
今回のターゲットはPIC18F4550ですけれど、いきなりそれを焼くほど私は軽はずみではない。
まずはその辺にころがっているPIC16F88で試してみるのがよろしかろう。
まことに慎重、かつ賢明な選択でありました。
のはずだったのでありますが…。

●さっそくやってしまいました…

その辺にころがっていたPIC16F88をゼロプレッシャーソケットにセットした途端。
ボード上のLEDが赤々と点灯し、なにやら異様な雰囲気に…。

おおおっ、ま、まさか。
あわててPICを取り外し、PICプログラマボードをUSBケーブルから外しました。

わわわ、さては、まだ買ったばかりなのに、もう壊してしまったか?

ああ、かみさま、ほとけさま。
祈る気持ちで、もう一度PICプログラマボードをUSBケーブルに接続して、ソフトを起動してみましたら。
正常にLEDが点灯しましたので、やれやれ、一安心。

そういえば、秋月のサイトになにやら注意書きがあったような…。
あらためて見てみましたら、確かに書いてありました。

「本体基板のICソケット上で、PIC16F648やPIC16F84等を内蔵発振&NOMCLR設定で書き込むと直後に動作を開始してしまい、デバイスが壊れます。」

ええ、ええ、おっしゃるとおり、しっかり、壊れてしまいましたよ。

そういえば、PIC16F88はクリスタルを外付けしなくても内蔵回路で発振するモードがあるので、これはまあなんと便利なことでしょう、と思って確かにそういう使い方をしておりました。
たまたまころがっていたPIC16F88にそういう設定のプログラムが書き込み済みだったのでしょう。

うーん。でも、釈然としないなあ。
そういうのも、Microchip社純正プログラマにコンパチなわけ?
なんとか回避策はありませんかねぇ。
せっかくの書き込みボードがそんなことでは、不便でしょうが。

ま、16F88については、今まで通り、自作のライターボードを使って書き込みしますから、いいですけれど。
なんだか、しょっぱなから、不吉なスタートになってしまいましたよ(まことにその通りでありました)。

●ああ、買って間も無いPICプログラマが…

このあと、今度は慎重に扱って、PIC18F4550にも無事書き込みができることを確認し、ぼちぼちテストプログラムなどを書いて、PIC18F4550のプログラムにも少しずつ慣れてきたのでありましたが…。

PICなど、16Fだって18Fだってみんな似たようなもの、と思っていましたら、違うのですよねえ。
PIC18F4550のDataSheetをダウンロードしてみましたら、なんと400頁以上もあって、これにはさすがにたまげてしまいました。
レジスタもメモリサイズも16Fとは大違い。

これはえらいものに首をつっこんでしまった…。
ちょっと、後悔したのでありましたが、もう遅い。
行くしかない。

で、USBのソフトについてもあれこれ調べつつ、そのUSB+PIC18F4550についても、お話しはまたもや意外な方向に展開していくのでありますけれども。
そちらのお話しは、始めますとなかなかに長く続きそうですので、ちょっと一時棚上げにさせていただきまして。
こちらの、PICプログラマの顛末について、先にお話しをさせていただきます(人生、波乱万丈でありますよ)。

秋月からPICプログラマボードを購入して使い始めたのは、11月の半ばころでしたのに、やっとPIC18F4550のプログラムにも慣れてきて、USBについても理解が少しずつ深まってきたという矢先に、なんと、また、やってしまったのですよお。

それは、11月も終わりに近づいたある日のこと。
またしても。
プログラマボードのLEDが赤々と点灯して、またもや異様な雰囲気に…。

気をつけていたのですけれどねぇ。
トシはとりたくないもので、最近とみにICのマークなどが見にくくなりまして…。
やってしまったのですよ、ついうっかりと。
ええ。逆差しを。

今度は、だめでしたあ。
無事であれかし、と願う気持ちも空しく、購入間も無いPICプログラマさまは、再起不能になってしまわれましたのです。
あわれ。わずか2週間のはかない命でありました。とほほ。

う。う。う。

そりゃあ、逆差しをしてしまった私が悪い。誰を恨むことでもない。
それは、そうなんだけれども。しかし。
釈然としないなあ。

逆差しなんて、ついうっかりやってしまいがちなものなんじゃあないの?
なんとか対策はできなかったものでしょうか、ねぇ。
こういうのも、Microchip社純正プログラマにコンパチなわけ?

なんと、これはあとになって確認したのですけれど、逆差しをしてしまったPIC18F4550そのものは、なんともなかったのですよ。
ええ。ピンピンしております。
今度はデバイスが壊れるんじゃなくて、プログラマボード本体が壊れてしまったっていうわけ。
ほんと、釈然としないなあ。

いや、ぼやいていてもはじまらない。
USBプログラムの続きはどうするのだ?
かんじんのPICプログラマ(PICライター)が壊れてしまったのでは、先に進めないではないか。

うう。仕方が無い。
もう一台、同じものを秋月から購入しようか…。

いや、しかし。
それでは、余りに不甲斐無い。

では。どうする?
CPUをつくろう!第396回(2009.12.9upload)を再編集

PICでUSBを![第4回]
2011.7.8upload

前へ
次へ
目次へ戻る
ホームページトップへ戻る