LTspice/SwitcherCADIII 部品を作る

ロジックIC 7404 の部品を作る

 データシートや専門書などの載っている等価回路を利用し、LTSpiceの部品として動作をシュミレーションできると便利です。そこでテキサスインストゥルメンツ社のTTLロジック7404を、同社データシートの等価回路から部品化してみたいと思います。まず等価回路を描き、それをサブサーキットにします。次に対応するシンボルを用意し、端子などの関連付けを行なうことで部品としと利用できるようにします。
サブサーキット

回路図作成

7404の等価回路 (TI社データシートから引用)
7404等価回路
 後で作るシンボルが参照するための回路(サブサーキット)を作成するために、まず等価回路を描きます。
 等価回路を描くために、LTSpiceを起動し回路図を新規で作成します。(File > New Schematic ) これは通常の回路図を描くのと同じ作業です。
7404等価回路  左図はLTSpiceに描いた7404の等価回路図です。ここで回路図中に付けられるラベルは後でシンボルから参照されるので覚えておくようにします。データシートに従って入力にはラベル"A"、出力にはラベル"Y"を付けました。VCCとしては標準の5Vを始めから与えてしまいました。(これは後でシンボルからパラメータ渡しに変更して任意で電圧を変更できるようにします。)
 図中のトランジスタとダイオードは特定に品番を入れていません。この場合理想特性ではなく、一般特性が付与されます。(多分)
 回路図が描けたら、サブサーキットを作るためにの作業です。メニュー View > SPICE Netlist とすると今表示されている回路のネットリストが表示されます。このテキストをコピーしてメモ帳にペーストして若干修正を加え拡張子subで保存するとサブサーキットファイルが出来上がります。
 この回路図自体(.ascファイル)はサブサーキットを作ってしまえば必要ないのですが、一応"C:¥Program Files¥LTC¥SwCADIII¥lib¥sch¥mySch¥7404.asc"として保存しました。

サブサーキットファイル作成

 下表は View > Netlist で表示されるネットリストとそれを元に修正したサブサーキット 7404.sub です。太字の部分が修正に関係する部分で、アスタリスク(*)で始まる行はコメント文です。サブサーキットファイルは".subckt"で始まり、".end"で終了します。".subckt"に続く"7404"はサブサーキットの名前、"A", "Y"は入出力ポート名です。".backanno"はで削除します。
 そして C:¥Program Files¥LTC¥SwCADIII¥lib¥sub¥7404.sub として保存します。これで後で作るシンボルから参照されるサブサーキットの出来上がりです。
 V1で始まる行の 5 はVCCの5Vを意味します。これを {VCC} と書き換えるとVCCを引数として他の値を受け取れるようになります。

View > SPICE Netlist7404.sub
*C:¥Program Files¥LTC¥SwCADIII¥lib¥sch¥mySch¥7404.asc

Q1 N003 N002 A 0 NPN
Q2 N005 N003 N004 0 NPN
Q3 N006 N005 N007 0 NPN
Q4 Y N004 0 0 NPN
D1 N007 Y D
D2 0 A D
R1 N004 0 1k
R2 N001 N002 4k
R3 N001 N005 1.6k
R4 N001 N006 130
V1 N001 0 5
.model D D
.lib C:¥PROGRA~1¥LTC¥SwCADIII¥lib¥cmp¥standard.dio
.model NPN NPN
.model PNP PNP
.lib C:¥PROGRA~1¥LTC¥SwCADIII¥lib¥cmp¥standard.bjt
* 7404
.backanno
.end
*C:¥Program Files¥LTC¥SwCADIII¥lib¥sch¥mySch¥7404.asc
.subckt 7404 A Y
Q1 N003 N002 A 0 NPN
Q2 N005 N003 N004 0 NPN
Q3 N006 N005 N007 0 NPN
Q4 Y N004 0 0 NPN
D1 N007 Y D
D2 0 A D
R1 N004 0 1k
R2 N001 N002 4k
R3 N001 N005 1.6k
R4 N001 N006 130
V1 N001 0 5
.model D D
.lib C:¥PROGRA~1¥LTC¥SwCADIII¥lib¥cmp¥standard.dio
.model NPN NPN
.model PNP PNP
.lib C:¥PROGRA~1¥LTC¥SwCADIII¥lib¥cmp¥standard.bjt
* 7404

.end


シンボルを作る

 C:¥Program Files¥LTC¥SwCADIII¥lib¥sym¥ 以下にすでに沢山のシンボルが始めから用意されているので、ほとんどの場合コピーして必要な部分だけを書き換えれば効率的ですが、ここでは新たに作成しました。
 シンボルを作成するには LTSpiceを起動し、File > New Symbol とします。シンボルの絵を描くには Draw メニューを使い、Edit > Sttribute で属性を与えます。そして Edit > Add Pin/Port ではポートにラベルを与えます。
シンボル  "Pin/Port Propaties" ウィンドウではサブサーキットで使ったラベル名と同じ名前でラベルを与えます。入力が"A"で出力が"Y"です。
 "Symbol Attribute Editor" ではPrefixに"X"と設定することでサブサーキットが使われるようになります。ModelFileには参照するサブサーキット名の"7404.sub"と指定します。もしサブサーキットでVCCをパラメータで受け取るようにした場合は、SpiceLineに"VCC=5"とすることでVCCとして5がサブサーキット7404.subに渡されるようになります。こうすると通常のシュミレーションはVCCが5Vで計算されますが、異なるVCC電圧を指定することができるようになります。
 "Attribute Window to Add" は"Inst Name" と"Value"を指定しました。

実際にシュミレーションしてみる

7404_test  今作った7404を単純な回路でシュミレーションしてみたいと思います。そのまま計算させるとVCCとして5がサブサーキットに渡されますが、レイアウトしたシンボルの上で右クリックすると、"Component Attribute Editor"が開かれVCCを変更できます。例では4.5Vにしてシュミレートさせています。入力ポートには10MHzのピークが3Vのサイン波を与えています。シュミレートした7404の出力特性は文献などでよく見るそれと同じ結果になっていて、シュミレートが上手くいっているようです。


ソース

7404の等価回路
7404のサブサーキット
7404のシンボル



PICマイコンと電子工作 HOME



inserted by FC2 system