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


PICBASICコンパイラ

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第62回]



●PIC WRITERのハードウェア

今回はPIC WRITERのハードウェアについて簡単に説明をします。
PICは非常に種類が多くPIN数、PIN配列も異なるためPIC WITERの回路もそれぞれに対応したものが必要になります。
その全てに対応するなどということはとてもできません。
とりあえずは私として必要と思うPICに対応することから始めます。
余力が出てきましたら(出てくるかどうかは疑問なのですが)少しずつ対応できるものを増やしていきたいと考えています。
それで。
試作回路を作ったならばまずは適当なPICを選んで「試し書き」をしてみなければなりません。
ひょっとすると壊してしまうかもしれません。
ということで手元に比較的沢山所有していて1つ2つなら壊してしまってもそれほど痛くはないというPICを選んでそれを試作版PIC WRITERのターゲットにすることにしました。
選択したのはPIC18F13K50です。
下にPIC18F13K50のPINレイアウトを示します。

[出典]Microchip Technology Inc. PIC18F13K50/14K50 Data Sheet

PIC WRITERとして必要な端子はVdd(+5V、pin1)、Vss(GND、pin20)、Vpp(+9V、pin4)、PGC(クロック、pin18)、PGD(データ、pin19)です。
書き込み中はそのほかの端子には何もつながないようにします。

こちらが試作したPIC WRITERの回路図です。

必要最低限の機能にしぼるとたったこれだけの超簡単な回路になってしまいます。
ND80Z3.5の82C55に接続することを前提に考えると回路のほとんどはVpp(+9V)の回路が占めることになります。
+9Vは+5VからDC/DC回路で作っていますがもしも+9Vの別電源を用意するならDC/DC回路も不要になってしまいます。
実はPICにはVppを必要としない書き込みモードがあります。
メーカー(Microchip社)からの出荷時にはその書き込みモードが有効になっています。
ただそのモードはちょっと危険なモードです。
なにしろ通常書き込みに必要なVppがなくてもプログラムを書き込むことができてしまうのですから、PICを実装する回路にも注意が必要です。
気をつけないと回路の配線によっては書き込みモードになってしまってプログラムを実行できない場合がでてきます。
このVppを必要としない書き込みモードをVpp書き込みモードに変更するにはVpp書き込み電圧が必要です。
無用のトラブルを避けるためにVpp供給型のPIC WITERにすることにしました。

さて。
ハードウェアはそのように簡単なもので足りますからそれほど苦労せずに用意することができます。
上に書きましたようにもしも+9Vの電源を別途用意するとしたならばハードウェア回路を自作することも容易でありましょう。
もっともこの回路は勝手に動いてはくれません。
この回路を動かすためにはまずはI/O回路が必要になります。
私の場合にはND80Z3.5の82C55に接続するように考えました。
それでハードウェアについては準備完了です。

で。
問題はソフトウェア、書き込みプログラムです。
これがなかなかに手間なのです。
もっとも私の場合には古くは2708WRITERを自作してそのための書き込みプログラムを作ることから始めて、2716、2732、2764、27256、27512など多種のプログラムROMに対応するROM WRITERを作ってそのための書き込みプログラムもその都度作ってきました。
プログラムROMとしては27C10、27C20、27C40あたりまで対応してきましたので、基本的にはそれらの書き込みプログラムの応用といった位置づけで作ることができると考えています。
過去に作ってきたROM WRITER用の書き込みプログラムは当初は8080のマシン語で作成し、途中からはZ80のマシン語で作成してきました。
一時期Windows95のI/Oポート(プリンタポート)に接続できる形のROM WRITERを作っていたことがあって、そのときは書き込みプログラムは8086のマシン語プログラムで作成しました。
初期の2708WRITERはそのものズバリの8080マシン語(16進コード!)で作成しましたが途中からは自作の8080アセンブラ、Z80アセンブラ、8086アセンブラで書きましたのでプログラムの作成も当初よりはずっと楽になりました。
いずれの場合でもWRITERプログラムの作成に欠かせないのがメーカーから提供される書き込みプログラムの仕様書です。
大抵はユーザーマニュアルにフローチャートの形でついていますのでそれを参考にしなから書き込みプログラムを作成します。

ところが。
PICの場合通常のData Sheetにはそれが記載されていません。
専用のMicrochip社純正のPICKITを使えということでありましょうか。
おいおい。
それはないだろうよ。
うむむ。
ちょっとそのあたりMicrochip社の姿勢を疑いたくなるところもあるのですが、捜してみますと書き込みプログラムの作成に必要なドキュメントがないわけではなさそうです。
私の捜し方が悪いのかもしれませんが、Microchip社のサイトでは普通の捜し方ではなかなか出てきません。
PICのプログラムと同様になかなかにクセがあります。
とにかく。
なんとかとりあえず必要なドキュメントがみつかりましたので、いよいよ書き込みプログラムの作成です。

PICBASICコンパイラ[第62回]
2023.8.9upload

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