2011年8月25日木曜日

演算子法とラプラス変換

微分方程式を真面目に解くと大変なので演算子法で解くと代数的に解けて楽。
演算子法の原理はラプラス変換。

2010年9月29日水曜日

pspiceでライブラリ作成・追加

1.Model Editorで.olbファイルを作る
(1)メーカHPから、.cir .modなどのファイル(モデル?)をダウンロード。

(2)Model Editorを起動して上記ファイルを読み込ませる。
     File->Open->上記ファイル

(3)Export to Capture...を実行

すると.olbが出来る。

2.Orcadでライブラリを読み込む
(1)Orcadで適当にプロジェクトを作る
(2)1で作った.olbファイルを読み込む
  Place->Partで、Library追加するダイアログを表示させて上記olbファイルを追加する。

  
(2)1で作ったライブラリを読み込む。
  Edit Simulation Profile->Configuration Fileタブ->Library



.olbと.libの違いが良く解らん。
.olbさえ読み込ませておけばいけるのかと思いきや、
別途.libも読み込ませないといけない。
.olbは回路図CAD用のデータで、.libにシミュレーションに必要な情報が載ってるってことだろうか?
今後要調査。

2010年4月25日日曜日

エネルギーバンド

物質中で電子が存在できるエネルギーは連続的ではなくてとびとびになってる(エネルギーバンド)。存在できないエネルギーの領域を禁制帯・バンドギャップという。
エネルギーバンドのうちでエネルギーの低いものから電子が詰まっていく。
価電子帯:一番エネルギーが低いバンド
伝導体:禁制帯(バンドギャップ)のすぐ上にあるエネルギーバンドのこと。電子が空(少ない?)

エネルギーバンドの中にフェルミレベルがあればそのバンドの中の電子は動けるので導電性がある。(金属)
それに対して、半導体・絶縁体はエネルギーバンド以外の禁則帯にフェルミレベルがあり電子が動けないので導電性がない。が、熱や光でバンドギャップを飛び越えられるくらい電子を励起すると伝導帯に電子が移りちょっと電流が流れる。
半導体にドナーを加えると伝導帯の近くに自由電子が存在できるドナー準位ってのが形成される。伝導帯の近くだから小さな熱や光で伝導帯に励起できる。アクセプタを加えると価電子帯の近くにアクセプタ準位が形成される。これも同様で、小さい熱や光で価電子帯に励起される。要するに、真性半導体では存在できなかったエネルギーバンドに電子が存在できるようになりしかもそれは伝導帯とか価電子帯とかの近くだからひょいひょいと電子がエネルギーバンドの間を行き来できるようになる。

PN接合すると、接合部で自由電子と正孔がくっついて内部に電位が生じる(内蔵電場:シリコンなら0.6~0.7v)。N型半導体ではドナー準位が伝導帯の近くにあったので簡単に励起できたが、接合されちゃうと内部内蔵電位分だけエネルギーバンドが広がってしまうのでそうもいかなくなる。そこで、順バイアスをかけてあげれば内蔵電場が打ち消されて接合前のようにドナー準位から伝導帯、アクセプタ準位から価電子帯へ電子が行き来できるようになる=電流が流れる。

2009年11月26日木曜日

π型フィルタの計算

ラインインピーダンスZとカットオフ周波数fを決めたら
以下の式にしたがってL、Cを計算する。
Z=2πfL=1/2πfC

2009年10月28日水曜日

エラーアンプ付きスイッチングレギュレータ メモ

○出力電圧の計算
エラーアンプのー端子(FB端子)に戻す電圧で決まる。
具体的には出力電圧を抵抗分圧した電圧を戻してやる。で、エラーアンプはスイッチングレギュレータの内部で作られた参照電圧とFB端子の電圧を比較して次段にあるコンパレータの参照電圧を作る。コンパレータのもう一方の端子には三角波が入力されていて、エラーアンプの出力電圧が変わればデューティも変わって出力電圧が変化する。

フィードバックループ概略
出力電圧が下がる→FB端子(ー端子)電圧下がる→エラーアンプ出力上がる→コンパレータの参照電圧上がる→デューティ比が増加 or 減少(外付けのパワトラがPNPかNPNかP型かN形かで増加するか減少するかは変わる)→出力電圧上がる

2009年10月25日日曜日

外部メモリのアドレス線接続についてメモ

バス幅が16bitのメモリを接続する場合は、
以下のようにマイコンのアドレス線を1bitシフトダウンする。

<16bitメモリとマイコンのアドレス線接続>

マイコンのアドレス端子    外部メモリのアドレス端子
A1-------------------------------A0
A2-------------------------------A1
A3-------------------------------A2


バス幅が32bitメモリを接続するんなら2bitシフトダウンして以下のようになる

<16bitメモリとマイコンのアドレス線接続>

マイコンのアドレス端子    外部メモリのアドレス端子
A2-------------------------------A0
A3-------------------------------A1
A4-------------------------------A2

なんでシフトするかといえば、たぶんマイコンはバイトアクセスするつもりでアドレッシングするからだと思う。(=バス幅が8bitのメモリがくっついているつもりでアドレッシングする)
だから、アドレス線が16本あるマイコンが0バイト目をアクセスしたいときには
A[0:16]=0x0000
1バイト目だったら
A[0:16]=0x0001
2バイト目だったら
A[0:16]=0x0002
とアドレス出力する。


○16bitバスのメモリがくっついている場合
マイコンが0バイト目のデータが欲しくて
A[0:16]=0x0000
というアドレスを出力すると
メモリは0バイト目から16bit分をデータバスに吐き出す。
つまり、0バイト目と1バイト目を吐き出す。
この場合は余分な1バイト目がくっついているけど、マイコンが欲しい0バイト目も出てきているから問題ない。余分な分は無視すればいいのだから。
では、マイコンが1バイト目のデータが欲しいときどうなるか?
A[0:16]=0x0001
というアドレスをメモリがもらうと、1 x 16bit目から16bit分を吐き出す。
つまり、2byte目と3byte目がでてきてしまう。
これにはマイコンが欲しかった1バイト目は含まれていない。
こんな問題が起きてしまうので、1bitシフトダウンしておく。
こうすれば、ぴったりマイコンが欲しいと思ってアドレッシングしたデータが出てくる。

16bitメモリだから1bitシフトだが、32bitならもう1bitシフトしないといけないので結局2bitシフトすることになる。

2009年9月11日金曜日

Pyscoで高速化

Pyscoってのを使うと早くなるといううわさがあるのでメモ
import psyco
psyco.full()
と冒頭に入れるらしい。