2017年2月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        

Amazonウィジェット

  • miniPC
  • 最近買った本
  • Raspberry Pi
  • クアッドコプター
  • 書籍ランキング

AdSense

  • 広告
無料ブログはココログ

SPICEシミュレータ

2013年1月17日 (木)

SPICEシミュレータ サブサーキットの導入方法 (13/8/30追記)

SPICEモデルをダウンロードして使う時に、トランジスタやダイオードなどの単純なモデルはlibファイルをインクルードすればすぐに使える。しかし、MOSFETやオペアンプはサブサーキットという形式で提供されるため、ちょっと勝手が異なる。
ROHMの注目製品!?であるNch-MOSFETのRTQ045N03を例に、導入の仕方をメモした。

まず、ライブラリファイルだけでなく、シンボルファイル、回路図、と色々なファイルを扱うので、プロジェクトフォルダを作ってそこに関連ファイルを入れていくことをお勧めします。

試しに作ったシミュレーションファイルはこちらです。
「SubTame_NMOS.zip」をダウンロード

1.
SPICEモデルをダウンロード。
ROHMの汎用MOSFETのページに行って、デバイス製品の一覧のページを出す。まず表の左上の方に青いボタンで「表示・非表示」というのがあるので、それを押して表に表示する列を指定する。SPICEモデルがほしいので、それを選ぶ。
すると、SPICEモデルの欄が表に追加される。

目的のデバイスを見つけたら、SPICEモデルをダウンロード。
というかテキストをコピペして、拡張子をlibで保存し、プロジェクトフォルダにひとまとめにする。

rtq045n03.lib

2.
サブサーキットのシンボルを用意する。Nch-MOSFETならnmos.asyをプロジェクトフォルダにコピーする。
フォルダの場所は、LTspiceIV\lib\symにある。

3.
nmos.asyをrtq045n03.asyに名前変更する。そして、
ノートパッドでテキストファイルとして開く。以下の行に注目。

SYMATTR Value NMOS
SYMATTR Prefix MN
SYMATTR Description N-Channel MOSFET transistor

ここを、

SYMATTR Value RTQ045N03
SYMATTR Prefix X
SYMATTR Description N-Channel MOSFET transistor

4.
シンボルファイルを準備できたら、回路図にサブサーキットを配置してみる。
パーツ選択のSelect Component Symbolのウィンドウを開いて、一番上にあるTop Directoryから、プロジェクトフォルダを選ぶ。すると、さっき作成したasyファイルが表示される。それを配置。

5.パーツを配置したら、右クリックでさっき配置したパーツを選択する。するとこんなウインドウが表示される。

Ws000005

ここにパラメータとして、2点設定が必要で、
・PrefixをXにする。
・Valueを先ほどのパーツ名にする。
を行う。PrefixをXにして、先ほどのシンボルファイルと紐付けしないと、モデルが正しく読み込まれないので特に注意。
Instnameは自動的に入っている。どんな意味があるかは不明。。。この画面の例と違っていてもモデル自体は読み込まれる。

6.
先ほどのモデルファイルをインクルードするためのSPICEディレクティブを回路図に入れる。.opのボタンを押して.libとだけ打ち込み回路図に配置。そのlibを右クリックすると、.lib/.inc Editorが表示されるので、Browsでさっきのlibファイルを指定する。そうすると絶対アドレスで書かれたlibファイルのパスが書き込まれる。これで完了。


ちゃんと読み込まれているかを確認するには、メニューのViewから、View Netlistを選ぶ。するとネットリストが表示されて、その中に.libの行が見つかる。その行に追加したパーツの名前が入っていれば読み込まれている。


<<一番多いエラー>>


エラー:Unknown subcircuit called in:xu1 n001 n003 n002 opamp

原因:サーキット定義が読み込まれてない。

   サーキットとシンボルが関連づけられていない。

.libファイルにあるサーキット名に合わせないと、エラーが出る。

たとえば、TIのアンプのSPICEモデルをダウンロードしてくると、、、
Opa4322.lib
という名前ではあるが、中身の定義はopa322という名前で定義されている。

 .SUBCKT OPA322 +IN -IN V+ V- Vout

なのでシンボルファイルもこの名前にあわせないとエラーになる。

正しく読み込まれると、View Netlistには、

* X:\LTspiceFiles\Circ.asc
XU1 SIG N002 Vcc 0 N001 opa322
V1 Vcc 0 3.3
R1 N002 N003 1k
R2 N001 N002 5.6k
C1 N003 0 0.1u
V2 SIG 0 SINE(1 0.05 10k)
.lib OPA4322.lib
.tran 10u
.backanno
.end

のように表示されるはずだ。