Windows の スタートメニューより回路図エディタ Schematics を起動して図1のような感じになっていたらOKです。ネットリスト(回路部品の接続情報と素子値を記述したテキストファイル)をシミュレータ本体 PSpice AD (pspice.exe または pspicead.exe)に直接読み込むこともできます。
(2)ライブラリの設定(最初の1回だけでよい)
(a) ライブラリについて
PSpice の回路図エディタを用いてシミュレーションを行うには、拡張子 .lib と .slb の2種類のライブラリが必要です。.lib は、各デバイスの特性を定義するための .model コマンドを集めたものです。.slb は、PSpice の回路図エディタ専用のデバイスシンボル定義を集めたものです。何れもテキストファイルです。下記の表中のライブラリは、電子回路の教科書の演習問題に適するように作成した架空デバイスのライブラリです。必要に応じてダウンロードし、後述の手順に従って回路図エディタに登録して下さい。通常、ユーザが作成したライブラリは PSpice インストールディレクトリ配下の UserLib ディレクトリ (デフォルトでは、C:\Program Files\OrCAD_Demo\PSpice\UserLib または C:\Program Files/MSimEv_8/UserLib/) に置きます。
Self-Extracting ZIP file for 95/98/NT users |
簡易説明書 |
デバイスモデルライブラリ |
デバイスシンボルライブラリ |
(b) シンボルライブラリの設定
メニューより Options - Editor Configuration... をクリックして現れる Editor Configuration ウインドウで、Library Setting... ボタンをクリックします。さらに現れた Library Setting ウインドウで Browse... ボタンをクリックし、拡張子 .slb のシンボルライブラリを選択します。Add* ボタンをクリックすると、グローバルライブラリとして登録されます。グローバルライブラリは、今後全ての回路図で参照されるライブラリです。もし、Eval.slb というライブラリがグローバルに登録されていない場合は、PSpiceインストールディレクトリ/lib の中にある、Eval.slb をグローバル登録して下さい。これは、評価バージョンに付属の主な市販ディスクリートデバイスのライブラリです。(但し、日本製デバイスは含まれていないようです。)
(注) 評価版PSpice では、ライブラリは、10個までしか登録できません。
(c) デバイスライブラリの設定
メニューより Analysis - Library and Include Files... をクリックして現れる Library and Include Files ウインドウで Browse... ボタンをクリックし、拡張子 .lib のデバイスライブラリを選択します。Add Library* ボタンをクリックするとグローバルライブラリとして登録されます。Eval.lib というライブラリがグローバルに登録されていない場合は、ここで登録しておいて下さい。
(3)回路図の作成
回路図エディタで、下に示すような回路を入力して下さい。以下、この回路を例にして説明をします。
図1 エミッタ接地トランジスタ増幅器
(a) 部品を適当に並べる。
下の図2のツールバーで双眼鏡のボタンをクリックすると、パーツ選択ウインドウが開きます。Advanced>> ボタンを押しておくと回路図記号が表示されるので、部品の選択が簡単です。また、一度使用したパーツは、図2のようにパーツリストボックスに登録されますので、ここから選ぶと部品の配置が楽に行えます。図1の中のVをまるで囲ったものが付いた矢印はパーツではありません。これは測定用プローブで、同記号のツールバー(図3参照)をクリックして表示することが出来ます。電圧用と電流用があり、このプローブをくっつけたノードまたはブランチの電圧や電流を、シミュレーション後に自動的にグラフ表示します。
(参考) 部品の向きを90度回転するには CTRL+R、部品を左右反転するには、CTRL+F を記憶しておくと便利です。
図2 配線およびパーツ選択ツールバー
ここで使用した部品のリストを以下に示します。
パーツ名 | パーツ種類 |
---|---|
C | コンデンサ |
R | 抵抗 |
AGND | グランド(アナログ) |
Q2N2222 | npnトランジスタ |
VDC | 直流電源 |
VSIN | 信号電圧源 |
(注) VAC という交流電圧源もありますが、これはac解析(周波数特性)専用の入力信号源ですので、transient解析(波形シミュレーション)は出来ません。VSIN は、ac解析、transient解析の両方に使用できます。
(b) 配線する
図2のツールバーの鉛筆マークをクリックするとマウスポインタが鉛筆になって配線を引くことが出来ます。細線が単線で、太線が BUS 配線です。このモードは右クリックで解除できます。
(c) 部品の値を入力する
各部品をダブルクリックすると部品パラメータの入力ウインドウが現れます。回路図上に表示されている値は、ダブルクリックすればパラメータウインドウを表示せずに書き換えできます。入力信号源 VS のパラメータは、(AC=1V, VOFF=0V, VAMPL=0.1V, Freq=1kHz) のようにして下さい。AC は、ac解析(周波数特性)用の入力電圧振幅で、1V としておくと各ノードでの利得を調べることが出来ます。デシベル表示時の基準を変更するには、ここを変えることになります。ac解析は、予め非線形素子をバイアスポイントで線形化してからシミュレーションを行うので、パラメータ AC の値を変えても歪みは発生しません。一方、transient解析を行うには、VOFF(直流成分) と VAMPL (交流成分)の値を与える必要があります。
(注1) VAMPLは波高値であり、実効値ではない。
(注2) SPICE(PSpiceを含む)は、入力ファイルの大文字、小文字を見分けません。従って、ミリとメガを見分けるためにミリを M 、メガを MEGA と記述する約束になっています。
(4)シミュレーションの実行
![]() 図3 解析ツールバー(デフォルトでは横向き)
|
(a) シミュレーション条件の設定1 ac解析用のシミュレーション条件を設定するために、ツールバーより Analysis Setup ウインドウを表示させ(図3参照)、AC Sweep... ボタンをクリックします。図4のようなウインドウが現れますので、図のようにパラメータを設定して下さい。 (b) ac解析の実行 図3の Simulate ボタンをクリックすると、図5のような PSpiceAD ウインドウが現れてシミュレーションが進行します。このウインドウが PSpice の本体です。エラーがなければ、図5のように終了し図6のようなグラフが現れます(縦軸の値が違うのは気にしないで下さい)が、Message Viwer というウインドウが現れ、何らかのエラーメッセージが表示されてシミュレーションが止まった場合は、もう一度間違いがないかよく確認して下さい。詳しいエラー内容は、PSpiceAD ウインドウのメニューから File - Examine Output をクリックすると現れる、*.out ファイルに記録されています。 |
図5 PSpiceAD(本体)ウインドウ
図6 Probe による周波数特性表示
(参考1) Schematics(回路図エディタ)のメニューで、Analysis - Ecamine と Netlist Analysis - Examine Output を選んでみて下さい。Examine Netlist では、テキストエデイタが起動してSPICEネットリストが表示されます。但し、$N_001などという変なノード名が自動的に割り振られているのが解ります。Examine Output (PSpiceAD ウインドウの File - Examine Output で表示されたものと同じ)で表示されるものは、SPICEの .PRINT コマンドで出力されるヘッダー部分と同様なものです。モデルパラメータのリストや動作点解析結果、transient解析における初期値などの詳細な情報が保存されています。
(参考2) テキストエディタでSPICE入力ファイル(ネットリスト+シミュレーション制御コマンドのリスト)を作成してシミュレータに読み込ませる場合は、Schematics を起動する必要はありません。PSpiceAD のメニューから File - Open... をクリックして、作成しておいた SPICE 入力ファイルを読み込めば、自動的にシミュレーションが始まります。結果は、.PRINT {出力変数} または .PROBE コマンドでファイルに出力されます。但し .PROBE で出力されるファイルは、PSpice 付属の PROBE.EXE というグラフ表示ツール用のバイナリファイルです。
(c) シミュレーション条件の設定2
次に、同じ回路を用いてtransient解析(波形シミュレーション)を行います。通常、この解析が一番難しく、時間が掛かります。Analysis Setup ウインドウを表示し(図3参照)、Transient... ボタンをクリックして下さい。Transient ウインドウが現れたら次のように設定して下さい。Print Step は、グラフ表示用のステップです。Final Time は、シミュレーション終了の時間です。開始時間は自動的に0sとなります。No-Print Delay は、定常状態になった所だけ詳しく解析したい場合などに、シミュレーションは初期値からスタートしますが、表示はここで設定した時間以後のみとするためのオプションです。Step Ceiling は、シミュレーションの時間刻み幅の上限を設定します。シミュレーションのステップ幅はシミュレータが自動的に決定しますが、グラフの波形が荒いときは、Step Ceiling を小さめにしてみて下さい。Final Time の 1/100 くらいの値が適当なようです。
図7 Transient ウインドウ
以上の設定がすんだら、早速シミュレーションしてみましょう。図8のような波形が表示されたら成功です。
図8 Probe による波形表示
もし、エラーが出て上手くいかないときは、前節 (b) ac解析の実行を読んで、設定をよく見直してみて下さい。
(参考) シミュレーションが終了すると、回路図中に電圧値が表示されることがあります。これは、各ノードの動作点の値を表示しているためです。ツールバーのVの文字(図3参照)をクリックしてみて下さい。Iの文字をクリックすると動作点の電流値を表示することもできます。
(重要) 発振回路でもないのに transient 解析結果が発振しているようなとき、シミュレータが不安定なためか、回路設計が拙いのかを判断するのは結構難しいものです。取りあえずは、図7のTransient ウィンドウ (ツールバーのAnalysis Setup - Transient)の Step Ceiling の値と Analysis - Setup - Options ウインドウの RELTOL 変数の値を変えてみて下さい。これらの値を小さくするとシミュレーション精度が上がりますが、収束に問題を起こすことがあります。通常は、Step Ceiling で時間刻み幅を調整し、transient 解析波形に問題があるなら RELTOL 変数をデフォルト値より2桁程度小さくしてみて下さい。
波形表示機能は、PSpice の機能ではなく、PSpice に付属の Probe というツールによって行われています。グラフとしての美しさはありませんが、機能がよく絞り込まれていてオシロスコープのような使用感で使い込むとかなり便利なものです。PSpice のシミュレーションが終了すると自動的に起動しますが、回路図中にプローブを立てている場合はこのプローブの値を表示し、プローブを立てていない場合は枠だけ表示してスタンバイとなります。この状態で既にシミュレーション結果ファイルを読み込んでいますので、後は表示する変数を指定するだけです。他のシミュレーション結果を読み込みたいときは、メニューから File - Open... をクリックすると、結果保存ファイル(拡張子 .dat)を読み込むことが出来ます。
表示する変数の設定は、メニューの Trace - Add... をクリックして現れる Add Traces ウインドウで行います。そして、これはツールバーからも表示できます。また、Schematics の回路図中にプローブを置くと直ちに Probe 画面に反映されます。各ノードとブランチの変数表記法は、Add Traces ウインドウを見れば想像がつくはずです。デシベルで表現するときは、DB()という関数が使えます。また、位相を表示するときは P() という関数が使えますし、通常の SPICE における表記法も受け付けます。その他の関数も Add Traces ウインドウ上で選ぶことが出来ますし、複数の変数を用いて四則演算を行った結果をグラフ表示することもできますので、色々表示して試してみて下さい。
この他の便利な機能としては、幾つかのグラフを縦に並べて比較したり、同一グラフ内に複数の軸を設定したりすることです。メニューの Add - Add Plot でグラフが1個追加されます。但し、別の結果ファイルから読み込んだグラフを一枚の子ウインドウに表示することは出来ないようです。
(便利) 現在表示中の変数を消して別の変数や演算結果を表示したいときは、凡例の文字をクリックして下さい。
「問題1」 図6の周波数特性のグラフをdBと位相表示にせよ。
[ヒント] Probe の Add Plot と Add Trace の機能を使うとスマート。
表示例1 |
(2)FFT 機能
Probe は、便利な FFT 機能を持っているので、先程の transient 解析結果をフーリエ変換して表示してみましょう。操作は、transient 解析波形を Probe に表示して、ツールバー上のFFTと書かれたボタンをクリックするだけです。横軸を対数スケールにするために、メニューの Plot - X Axis Settings をクリックして図9の様に設定して下さい。スペクトルが上手く表示されたでしょうか。ほぼ、入力周波数である1kHz のみが観測されますが、よく見ると2kHzに僅かにピークがあり僅かに歪みがあることが分かります。もう一度FFTボタンを押すと、元の波形表示に戻ります。
図9 Probe の X Axis Setting ウインドウ
「問題2」 例題の増幅器に過大入力を入力した場合のフーリエスペクトルを表示せよ。
[ヒント] 図1の回路の信号源電圧振幅を0.1Vとして、再度transient解析を行う。フーリエスペクトルを美しくするには、長いめの周期にわたってtransient解析を行う。
表示例2(a) | 表示例2(b) |
(3)カーソル
図10のCursorボタンをクリックすると、実線と破線の2種類のカーソルが現れます。左クリック+ドラッグで実線カーソル、右クリック+ドラッグ点線カーソルが移動し、Probe Cursor ウインドウにカーソルとデータのクロス点の絶対値と2本のカーソルの差分が表示されます。カーソルを用いて読みとる変数を変更するときは、カーソルの表示された状態で、凡例の文字を左または右クリックします。
図10 Probe のツールバー
ここでは、パラメータ(回路及びデバイスの変数を)を入れ替えて、繰り返しシミュレーションを行うための便利な方法を紹介します。SPICE や PSpice のパラメータには2種類があります。一つはグローバルパラメータと呼ばれ、もう一つはモデルパラメータと呼ばれるものです。グローバルパラメータは、抵抗やコンデンサの値です。モデルパラメータは、半導体素子などのデバイスの内部に持っているパラメータ(接合容量やブレークダウン電圧など)です。ここで示す方法と同様にして、温度や電圧、電流源の値を振ることも可能です。この方法は、.PARAM コマンドに相当します。
(a) 変数の挿入
Schematics で、図1の回路の負荷抵抗 RL の値を{X}として下さい。この場合、変数名は X となりますが、他の文字でも結構です。
図11 パラメータを使用した回路
(b) 変数の宣言
Part Browser(Schematics のツールバーで双眼鏡ボタンをクリック)からPARAM というデバイスを選んで下さい。PARAMETERS: という文字が現れますので、適当な場所に張り付けて下さい。この文字をダブルクリックすると、PARAM の Atributes(属性)リストが現れ、パラメータ変数を3つまで宣言することが出来ます。NAME1=X と VALUE1=1を入力して下さい。変数Xに初期値1が与えられます。ここでは、後程、X の値を直に代入しますのでVALUE1の値は何でも結構です。
(c) パラメータ値の定義
Schematics ウインドウのツールバーで、Analysis Setup ボタン(図3参照)をクリックして Analysis Setup ウインドウを表示し、Parametric... ボタンをクリックして下さい。図12のように入力して下さい。以上で準備完了です。Parametric... にチェックマークが付いているのを確認して Analysis Setup ウインドウを閉じて ac解析を実行します。
図12 Parametric ウインドウ
(d) グラフの表示
Available Sections ウィンドウが現れたら、そのままでOKボタンをクリックします。デフォルトで、全てのパラメータに対するデータが選択されます。そして、図13のような特性が表示されるはずです。
図13 周波数特性の負荷抵抗依存性
負荷抵抗を小さくすると、増幅率が下がっているのが分かります。増幅器の電圧利得は、負荷抵抗または出力インピーダンスが高いほど大きくなります。当然、負荷によって高域周波数特性も変わってきます。
「問題3」 図1の回路で温度を室温から摂氏 327 度まで100度C刻みで変化させ てtransient 解析を行え。CEを取り外した場合、温度依存性はどうなるか。
[ヒント] 温度を振る場合には、PARAMETERS: を呼び出しパラメータを宣言する必要はありません。Parametric ウインドウ(図12参照)で温度を代入するだけです。実は、CEを取り外すと227度Cあたりまでは殆ど温度依存性が無いはずです。REによりフィードバックが掛かるためです。
パラメータ設定例 | 表示例3(a) CE 有り | 表示例3(b) CE 無し |
(参考) SPICE のデバイスモデルパラメータは、完全な物理モデルと関連付けられているわけではないので(つまり、デバイスシミュレータが組み込まれているわけではなく、単純化された物理モデルの解析式またはフィティング関数を用いている)、この問題のように室温から大きく外れた温度領域での特性はあまり当てにはなりません。変化の傾向または目安と考えた方がいいと思います。
「問題4」 下の図14の回路で {X} を 0.1 〜 10k まで振ると周波数特性がどう変化するか。
図14 信号源出力抵抗の影響を調べる回路
表示例4 |
高周波特性のCut-offは、入力側抵抗の影響を強力に受ける筈ですが、理由が分からない人は、電子回路1の単位没収・・・じゃなくって、教科書でミラー効果について復習すること。
「問題5」 図1の回路で入出力インピーダンスの周波数特性を測定せよ。
これは簡単。電子回路1で習った出力インピーダンスの定義を思い出して下さい。
表示例5 |
以上で、本ページは終了です。お疲れさまでした。
戻る
北川ホームページ
集積回路工学研究室ホームページ
情報システム工学科ホームページ
Updated: