MicroChipのPICkit2はユーザーズガイドに全回路図が載っています。
PICkit2はPIC18F2550が5Vで動作しています。プログラム用のICSPCLKとICSPDATの2本の制御線はターゲットと同じ動作電圧で入出力するのでレベル変換をしています。PICkit3では、レベル変換用のIC(74LVC1T45)を使っていますが、PICkit2はディスクリートで組まれています。回路図を見ても動作がよく分からなかったので、LTspiceで動かしてみました。
回路はこんな感じです。
![](https://blogimg.goo.ne.jp/user_image/67/55/97e63f2b1297cb447ad4ebd1ef902e98.png)
V1から5Vのパルスが出ています。3.3Vがターゲットの電圧として、OUTから3.3Vのパルスが出るはずです。
シミュレーション結果です。
![](https://blogimg.goo.ne.jp/user_image/7b/a5/6b1abbc8b46e5b64f6aef9c4eba214d4.png)
緑がV1の出力の5Vパルスで、紫がOUTの出力です。3.50373Vのパルスになっています。消えた1.5Vはどこにいっちゃったんでしょう?こういうのは、あいかわらずさっぱりです。
ターゲット電圧を2VにするとOUTは2.5Vになります。ちょっと高めの電圧が出てくるようです。
R1は150mA流れてることになっています。もちろんPIC18F2550は、そんなに流せません。
逆向きにして、OUT側から3.3Vのパルスを入力してやると、3.3Vがそのまま出てきます。
.step paramを使ってターゲット電圧を動かしてみました。
![](https://blogimg.goo.ne.jp/user_image/17/ec/f30409023a8084124828618c1c0c2c8d.png)
3Vから0.3Vきざみで5Vまで動かしました。緑がターゲット電圧、紫がHのときの電圧です。横軸にターゲット電圧を取ればいいのですが、やり方がよく分かっていません。3VのときでOUTは3.23V、3.3Vで3.5V、3.6Vで3.78Vという感じでターゲット電圧が高くなるにつれて、OUTとの差は縮まっています。
よく分かってなくても回路図があれば回路シミュレータでどんな動作をするか調べることができるのは便利です。今月のトラ技がトランジスタの特集号だったので勉強しなおしてきます。
PICkit2はPIC18F2550が5Vで動作しています。プログラム用のICSPCLKとICSPDATの2本の制御線はターゲットと同じ動作電圧で入出力するのでレベル変換をしています。PICkit3では、レベル変換用のIC(74LVC1T45)を使っていますが、PICkit2はディスクリートで組まれています。回路図を見ても動作がよく分からなかったので、LTspiceで動かしてみました。
回路はこんな感じです。
![](https://blogimg.goo.ne.jp/user_image/67/55/97e63f2b1297cb447ad4ebd1ef902e98.png)
V1から5Vのパルスが出ています。3.3Vがターゲットの電圧として、OUTから3.3Vのパルスが出るはずです。
シミュレーション結果です。
![](https://blogimg.goo.ne.jp/user_image/7b/a5/6b1abbc8b46e5b64f6aef9c4eba214d4.png)
緑がV1の出力の5Vパルスで、紫がOUTの出力です。3.50373Vのパルスになっています。消えた1.5Vはどこにいっちゃったんでしょう?こういうのは、あいかわらずさっぱりです。
ターゲット電圧を2VにするとOUTは2.5Vになります。ちょっと高めの電圧が出てくるようです。
R1は150mA流れてることになっています。もちろんPIC18F2550は、そんなに流せません。
逆向きにして、OUT側から3.3Vのパルスを入力してやると、3.3Vがそのまま出てきます。
.step paramを使ってターゲット電圧を動かしてみました。
![](https://blogimg.goo.ne.jp/user_image/17/ec/f30409023a8084124828618c1c0c2c8d.png)
3Vから0.3Vきざみで5Vまで動かしました。緑がターゲット電圧、紫がHのときの電圧です。横軸にターゲット電圧を取ればいいのですが、やり方がよく分かっていません。3VのときでOUTは3.23V、3.3Vで3.5V、3.6Vで3.78Vという感じでターゲット電圧が高くなるにつれて、OUTとの差は縮まっています。
よく分かってなくても回路図があれば回路シミュレータでどんな動作をするか調べることができるのは便利です。今月のトラ技がトランジスタの特集号だったので勉強しなおしてきます。
回路的にはR1とQ1で分圧されている形になりま
すね。
Q1をエミッタフォロワだと考えれば分かります。
D1はQ1のVBE分の補償ですね。
消えた1.5VはR1で消費されています。オームの
法則からV=R*I=10Ω*150mAとぴったりです。
とすると、PIC18F2550から150mA供給されている
ことに・・・
> 横軸にターゲット電圧
これは.tranではなく.dcを使います。
D1のバイアス電流をR3を通して流すと、Q1のベース電圧は、(3.3-Vf)に固定されます。Vfは、D1の順方向電圧降下です。ここで、エミッタの電圧が(3,3-Vf+VBE)を超えると、Q1がONして、それ以上の電圧が出て行かないようになります。
ターゲットと出力に電位差があるのは、VfとVBEに差があるためであると思われます。D1の代わりに、Q2として2N3906のベース・エミッタ間ダイオードを使うと、もっとターゲット電圧に近くなると思います。この場合、Q2のコレクタは、オープンでも、Q2のベースに直結しても構わないと思います。
このシミュレーションでは、PICの出力V1のインピーダンスを0としていると思いますが、データシートから出力インピーダンスを計算してV1に入れてやると、実際の回路に近づくと思います。
なるほど、確かに10Ωで150mA、ぴったりですね。のりたんさんの言われるようにPIC18F2550の出力インピーダンスもいれてやらないといけないみたいです。
.dcを試してみました。これがやりたかったんです。ありがとうございます。
いつもありがとうございます。
単純にダイオードだけでクリッピングするとVf分電圧が降下するのでPNPトランジスタを使ってるんですね。
出力インピーダンスですか。とりあえずデータシートには、その値はないみたいでした。Vohは3mA流したときVcc-0.7Vとなっていたのですが、3mAのとき0.7V電圧降下すると思って0.7V/3mA=233Ωと思えばいいんでしょうか?
R1を233Ω+10Ωにすると、ぴったりになりました。出力インピーダンスもコミで考えられた回路みたいです。