LTspiceのお世話になっている割には使い方が良く分からないままです。最近もアナデバ様の部品キットADALP2000所蔵のMOSFETをLTspiceしてみよ、と。しかしLTspiceには該当部品のMOSモデルパラメータはありませんでした。Webを漁ってSUBCKT定義を見つけたのですが、どう設定するの?
※「SPICEの小瓶」投稿順インデックスはこちら
MOSFETの「モデル」について、以下の4ケースについて切り替えてLTspiceをかけてみました。
- デフォルトのNMOS-FET
- LTspice内にインストールしてあったMOSモデルパラメータ 2N7002
- 外部からダウンロードしてきたMOSモデルパラメータ BSS138
- 外部からダウンロードしてきたSUBCKT ZVN3310A
ADALP2000に所蔵なのは ZVN3310Aです。アナデバ様の記事でLTspiceしてみよ、とあるのに手元のLTspiceにはモデルが含まれていなかったもの。
上記4つのモデルについて、まったく同じ、MOSFETのIDS-VDS特性のDC解析を行ってみました。
デフォルトのNチャンネルMOSFET
デフォルトのNチャンネルMOSFETを置いて、DC解析用の回路図をデッチ上げてみました。VDSは0Vから5Vまで0.5V毎に掃引(ちょっと粗かったか?)、VGSは3Vから5Vまで1V毎に3種です。
デフォルトのNチャンネルMOSというのが、どんなプロセスのどんなサイズのトランジスタなのかは定かでないのですが、かなり小さいトランジスタのようです。多分、ディスクリートのMOSFETではなくて、集積回路内部用のトランジスタモデルかもしれません。
LTspiceにインストール済のディスクリートMOSFET
デフォルトのNMOSシンボルを右クリックすることで「プロパティ」設定があらわれます。そこで Pick New MOSFET ボタンを押すとLTspiceのインストールディレクトリ内に予めセットされている各社のMOSFETの一覧表が現れるので、そこから選択してみます。今回選択してみたのは、老舗Fairchild(現ONセミ)の小信号用の2N7002です。こんな感じ。
以下が回路図です。デフォルトのNMOSから2N7002に変わってます。
シミュレーションを実行。小信号用とは言え、ディスクリートのトランジスタなので、デフォルトのものより「段違い」に電流が流せることが分かります。
MOSモデルパラメータ・ファイルを参照
秋月殿で購入して表面実装部品をDIP化ボードに載せて使っている BSS138 ですが、どこぞでMOSモデルパラメータを手に入れてありました。それを参照するように書き換えてみます。
外部ファイルを参照するために、回路図に .include ディレクティブを配置して外部ファイル名を指定した後、該当ファイル内のモデルの名前をプロパティ画面のMOSFET名に記載します。こんな感じ。
念のため、設定後の回路図が以下に。
シミュレーション結果が以下です。2N7002よりも「元気に」電流流していることが分かります。
サブサーキット定義のZVN3310Aに置き換える
Diodes Incorporated社のホームページへ行って、ZVN3310Aのspiceモデルを手に入れることができました。しかし、モデルを見ると MOSモデルパラメータではなく、SUBCKT形式でした。先ほどのBSS138のようにMOSモデルパラメータ定義であれば、パラメータを回路図に読み込んで、お名前を差し替えるだけで使えるのです。しかし、SUBCKT形式では名前を変更しただけではモデルが見つからないエラーとなります。
SPICEのネットリスト上で、MOSFETであれば Mxxx(xxxはいろいろ)というお名前で呼び出されるけれども、SUBCKT形式だとMではなくてXになるみたいです。そういえば昔やった記憶があるな~。回路図エディタ上の見た目を変えずに裏でSUBCKTを呼び出すために、コンポーネントをCTRL+右クリックして、Component Attribute Editorというものを呼び出しました。そこで2か所変更が必要でした。
- Prefixを MN から X に変更
- Valueを ZVN3310A に変更
勿論、.include で外部ファイルの読み込み必須です。
作製した回路図がこちら。
シミュレーションしてみた結果がこちら。ZVN3310Aは2N7002よりも電流ながせないのね。データシートのグラフと比べてもだいたい合っているのでないかい。
まあ、MOSFETのモデル切り替えの方法は分かった気がします。でも肝心は拾ってこれるモデル次第じゃなあ。