超ローコストPICWRITERの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
「PICBASICコンパイラ」からスピンオフ!!
過去記事を参照することなどを考えて該当する過去記事は「PICBASICコンパイラ」のまま連載回もそのままとします。
以後は前回記事からの流れで[第236回]からとします。
「PICBASICコンパイラ」はなるべく早く連載を再開したいと考えています。
PICはローコスト、高機能で種類も豊富なお手軽マイコンですがプログラムを書き込むためのWRITERが必要です。
それをできるだけ安価に作ってしまおうというプロジェクトです。
最終的には製品化を考えています(組立キット、完成品)。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第298回]
●PIC16F1455(4)LVP=1の意味
あかん。
こんなことにこだわっていては何もできぬではないか。
PIC16F1455は諸般の事情により扱わないことに。
うん。
そうしよう。
一度はそのように割り切ったつもりだったのですが。
どうにも面白くないのでありますね。
うむむむ。
まっことプライドが傷つくのであります。
これしきのことがクリアできなくてどうする。
もうろくしたのう。
かくて闇夜をさまようのでありましたが。
さまよっているうちになんだかインスピレーションといいますか。
あれ?
ひょっとしてLVP=1の意味を取り違えていたのでは?
[出典]Microchip Technology Inc. PIC16F145X Memory Programming Specification
PICは工場出荷時のデフォルトの設定でLVP=1になっています。
その意味はVpp=Vddのままでプログラムの書込みができるということ(もちろん高電圧での書き込みもできます)。
LVP=0にしない限り初期設定のままですから私は愚かにも、そんなん当たり前じゃん、何をおかしなことを言うとるねんと早飲み込みしてしまいました。
そうするとここに書かれていることの全体が意味不明になってしまいます。
それで闇夜をさまようことになってしまったのでした。
ひょっとしてドキュメントが間違っているのでは、なんて思ったりして。
Microchip社の誤記などではなくてこのわたくしめの思い違いだったのでありました。
ここは文字通りLVP=1つまりLow Voltage Programmingモードのときにはかくかくしかじかである、と素直に読むべきでありました。
そうしましたら意味不明だったところの意味がすっきり通りました。
PIC16F1455の場合PROGRAMのための信号端子は2系統あります。
そのうちの”LEGASY”端子はLVPモードのときに限って選択できるということのようです。
その場合にRA0/RA1を使うかRC0/RC1を使うかの選択についても上に書いてありました。
When LVP is set,以下のところです。
スタートしたときにどちらのICSPDATに”32−bit key sequence”に送るかによってそちらの端子がプログラミング用端子になると書いてあります。
”32−bit key sequence”はLVPモードを選択する場合に限って送出するもので高電圧書込モードでは使わないものです。
そういうことだったのでした。
やっと理解できました。
PIC16F1455の端子図です。
[出典]Microchip Technology Inc. PIC16F145X Data Sheet
1:LVP support…はLVPモードではレガシイ端子を使うことができる、と解釈すべきでした。
つまり。
レベル変換以前の問題だったのでした。
そういうことになりますと。
PIC16F1455についてはRC0/RC1端子を使うべき、という一択になります。
しかし。
そのためだけにテストソケットに追加配線を行なうことはできません。
ほかのPICのための配線と競合してしまいます。
とりあえずPIC16F1455のためだけならば。
こうしてしまいましょう。
28pinテストソケットの下に普通の14pinソケットを追加しました。
下はその部分を拡大した写真です。
こちらは基板裏側です。
結局追加とか変更とかでこういうことになってしまいます。
超ローコストPICWRITERの製作[第298回]
2025.6.9 upload
前へ
次へ
ホームページトップへ戻る