◆ 以上の説明は、すでに作成されている、回路ファイルを使って、シミュレーションを実行する説明でした。実際のシミュレーションでは、準備作業として、まず回路ファイル (*.cir) を作成することが、必要です。
ここでは、回路ファイル のリストの内容を説明します。回路ファイルを自分で作るときに必要な事項も、解説してあります。
◆ 回路ファイルのファイル名には、日本語を使用できません。PSPICE は、日本語のファイル名でも動作します。しかし、文字化けしてファイル名が読めない部分があります。SCHEMATICS を使用するときは、日本語名では動作しない部分があります。ファイル名には、日本語を使用しない方が、良いでしょう。
ただし、ファイルを置くディレクトリ名 (フォルダ名) は、日本語でも差し支えありません。
◆ リスト 2-1-1 の内容を説明します。
なお、シミュレーションに早く上達する秘訣は、とにかく動かして見ることです。格言にも「習うより慣れよ」というのがあります。
解説を詳しく読んで理解しようとするよりも、まず、いじって見ることが大切です。
◆ 回路ファイルの 1行目は、必ずコメントです。ここには何を書いてもコメントとして扱われます。
回路ファイルでは、任意の行にコメントを挿入できます ((2-D)参照)。しかし、この 1行目のコメントは、一般の、任意行コメントとは異なる、特別な役割を持っています。
このコメントは、PROBE画面をプリントするときに、その表題となります。日本語を使うと、プリントの文字が、文字化けします。この行だけは、日本語を使わない方がよいでしょう。
◆ 2行目以降は本文です。コマンド、およびデバイス (部品) を記述します。デバイスを記述することによって、回路を構成します。コマンドおよびデバイスは、それぞれ1行に記述します。
SPICEでは大文字と小文字は区別されません。空行 (Enterだけの行) は無視されます。
[注] リストでは空行を設けてありません。適宜、空行を入れるとさらに見やすくなります。
◆ 各行の行頭は、コマンド名またはデバイス名です。最初に「.」があるものは、コマンド名です。
「.TRAN」はシミュレーション解析方法を指定するコマンドです。最初に、シミュレーション解析方法を、指定します。
◆ シミュレーション解析の方法には、下記の 3種類があります。
[ .TRAN : トランジェント解析 ]
.TRAN は、所定のとランジェント波形を、回路の指定の場所に入力したときの、時間応答を解析します。回路中の全ての個所の、出力波形を見ることができます(2.1.5.(2-C-c)参照)。
制御応答では、.TRAN によってステップ応答を求めることができます。
[ .AC : AC (交流) 解析 ]
.AC は周波数特性です。入力として、正弦波形を加えたときの応答です。出力の正弦波形の振幅と位相を、周波数を横軸としてプロットします。この正弦波入力も、回路の指定の場所に入力できます。出力は全ての個所を見ることができます(2.1.6.(1-B)参照)。
AC 解析は、電気、機械などの分野では一般に周波数特性と呼んでいます。
制御の分野でも、周波数応答の名で呼ばれ、多く用いられています。
[.DC : DC (直流) 解析 ]
.DC は、定常状態にある入力と出力の関係を求めます。電子回路の解析には多く使用されますが、制御の分野では、あまり使用されません。
◆ コマンド 名の後には、そのコマンドで定められている、要素を記述します。コマンドと要素の間、要素と要素の間は、スペースまたはタブ、およびその組み合わせで、区切ります。
リストでは、タブを使って位置を揃えて見やすくしています。
[注] リストのタブは 8 文字です。回路ファイルのタブは、通常、8 文字が適切です。
また、この講座では、リストは、1 行は 80 字以上を、前提としています。1行が 80 字以下の場合には、見難いところが、できます。
◆ .TRAN コマンドの標準の要素は二つです。その書式は、
<.TRAN><プリント・ステップ値><終了時間>
です。ここで、< > は必ず記述しなければならない要素を意味します。
PSPICE のコマンドやデバイスは、豊富なオプション機能を持っています。
この講座では、特に必要な場合を除いてオプションの説明は省略し、標準 (場合によっては標準の一部分) の機能のみを示します。
◆ このプリント・ステップ値は、名前と実体が異なります。
もともとの SPICE には、プリント用の .PRINTコマンド、プロット用の .PLOTコマンドなどがあります。
プリント・ステップ値は、これらのコマンドを使って、プリントなどを行うときに、ステップ幅を指定するパラメータです。
PSPICE では、独自の PROBE を使って、画面表示やプリントなどを行います。PROBE の出力は、プリント・ステップ値の指定には、無関係です。PROBE による画面表示やプリント出力などは、プリント・ステップ値に左右されません。
ただし、PSPICEでも、プリント・ステップ幅は、解析計算に影響します。この意味で、適切に設定する必要があります。
◆ 解析計算には、解析計算のステップ幅が存在します。解析計算のステップ幅は、解析の演算時間と演算精度を支配します。ステップ幅が細かければ、演算精度は高くなりますが、演算時間が長く掛かります。
この解析計算のステップ幅は、PSPICE によって自動的に決められます。解析の途中で、もステップ幅が自動的に変化します。
ところが、この解析計算のステップ幅は、プリント・ステップ値から、影響を受けます。しかし、その影響の受け方が、どのようになっているかは、はっきりしません。
一応は、解析計算のステップ幅は、プリント・ステップ値に比例的に変化します。しかし、プリント・ステップ値を狭く取っても、波形に大きな誤差がでることもあります。逆に、プリント・ステップ値を広くしても、解析計算のステップ幅が広くならないときもあります。
◆ 以上のような問題はありますが、通常はプリント・ステップ値を次のように決めると良いでしょう。
デバッグや各種トライアルのときは、プリント・ステップ値を広く取れば演算時間が短くなり、効率良く解析できます。
本番の解析では、プリント・ステップ値を小さくして必要な精度を確保します。
具体的な値は、経験に依るしかありません。
なお、パソコンの演算速度が十分に速ければ、プリントステップ値は、広過ぎることだけを気にすれば良いわけです。プリントステップ値が広過ぎるときは、波形の細かい変化が現れませんから、すぐ分かります。
◆ 終了時間は、解析終了の時間を示します。解析は必ず時間ゼロから始まり、終了時間で終わります。
◆ コマンドやデバイスを記述した後に、同じ行中に、コメントを記述することができます。「;」はコメントを表します。
コメントの説明は次の (2-D) で行います。
◆ 行頭に「*」があると、その行は、本文ではなくコメントと見なされます。また、2行目のように行の途中に「;」があると、その行の「;」以降もコメントと見なされます。
コメントは SPICE プログラムの中では無視されます。リストの例のように、日本語を使用しても差し支えありません。プリントしたりすれば、文字化けしますが、演算には支障ありません。
◆ この行はデバイス (回路構成部品) を示します。コマンド名が「.」で始まるのに対して、デバイス名は英字で始まります。
最初の 1 文字がデバイスの種類を表します。たとえば、電圧源「V」、抵抗「R」、ダイオード「D」、コンデンサ「C」などがあります。
2 文字目以降の文字は、同一種類のデバイスを、個別に識別するために用いられます。リストでは「V1」、「R1」、「D1」のように数字を付けて識別していますが、英字を付けることもできます。
デバイスは、ノード(接続点)を持っています。抵抗やコンデンサは、2 端子のデバイスですから、各 2 つのノードを持ちます。ノードには、名称をつけます。同じ名称のノードは、配線によって、互いに接続されていることを、表します。
◆ 「V」は電圧源です。電圧源の書式は、
<V(名称)><+ノード><-ノード><電圧値>
( < > は、必須)
です。ノード名は任意の英数字の組み合わせで表します。
ノード名「0」はグラウンドを表します。SPICE では、グラウンドのノード名は 0 でなければなりません。
電圧源には、幾つかの種類があります。ここの電圧源は、一般的な電圧源では無く、トランジェント解析のための電圧源です。この場合の電圧値の記述の仕方は、次の(2-E-c)に示します。
電圧源が、単なる DC の固定電圧のときは、電圧値はその DC電圧値を記入します。
[注] デバイス名やノード名の文字数には制約がありません。しかし、次のように制限すると、リストが見やすくなります。
タブを使って字揃えを行なうときは、文字数を (タブ幅 - 1) 以下に制限すると、各要素の位置が、よく揃って見やすくなります。
タブ幅が 8 桁であれば、デバイス名やノード名は 7 文字以下に制限すると良いでしょう。
タブ幅が狭いと、この制限は実用性がありません。タブ幅は 8 桁に設定することを推奨します。
ただし、この制限は、単に、リストを見やすくするだけのものですから、例外があっても差し支えありません。
◆ この電圧源 (リスト 2-1-1 の 4行目の「V1」) は単なる電圧源ではなくて、トランジェント解析のための入力電圧です。この場合には、電圧値として、波形を指定する必要があります。
波形は数種類、用意されており、それぞれ表記法が定められています。
この例はパルス波形です。パルス波形は、
PULSE(<V1><V2><td><tr><tf><pw><per>)
( < > は、必須)
で表します (図 2-1-11、表 2-1-1)。PULSEの( )内の各要素は、区切り記号としてスペース、左カッコ「(」、右カッコ「)」、カンマ「,」を使用することができます。
リストの例ではカンマとスペースを使用しています。
パラメータ | 意味 | デフォルト値 | 単位 |
---|---|---|---|
<V1> | パルスの初期電圧 | なし | V |
<V2> | パルスの電圧振幅 | なし | V |
<td> | パルスの最初の 立ち上がりまでのディレイ |
0 | sec |
<tr> | パルスの立上がり時間 | TSTEP | sec |
<tf> | パルスの立下がり時間 | TSTEP | sec |
<pw> | パルス幅 | TSTOP | sec |
<per> | パルス周期 | TSTOP | sec |
◆ 電圧や時間の数値の詳細な書き方は、次の (2-F) でまとめて解説します。
[注] デフォルト値の意味と使い方については、2.2.2.(3-B)に説明します。
◆ デバイス「R」は抵抗です。抵抗の標準要素は、
<R(名称)><+ノード><-ノード><抵抗値>
( < > は、必須)
です。
◆ 電圧、時間、抵抗などの値は、
<値[スケール][単位]>
の形で表します。ここで、[ ] は省略可能な要素を示します。値とスケール、スケールと単位は続けて書きます。スペースなどを入れることはできません。
◆ スケールを表す記号は、基本的には SI 単位系の補助単位と同じです。しかし、SPICE の使用文字の制約から、表 2-1-2のようになります。スケールの数字は 10 の指数 (累乗) を示します。
記号 | スケール | 呼び名 |
---|---|---|
F | -15 | FEMTO |
P | -12 | PICO |
N | -9 | NANO |
U | -6 | MICRO |
M | -3 | MILLI |
K | 3 | KILO |
MEG | 6 | MEGA |
G | 9 | GIGA |
T | 12 | TERA |
◆ スケール名が省略可能であるというのは、補助単位なしのときは、書かないということです。補助単位付きで数値を示す場合には、書かなければなりません。
特に注意しなければならないのは、M (MILLI) と MEG (MEGA) です。MILLIに「m」、MEGAに「M」を書きたくなります。しかし、PSPICEでは大文字と小文字が区別されません。
[注] ところが、PROBE では大文字と小文字が区別されます。PROBE の書式は SPICE とは違い、MILLI は「m」、MEGA は「M」と書きます。ますます間違いやすいのです。
スケールを書くかわりに、数値を「2.4E4」のように、指数を付けて表記することもできます。
◆ 要素はその位置 (何番目の要素か) によって、何を表しているのかが決まります。単位 (電圧ならV、時間ならs、抵抗ならΩなど)
は書かなくても自動的に決まります。
したがって、数値の後に単位を書く必要はありません。
単位を記入しても、エラーにはなりませんが、SPICE は単位を無視します。単位を書くかどうかは好みの問題です。
この講座では、単位は、記入していません。
◆ デバイス「D」はダイオードです。ダイオードの標準要素は、
<D(名称)><+ノード><-ノード><モデル名>
です。ダイオードには特性が異なる多くの品種があります。この品種 (特性) を「モデル名」で区別します。
◆ モデル名に対応するモデルの内容は、.MODELコマンドによって記述する必要があります。その書式は、
.MODEL<モデル名><タイプ>[<パラメータ>=<値>]*
( < > は、必須 [ ] は、省略可能 * は、必要数繰り返し可)
です。タイプは、モデルのタイプ (デバイスの種類) を表します。ここでは、タイプ = D です。D は、ダイオードを表します。
[<パラメータ>=<値>]* の * は、必要なパラメータの種類だけ繰り返し記入することができることを示します。
モデルのパラメータの種類は非常に多く、ダイオードの場合は 25 種類あります。しかし、それを全て指定する必要はありません。
各パラメータにはデフォルト値が定められています。
デフォルト値と同じでよいものは、記述する必要はありません。極端な例として、全てのパラメータがデフォルト値であれば、ここは記入する必要がありません。
◆ このコマンドはパラメータの記述が長いので、2 行にまたがっています。本来、SPICE ではデバイスやコマンドは 1行に記述しなければなりません。
ただし、この 1 行とはテキスト上の 1 行 (行頭から改行記号まで) のことで、画面 (またはプリント) 上の 1 行ではありません。
1 行が画面の幅より長い場合は、テキストエディタが自動折り返しを指定しているとき、改行記号が入っていなくても、自動的に折り返して表示されます。画面上では改行しているように見えます。しかし、この場合は、テキスト上は 1 行です。
ただし、行の途中の、半端な位置で、折り返しが発生すると、画面が見難くなります。PSPICE の文法上は 1 行であって、画面上では改行させる、方法があります。
リストを見て分かるように、適当な区切り位置で Enterキーで改行し、次の行の行頭(リストでは 9 行)に「+」を入れます。PSPICEは、「+」で始まる行を前行の続きと見なします。「+」の後にはスペースやタブを入れることができます。これを繰り返すことによって、1 行を、多数の行に、分けることができます。
◆ .PROBE コマンドは、回路ファイルの終わり (次の .END コマンドの前) に記述します。このコマンドは、PBOBE を実行するためのファイル (*.DAT) の、作成を要求する、コマンドです。
このコマンドがなくても PSPICE は実行します。しかし、このコマンドが無いと、PROBE を、実行することができません。
.PROBE コマンドは、出力変数を指定できます。指定したときは、指定した変数だけを、*.DATに出力します。指定しないときは、全変数を出力します。書式は、
.PROBE [出力変数]*
( < > は、必須 [ ] は、省略可能 * は、必要数繰り返し可)
です。回路ファイルの変数の数が多いときは、*.DAT ファイルのサイズを小さくすることができるので、有効です。しかし、この講座では、変数の数が多いものは、ありませんから、ほとんど使用していません。
◆ 回路ファイルの最後には、必ず .END コマンドを記入します。
◆ 回路ファイルは、拡張子 .cir を持つ名前を付けて、セーブします。