A/Dコンバータ その2

5月17日修正
---
"C:\Program Files\LTC\SwCADIII\lib\sym\Misc\pic16adc.asy"
の内容が間違っていたので差し替えました。
---

前回のA/Dコンバータ その1では、LTspiceでPIC16内蔵A/Dコンバータの入力回路(サンプル&ホールド回路)のモデルを作りました。

PIC16F88のデータシートのアナログ入力モデル


前回作成したLTspiceモデル



これを元にサブサーキットとシンボルを作りました。

準備

以下はLTspiceがデフォルトのディレクトリ"C:\Program Files\LTC\SwCADIII"にインストールされているという前提で書きます。違う場所にインストールした人は適宜読み替えてください。

サブサーキットファイルに関しては、以下の引用部分の内容をメモ帳などで"C:\Program Files\LTC\SwCADIII\lib\sub\pic16adc.sub"という名前で保存します。

"C:\Program Files\LTC\SwCADIII\lib\sub\pic16adc.sub"
.SUBCKT PIC16ADC ADC CTRL HOLD VDD VSS
Cpin ADC VSS 5p
D1 VSS ADC D
D2 ADC VDD D
Ileackage ADC VSS 500nA
Ric N001 ADC 1k
S1 N001 N002 CTRL VSS SS
Chold HOLD VSS 120p
Rss HOLD N002 {17k-2k*Vs}
.model D D
.model SS SW(Vt=1V Vh=0V)
.ENDS

シンボルファイルは、"C:\Program Files\LTC\SwCADIII\lib\sym\Misc\pic16adc.asy"として保存します。

5月17日修正
---
冒頭でも書きましたが
"C:\Program Files\LTC\SwCADIII\lib\sym\Misc\pic16adc.asy"
の内容が間違っていたので差し替えました。
---

"C:\Program Files\LTC\SwCADIII\lib\sym\Misc\pic16adc.asy"
Version 4
SymbolType CELL
RECTANGLE Normal -160 -80 32 16
WINDOW 0 0 32 Left 0
SYMATTR Prefix X
SYMATTR Description pic16f88 ADC sample & hold circuit
SYMATTR SpiceLine Vs=5
SYMATTR Value pic16adc
SYMATTR ModelFile pic16adc.sub
PIN -160 -48 LEFT 8
PINATTR PinName ADC
PINATTR SpiceOrder 1
PIN -160 -16 LEFT 8
PINATTR PinName CTRL
PINATTR SpiceOrder 2
PIN 32 -32 RIGHT 8
PINATTR PinName HOLD
PINATTR SpiceOrder 3
PIN -48 -80 TOP 8
PINATTR PinName VDD
PINATTR SpiceOrder 4
PIN -48 16 BOTTOM 8
PINATTR PinName VSS
PINATTR SpiceOrder 5

これで"Misc"からpic16adcが使えるようになったと思います。使えなかったらコメント欄で教えてください。対処できないかもしれませんけど。

各端子の説明

VDD:PICのVDD端子に相当します
VSS:PICのVSS端子に相当します
ADC:PICのアナログ入力端子に相当します
CTRL:PICから外部に出る端子ではありません。サンプル/ホールドを制御する端子で、HでサンプルLでホールドになります。しきい値は電源電圧にかかわらず1Vです。
HOLD:サンプル&ホールド回路に取り込まれた電圧を読み取るための端子です。PICから外部へは出ません。

使い方

今回のシンボルを使って、前回の例題を描き直してみました。






Vs=5VはVDD-VSS間の電圧です。回路図上のサンプル&ホールド回路の上で右クリックをして出てくるウインドウ上のSpiceLineの欄にVsを設定します。PICを3.3Vで動作させているのならVs=3.3Vと書きます。


これは、電源電圧に応じてサンプリングスイッチの寄生抵抗が変化するためです。


tag: LTspice A/Dコンバータ PIC 

comment

Secret

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRmachikaneyamaScilabKKRPSoC強磁性CPAPICOPアンプecalj状態密度常微分方程式モンテカルロ解析odeトランジスタインターフェースDOS定電流PDS5022スイッチング回路半導体分散関係シェルスクリプトレベルシフト乱数HP6632A可変抵抗I2Cトランジスタ技術温度解析R6452Aブレッドボード数値積分確率論バンド構造バンドギャップセミナー反強磁性絶縁熱設計偏微分方程式非線形方程式ソルバA/Dコンバータフォトカプラカオス三端子レギュレータISO-I2CPWscfLM358GW近似シュミットトリガLEDマフィンティン半径数値微分サーボ発振回路TL431直流動作点解析USBカレントミラー補間PC817Cアナログスイッチ74HC4053VESTAbzqlty電子負荷イジング模型アセンブラQuantumESPRESSOLDAチョッパアンプBSch開発環境単振り子量子力学2ちゃんねるFFT基本並進ベクトル標準ロジックブラべ格子パラメトリック解析位相図キュリー温度ラプラス方程式繰り返し抵抗熱伝導スイッチト・キャパシタ状態方程式MaximaSMP失敗談gfortran六方最密充填構造コバルトTLP621不規則合金スピン軌道相互作用ランダムウォーク最適化ewidth相対論FETQSGWスレーターポーリング曲線VCA仮想結晶近似GGAcygwinQuantum_ESPRESSO条件分岐詰め回路NE555LM555固有値問題最小値ガイガー管QNAPUPSダイヤモンドマントルデータロガーゼーベック係数TLP552シュレディンガー方程式ZnO最大値CIF格子比熱xcrysdenMCUハーフメタル井戸型ポテンシャル三角波ブラウン運動フェルミ面awk差し込みグラフスーパーセルFXA-7020ZR過渡解析起電力fsolveOpenMPUbuntuWriter509テスタ熱力学第一原理計算TLP521ubuntu平均場近似自動計測CK1026MAS830LトランスPIC16F785フィルタAACircuitCapSense負帰還安定性ノコギリ波ナイキスト線図EAGLE2SC1815P-10PGAOPA2277MBELMC662入出力FSMTeX結晶磁気異方性非線型方程式ソルバ固定スピンモーメント全エネルギーmultiplotgnuplotc/aL10構造fcc等高線ジバニャン方程式ヒストグラム確率論正規分布初期値面心立方構造ウィグナーザイツ胞interp1合金半金属電荷密度重積分SIC二相共存磁気モーメント不純物問題cif2cellPWgui擬ポテンシャルウルツ鉱構造BaOquantumESPRESSOフォノンデバイ模型edeltリジッドバンド模型岩塩構造ルチル構造スワップ領域マテリアルデザインspecx.fフラクタルマンデルブロ集合キーボードRealforceクーロン散乱三次元疎行列縮退化学反応関数フィッティング最小二乗法Excel直流解析PCTS-110TS-112日本語パラメータ・モデル等価回路モデル文字列状態図熱拡散方程式HiLAPW両対数グラフ陰解法Crank-Nicolson法ifort境界条件連立一次方程式片対数グラフグラフの分割円周率ヒストグラム不規則局所モーメントGimpシンボル軸ラベル凡例線種トラックボール

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ