Spiceコンポーネントを使った回路設計
チュートリアルレベル:中級Spiceコンポーネントを使用したバンドパスフィルターの回路設計方法について説明します。
重要: Available only with Twin Activate commercial edition.
このチュートリアルのファイル
aop.lib; Band pass filter.scm, Filter.scm; opnon.cir*
*opnon.cirは、eCircuit Center http://www.ecircuitcenter.com/Circuits/opmodel1/opmodel2.htmの許可を得て提供する非反転増幅回路モデルです。ファイルをダウンロードする代わりに、チュートリアルのステップで必要な以下のコードをコピーすることができます。
OPNON.CIR - OPAMP NON-INVERTING AMPLIFIER
*
VS 1 0 AC 1 PWL(0US 0V 0.1US 1V)
*
R1 2 0 10K
R2 2 4 10K
XOP 1 2 4 OPAMP1
*
* OPAMP MACRO MODEL, SINGLE-POLE
* connections: non-inverting input
* | inverting input
* | | output
* | | |
.SUBCKT OPAMP1 1 2 6
* INPUT IMPEDANCE
RIN 1 2 10MEG
* DC GAIN (100K) AND POLE 1 (10HZ)
EGAIN 3 0 1 2 100K
RP1 3 4 1K
CP1 4 0 15.915UF
* OUTPUT BUFFER AND RESISTANCE
EBUFFER 5 0 4 0 1
ROUT 5 6 10
.ENDS
*
* ANALYSIS
.TRAN 0.1US 10US
*.AC DEC 5 1K 10MEG
*
* VIEW RESULTS
.PROBE
.END
Spice回路モデルの概要
このチュートリアルでは、HyperSpiceパレットにあるブロックを使って回路を構成します。

SpiceCustomblockを使ったモデルの作成
SpiceCustomblockとScopeブロックをモデルに追加します。
- 新しいモデルを作成し、Filter.scmというファイル名で保存します。
- SpiceCustomBlockを1つダイアグラムにドラッグしてダブルクリックします。 から、
-
パラメータタブで、SPICEネットリストボタンを選択します。
Spice Netlist Editorが表示されます。 -
opnon.cirファイルからコードをコピーし、Spice Netlist Editorにペーストします。
- OKをクリックします。
-
Parametersタブから、Selected voltage outputsを定義するためのボタンを選択します。
Select voltage output portsダイアログが開きます。
-
Available Channelsの一覧から、4をダブルクリックします。
-
OKをクリックします。
注: 入力したSpiceネットリストにはすでに必要なデータが定義されているため、入力を定義する必要はありません。
- パレットブラウザから、 を選択します。
-
Scopeブロックを1つダイアグラムにドラッグして、SpiceCustomBlockの出力に接続します。
モデルのこの部分の実行とテストの準備が整いました。 -
実行ツール
から、設定(Setup)
を選択します。
- Simulation Timeタブを選択します。
- 最終時間に10e-5秒と入力します。
-
実行
をクリックします。
モデル内のScopeブロックをダブルクリックします。プロットは次の図のようになります。
ModelicaモデルからSpiceモデルを作成
HyperSpiceのパレットからコンポーネントを用いて回路を作成します。提供されているModelicaの例に基づいて、モデルを作成します。
-
デモブラウザから、BandPassFilter.scmを選択します。
Modelicaのブロックから構築されたBPFモデルが表示されます。
-
Filter.scmモデルから始めて、HyperSpiceパレットのブロックを使用して、Spice版の回路モデルを構築します。
モデルに作成するコンポーネント Spiceのパレットから挿入するブロック 電圧と電流刺激 Voltage Constant; Voltage Pulse; Voltage SIN 線形コンポーネント Resistor; Capacitor; Inductor 電圧と電流定数ソース モデルに必要なブロックを挿入します。 半導体部品 Diode; BJTNPN; BJTPNP; Mos1N; Mos1P; Mos2P; Mos2N; Mos3N; Mos3P サブ回路 モデルに必要なブロックを挿入します。 ケーブルまたはSパラメータ関数 モデルに必要なブロックを挿入します。 ブロックの定義については、拡張定義を参照してください。
Spiceモデルの完成
モデルにxinstブロックを追加し、Spice .libファイルからブロックを参照します。
- xinstブロックを1つ、現在のダイアグラムにドラッグします。 を選択し、
-
使用しているテキストエディターで、以下のコードを記述したテキストファイルを作成し、aop.libという名前で保存します。
.subckt opampideal 2 1 3 G1 0 3 2 1 100000000 R3 3 0 1 C3 3 0 636e-6 .ENDS
注: このチュートリアルの例では、aop.libファイルが.subckt
(サブ回路) 記述を通してモデル内の xinst ブロックを参照しています。また、.model
記述でブロックを参照することも可能です。 -
モデル内でxinstブロックをダブルクリックし、以下のように定義します。
パラメータ 入力値 インスタンスモデル名またはsubcktインスタンス名 opampideal 入力ポート番号 2 出力ポート番号 1 残りのパラメーターはデフォルトのままにします。 - OKをクリックします。
-
includeブロックを現在のダイアグラムにドラッグし、ブロックをダブルクリックします。
を選択し、includeブロックは、ダイアグラム内に存在する必要がありますが、ダイアグラム内のブロックとの接続は必要ありません。
- File name to includeにはaop.libと入力してください。残りのパラメーターはデフォルトのままにします。
-
オペアンプが3つ必要なので、includeブロックも3つ必要です。現在のincludeブロックを複製するには、それを選択し、Ctrl+Dを2回押してください。
最終モデルは次の図のようになります。
ダイアグラムのシミュレーション
-
実行ツール
から、設定(Setup)
を選択します。
- Simulation Timeタブを選択します。
-
最終時間に10秒と入力します。
モデルの準備ができました。
-
実行
をクリックします。
過渡結果を表示するには、モデル内のScopeブロックをダブルクリックします。プロットは次の図のようになります。