2015年10月4日日曜日

LT-spiceでCMOSライブラリ(CD4000.zip)をつかいたい時に、asyファイルが見つからない場合のヒント

yahoogroupsのLT-spiceのグループにあるCMOS libraryのCD4000.zipを落としてくる。解凍する場所は作成する回路ファイル(.asc)を保存するホルダーにする。解凍するとCD4000.libとCD4000系のシンボルファイルの入ったホルダーCD4000ができる。名前をsymに変更しておく。これを使う時のちょっとした問題についての注意。まず新規作成でspiceコマンドで.inc cd4000.libと入力し、貼り付ける。それを右クリックして開けbrowseでこのファイルの保存箇所を指定してOKをクリックしてから、保存しておく。するとcomponentをクリックして開いたときtop directoryの候補に作成した回路ファイルのあるdirectoryが現れるが、当然だがそこにはシンボルファイルはない。そこでfileで、openしてシンボルファイル(.asy)を探す。sym directoryの中にあるので使いたいデバイスのシンボルファイルを選択して、それを回路を保存したdirectoryに保存する。こうすればcomponentをクリックすると使いたいデバイスのシンボルが見つかるので回路に貼り付ける。つまり作成した回路ファイルとCD4000.libと使用したデバイスのasyファイルは同じderectoryの中にあることになる。

2015年9月22日火曜日

エラーメッセージ damped pseudo transition analysis

damped pseudo transition analysis 学生実験でアルミフォイルコンデンサの容量を計るためにCD4060の発振回路を使っている。その時容量の大きさと発振周波数の関係を理解するためにLT-spiceによるCMOS回路のCD4011をつかう発振回路
のシミュレーションを行っている。図の回路でA点に初期値を与えるといつまで立っても終わらなくなる。その時にエスケープキーを押すとtransition analysisの結果がプレーンに表示される。この問題は初期値を与える点を直流的な動作点が決まる点(CMOSの入力ピンに直接または抵抗を介して直流的に接続されている点、出力ピンにコンデンサがつながっている点は使わない)にすると回避できる。つまり回路図でA点以外に初期値を与えることで避けられる。 その時に表示されるエラーメッセージに示されるdamped pseudo transition analysisとは何かを解説している記事は以下をクリックすると得られる。
damped pseudo transition analysisの説明記事
それによればシミュレーションの初期値につかう直流的な動作点が正しく求められなかった時の警告で、.tran コマンドにUICを付け加えることで回避できる。またはシミュレーションのコマンド設定で終了時間と初期のスキップ時間を設定する画面で一番下に初期の動作点の計算を無視して実行するという項目にチェックすることでも回避できる。(この回路ではLT-spiceのdefaultのdigital deviceとしてCMOSのCD4011は含まれていないので、LT-spcie yahoo groupsで公開されている外部ライブラリを使っている。) LT-spiceのdigital deviceでinverterを3個つかい遅延をCR回路でおこなうと発振回路がつくれる。
2個のinverterで1個のbufferを作っている。さらにLT-spiceの論理素子は電源電圧が1Vなので、電源を5V、閾値を2.5Vに設定する。そのために素子の上で右クリックしてspice lineの行にVhigh=5 Vlow=0 Vt=2.5を入力する。もちろんこの回路は実際につくっても発振する。この回路の方が原理的には理解しやすいのだが、gate素子を1つ省略できるので2個のinverterによる発振回路がよく使われる。 LT-spiceのdeviceにあるdigital deviceのinverterを2個
つかって発振回路を同じように作ると理想のデジタル素子ではそのままでは発振しない。これはすべての素子が遅延なくまったく同時に動作するためで、現実的には素子に存在する遅延時間がそれぞれで違うのでそれを明示的に設定すれば発振する。このために1つの素子の上で右クリックしてspice listの欄にTd=5n(S省略可)を設定する。