2025.6.8
前へ

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


超ローコストPICWRITERの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
「PICBASICコンパイラ」からスピンオフ!!
過去記事を参照することなどを考えて該当する過去記事は「PICBASICコンパイラ」のまま連載回もそのままとします。
以後は前回記事からの流れで[第236回]からとします。
「PICBASICコンパイラ」はなるべく早く連載を再開したいと考えています。
PICはローコスト、高機能で種類も豊富なお手軽マイコンですがプログラムを書き込むためのWRITERが必要です。
それをできるだけ安価に作ってしまおうというプロジェクトです。
最終的には製品化を考えています(組立キット、完成品)。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第297回]



●PIC16F1455(3)レベル変換

書込みができないことはあるとしてもせめてデバイスIDぐらいは読めるはずではないか。
これは余りにおかしい。
Documentについては何回も読んだつもりだったのですが。
なんだかおかしなことが書いてあることに気が付きました。


[出典]Microchip Technology Inc. PIC16F145X Memory Programming Specification

PIC16F1455の場合PROGRAMのための信号端子は2系統あります。
ここで”LEGASY”と表現されているのは普通にPIC16F1503などで使っている端子です。
ここではPIC18F1XK50を代表として挙げています。
そのほかにRC0/RC1を使うこともできると書いてあります。

PIC16F1455の端子図です。

[出典]Microchip Technology Inc. PIC16F145X Data Sheet

RC0/RC1への配線は今までしたことがありません。
今までは普通にRA0/RA1を使ってきました。
上のDocumentによればどちらも使うことができると書いてあります。
であるならば普通に読み書きできるはずなのですけれど。
ですけれど。
あらためてDocumentのNOTE:のところをよくよく読みますとRA0/RA1はUSB用の端子を兼ねているのでHレベル電圧は3.3Vを越えてはならないと書いてありました。
うむむむむ。
データがREADできないのはそれが原因か。
そのためにはレベル変換回路を入れる必要があるぞよとのご託宣です。


[出典]Microchip Technology Inc. PIC16F145X Memory Programming Specification

こ、これはちと面倒な。
しかし。
そうだとしても、そこに5V信号を入れたとしてもまったく読めないというのはちとおかしいのではないか。
どうもほかに原因があるような気がする。
気がするのでありますが他に思いつくことはありません。
ま。
やってみるしかありませんでしょう。
ということで秋月のサイトに行ってなにかてごろなものがないか物色してみることにしました。
そうしましたら。
おお。
なんだか簡単な回路キットがあるみたいです。
NチャンネルMOSFETを使った回路ですって。
回路図もありました。
1回路あたりNMOSを1個と抵抗2本のみでできています。
ほんまかいな。
あれ?
NチャンネルMOSFETなら以前にトランジスタロジック回路で使いましたよ。
2N7000つうやつです。
いろいろあって結局2SC1815を使うことになりましたが。
まだ手元に多少は残っています。
ものは試し。
即席で組んでみることにしました。
こちらが回路図です。

同じ回路をPGCとPGD用に2回路用意します。
秋月の回路ではR=10KΩのようですがひょっとするとL→Hのときに立ち上がりの遅れが出るかもと思ってあとから1KΩを並列に追加しました。
合成抵抗としては0.9KΩほどになります。
FETの下側のダイオードは寄生ダイオードです。
5Vからダイオード2本を通して約3.5Vを作ってそれをFETのGATEに与えています。
動作はシンプルです。
High側が出力で5VのときLow側が入力ならS=GなのでFETはOFFになりLow側はプルアップ抵抗によって3.5Vになります。
High側が出力で0VのときLow側が入力ならS側のプルアップ抵抗と寄生ダイオードを経由してSからGに電流が流れるためS=0Vになります。
逆にLow側が出力で3.5VのときS=GなのでFETはOFFになりHigh側入力はプルアップ抵抗によって5Vになります。
Low側が0V出力のときFETはONになりHigh側入力は0Vになります。
下はジャノ目基板に即席で作った回路です。

こちらは基板表側で下は裏側です。

いまどきはブレッドボードを使って組むのが主流のようですが。
なにしろ昔人間ですので。

信号波形です。

レベル変換回路のHigh側とLow側を観測しました。
上側(CH1)がHigh側入力で下側(CH2)がLow側出力です。
信号がμsオーダーということもあって目立った遅れはありません。

上とは逆の波形です。

上側(CH1)がLow側入力で下側(CH2)がHigh側出力です。
それなりにレベル変換回路として働いているようです。

さて。
うまくいくでしょうか。

うーん。
やっぱり駄目でした。
多分ここじゃないと思っていたのですけれど。
やっぱりね。

とにかくやるだけのことはやりましたよ。
かくなるうえは。
さっぱりきっぱり諦めてしまいましょうか。
うむ。
人事を尽くして天命を待つ。

いや。
まだまだ尽くしてはおらぬ。
最後のお祈りを。

おお。神よ。ほとけよ。
悪魔よ。
我に七難八苦を与えたまえ。

超ローコストPICWRITERの製作[第297回]
2025.6.8 upload

前へ

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