ADCの並列動作 その3

LTspiceでスイッチト・キャパシタの交流解析にて、スイッチング動作を含む回路の周波数-ゲイン特性をLTspiceで確認する方法を試しました。
今回は、この方法を拡張して、ADCの並列動作 その2でシミュレーションしたモデルに対して、位相特性まで含んだボーデ線図を描きました。

その結果、A/Dコンバータを並列動作させた場合、時間分解能は向上するが、帯域は変化しないこと、連続時間的な交流解析ではスイッチング回路の交流特性の評価ができないことがわかりました。

001_20091011181607.png 003_20091011181606.png


スイッチング回路の交流解析


LTspiceでスイッチト・キャパシタの交流解析では、PSoCのスイッチト・キャパシタで作ったBPF2の周波数特性をLTspiceで調べる方法を書きました。その結果、既知のゲイン線図と比較して、十分な精度のシミュレーションができていることが確認できました。

今回は、トランジスタ技術2009年1月号の記事「汎用マイコンで500kHzサンプリングとストレージ動作を実現 8パラAVRでA-D変換するUSBオシロスコープ」を元ネタとしたA/Dコンバータの並列動作に関するエントリ(ADCの並列動作 その1,ADCの並列動作 その2)の続編として、並列動作しているA/Dコンバータに対してスイッチング回路の交流解析を行い、位相線図までを含んだボーデ線図を描くことを目標とします。

位相の求め方


LTspiceでスイッチト・キャパシタの交流解析でゲイン線図を描くことには成功しました。一方で、位相は入力信号のある点と出力信号の対応する点の時間差から求められます。今回は、振幅の中心を立下りで通過する時刻を比較することによって位相を求めることにしました。

シミュレーション結果


fig.1-3にシミュレーション結果を示します。


001_20091011181607.png
fig.1: スケマティック

002_20091011181639.png
fig.2: 過渡解析結果

003_20091011181606.png
fig.3: ボーデ線図,ゲイン(赤),位相(緑)


fig.3がボーデ線図です。赤のラインがゲインで、単位はdBです。緑のラインが、位相を表し、単位は度です。

ゲインと位相


一般的にゲイン線図で、-3dBとなる周波数を帯域と呼びます。このオシロスコープの帯域は約15kHzと言うことになりました。
また、位相の回転は非常に激しく、100kHzまでに1.5周してしまっています。60kHz前後で再びゲインが大きくなるのは位相が1周してしまっているからですね。

単一のA/Dコンバータとの比較


並列動作させない単一のA/Dコンバータのスイッチング動作交流解析の結果をfig.4-6に示します。


004_20091011181639.png
fig.4: スケマティック

005_20091011181639.png
fig.5: 過渡解析結果

006_20091011181639.png
fig.6: ボーデ線図,ゲイン(赤),位相(緑)


fig.6のボーデ線図は、並列動作時のfig.3と比較すると(全体的に表示が荒いものの)同じ傾向を持っているように見えます。このことから、A/Dコンバータの並列化によって、ゲイン特性と位相特性はともに、向上も悪化もしていないことが分かります。

連続時間交流解析との比較


fig.7-8に、単一のA/Dコンバータに関して、アナログスイッチをすべて閉じた状態での交流解析の結果を示します。(ADCの並列動作 その1の結果をdB表記に直しただけです。)


007_20091011181638.png
fig.7: スケマティック

008_20091011181638.png
fig.8: ボーデ線図,ゲイン(実線),位相(破線)


スイッチングを含む解析に比べるとはるかによい特性を示しています。言い換えれば、スイッチングを含まないボーデ線図からはスイッチング回路の特性を評価できないと言うことです。

モデルの妥当性


ADCの並列動作 その2でも書いたことですが、並列スイッチング動作のSPICEモデルはワーストケースを意図して作成したものなので、実際に製作した回路の特性とはかなりかけ離れている可能性があります。

並列動作のゲインは、実効値を求めているため、使われるデータ点数が比較的多いので、高周波側まできれいな曲線がかけていますが、位相線図は、立ち上がりの1点のデータだけで描くことになるので、高周波側では時間分解能の影響を受けて誤差が大きくなっていると考えられます。

結論


以上を踏まえて以下の議論が成り立ちそうです。

  • A/Dコンバータの並列動作により、単一動作時よりも時間分解能が向上する
  • A/Dコンバータの並列動作により、帯域は単一動作時と変化しない
  • スイッチング回路の帯域は、連続時間的な交流解析だけでは評価できない


関連エントリ




付録


このエントリで使用したLTspiceのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。


参考文献




フィードバック



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

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: LTspice A/Dコンバータ スイッチング回路 

マイコン使用60V電圧計入力回路

60Vフルスケールの電圧計をマイコンで実現する際の入力回路に関してのメモ。
アッテネータ・短絡保護・電源への回り込み対策

001_20090803002033.png 002_20090803002034.png 003_20090803002034.png


○マイコンを用いた計測システム
Ariesの表示機にはバッテリー電圧とキャパシタ電圧を測定するために60Vフルスケールの電圧計が必要です。
A/Dコンバータを持ったマイコンを使えば、電圧計は簡単に作れます。以下のように電圧計の入力回路の設計をしました。


001_20090803002033.png
fig.1: 入力段回路図


○ヒューズ
バッテリーにせよキャパシタにせよ、インピーダンスの低い電圧源なので短絡させると大電流が流れます。正常動作時にはほとんど電流が流れないはずなので、遮断電流は適当に小さなものを選びます。

ヒューズの直列抵抗は、抵抗で構成されるアッテネータに直列に入るため、誤差の要因となりますが、さほど精密測定と言うわけでもないので余り気にしないことにします。

○フォトカプラ
マイコン利用の電圧計の場合、電圧計側の電源が入っていない状態で測定端子に電圧を入力すると端子の寄生ダイオードダイオードから電源に電流が流れ込み中途半端にマイコンが動作してしまうため、対策が必要になります。

今回はフォトカプラでスイッチにしました。フォトカプラは汎用品ですが、コレクタ-エミッタ間耐圧は80VあるPC817Cを選びました。

○アッテネータ
マイコンを5V動作させる前提で、12:1のアッテネータで60Vフルスケールを5Vに分圧します。


002_20090803002034.png
fig.2

003_20090803002034.png
fig.3


フォトカプラ1次側の順電流がもったいないので、普段はoffとしておくとC1への充電に10ms程度の時定数を要します。

○関連エントリ


○付録
このエントリで使用したLTspiceのシミュレーション用ファイルとBSch3V形式の回路図ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。


○フィードバック

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

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: LTspice A/Dコンバータ 

ADCの並列動作 その2

ADCの並列動作 その1では単一のA/Dコンバータに対して周波数特性を調べるためLTspiceでシミュレーションを行いました。その結果、SAR型A/Dコンバータの入力段のS&H回路はローパスフィルタの特性を持つため変換可能な信号の帯域に制約を与えることが分かりました。
今回は、ADCを並列動作によるサンプリングレート向上とともに上記の特性の影響が大きくなることをLTspieを用いたシミュレーションで示しました。

002_20090111235005.png 003_20090111235010.png


ADC並列動作のLTspiceシミュレーション


ADCの並列動作 その1では単一のA/Dコンバータに対して周波数特性を調べるためLTspiceでシミュレーションを行いました。
今回は、過渡解析を用いてサンプリングスイッチの動作も含めたADCの並列動作をシミュレーションします。


001_20090111234937.png
fig.1: 単一のA/Dコンバータ

002_20090111235005.png
fig.2: A/Dコンバータの並列化


fig.1が並列化前のスケマティックです。fig.2はfig.1の点線内部の回路をコピーし、サンプリングスイッチのタイミングパルスの位相をずらしたものです。

1kHzのシミュレーション



003_20090111235010.png
fig.3: 1kHzの入力信号(黄緑)と出力データ(青)


黄緑のラインが1kHzの入力信号で、青のラインが出力データを示したものです。
位相の回転と量子化ノイズが見られます。位相回転の要因は、ローパスフィルタとしての特性よりもサンプリング時とA/D変換完了までのタイムラグが主要だと思います。
このタイムラグは一定であるので、ソフトウエアで後から補正することができるでしょう。

10kHzのシミュレーション



004_20090111235016.png
fig.4: 並列化スケマティック10kHz

005_20090111235021.png
fig.5: 10kHzの入力信号(黄緑)と出力データ(青)


前述のとおり、タイムラグに起因する位相の回転はソフトウェアで補正できます。量子化ノイズが相対的に大きくみえるのも我慢するとします。
とすると、やはり問題は振幅の減衰です。

AVRのS/H回路モデル


私がAVRを使ったことがないので、S/H回路の動作タイミングのモデルはかなりいい加減です。
AVRのADCにおけるS/H回路への充電のためのサンプリングスイッチ開閉動作をよく知らないので、最悪値として、トラ技のタイミングチャートの中から「A-D変換の開始指示」から「実際のA-D変換スタート」までの1.6usをサンプリングスイッチを閉じておく時間として採用しました。
しかし、各々のマイコンに関しては1chしかADCを使っていないので、変換以外の時間をすべて蓄積時間として使うことができるはずです。よって、実際の帯域はもっとマシだと思います。

結論


蓄電時間の見積もりが適当なことと、サンプリング抵抗のばらつきがあることなどから、AVRのADC並列動作でどこまで高速なデジタルオシロが作れるかということに関して定量的な評価ができているかという点は疑わしいと思います。
しかし、デジタルオシロスコープの周波数特性は、サンプリングレートのみによっては決まらないということを説明することはできたと思います。
また、このエントリで示した具体的な数値に関しても、ADCを並列使用するに際してのワーストケースとしては意味のあるものだと思います。

また、オシロスコープを使うときに少し意識すべきこととして、出力の表示は必ずしも入力信号と相似形をしているとは限らないということです。アナログオシロでは、帯域外の高周波信号は減衰しますし、デジタルオシロスコープではサンプリングレートしか書かれていない場合もあります。
なんにせよ、計測器を使うときには性能の限界に対して余裕のある領域で使っていることを確認する必要があります。

関連エントリ




付録


このエントリで使用したLTspiceのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。


参考文献




フィードバック



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

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: LTspice A/Dコンバータ 

ADCの並列動作 その1

トランジスタ技術2009年1月号に「汎用マイコンで500kHzサンプリングとストレージ動作を実現 8パラAVRでA-D変換するUSBオシロスコープ」という記事があります。このトラ技の記事では、A/Dコンバータを並列動作させることによって、見かけ上サンプリングレートが高速のA/Dコンバータとするというテクニックを使っています。
しかし、ADCの入力回路にはローパスフィルタとしての特性があるため、無制限にサンプリングレートが上げられるわけではありません。

今回は、AVRのA/Dコンバータの入力回路のモデルを作成し、交流解析を行いました。

002_20090111215258.png 003_20090111215326.png


トラ技2009年1月号の8パラAVRオシロスコープ


トランジスタ技術2009年1月号に「汎用マイコンで500kHzサンプリングとストレージ動作を実現 8パラAVRでA-D変換するUSBオシロスコープ」という記事があります。
PICやAVRといったマイコンには、A/Dコンバータモジュールを内蔵したモデルが存在します。しかしながら、これらのA/Dコンバータは変換時間として10us~100us程度を要求するため、高速なサンプリングを行うことができません。

トラ技の「8パラAVRでA-D変換するUSBオシロスコープ」の記事では、A/Dコンバータを持つAVRを8個並列に接続し、位相をずらしてサンプリングすることによりサンプリングレートを高めたUSBオシロスコープの製作を行っています。

この記事に対して私は、次のような疑問を持ちました。
  • ADC並列化による高速化に限度はないのか
  • あるとすれば、いかなる原因であろうか


これらの疑問に答える鍵となるのは、A/Dコンバータの入力部分であるサンプル&ホールド(S/H)回路です。

逐次比較型(SAR)A/Dコンバータ


逐次比較型のA/Dコンバータは、その構造上、変換中にアナログ入力電圧が変動すると正しく変換を行うことができません。そこで、変換の前段に入力電圧を保持するためのS/H回路を持っています。
以下に示すのが、ATmega644Pのデータシートから引用したA/Dコンバータの入力回路です。


001_20090111215235.png
fig.1: AVRのS/H回路


この図から読み取れるとおり、A/Dコンバータの入力回路は(アナログマルチプレクサやサンプリングスイッチの)抵抗とサンプリングコンデンサによって、ローパスフィルタが構成されています。したがって、S/H回路自体が周波数特性を持っていることになります。

また、だいぶ昔のエントリになりますが、PICのA/Dコンバータの入力回路に関しては、A/Dコンバータ その1その2で書きました。参考にしてください。

サンプリングレートと帯域


デジタルオシロスコープの動作速度を表すパラメータとして、サンプリングレートがよく用いられます。一方で、アナログオシロスコープにはサンプリングレートという概念はなく、速度は帯域で表されます。
ところが、デジタルオシロスコープといえど入力段はアナログ回路です。したがって、この入力段の回路にも周波数特性があるはずです。

S/H回路の周波数特性


fig.1で挙げたAVRのデータシート上の入力回路をLTspiceを用いたシミュレーションにかけてみました。


002_20090111215258.png
fig.2: AVRのADC入力段スケマティック


入力端子のバイアス電流源は、信号源の出力インピーダンスが低いとして無視し、サンプリングスイッチは閉じたままという条件で交流解析を行いました。
(シミュレータ上で並列化することを想定して、ボルテージフォロワとアナログマルチプレクサを追加してありますが、今回は特に利用していません。)


003_20090111215326.png
fig.3: 出力電圧(実線)と位相(破線)


上のグラフがサンプリングコンデンサの電圧です。
当然ですが、普通のローパスフィルタです。


004_20090111215334.png
fig.4: サンプリングコンデンサの電圧と入力信号の間の誤差


fig.4は、入力信号と読み取った信号の誤差をあらわしたものです。縦軸はログスケールで単位はVです。

ADCの交流特性


このように、A/Dコンバータの入力回路にも通過可能な帯域が存在します。しかしながら、同時に通常のサンプリングレートによる制約も存在します。
最終的なADCの交流特性は、これら二つの要因のうちより低周波側から主要になる方に制約されるであろうと考えられます。

このため、A/Dコンバータを並列接続することはサンプリングレートの向上には貢献しますが、一方で入力回路自体が変わっていないので、並列数を増やしていくといずれローパスフィルタの帯域の壁にぶつかるだろう事が予想されます。

関連エントリ




付録


このエントリで使用したLTspiceのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。


参考文献




フィードバック



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

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: LTspice A/Dコンバータ 

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 

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

LTspiceAkaiKKRmachikaneyamaScilabKKRPSoCOPアンプPICCPA強磁性常微分方程式モンテカルロ解析odeトランジスタ状態密度インターフェーススイッチング回路ecaljPDS5022DOS定電流半導体シェルスクリプト乱数レベルシフトHP6632Aブレッドボード分散関係温度解析R6452Aトランジスタ技術I2C可変抵抗反強磁性セミナー数値積分確率論偏微分方程式バンド構造非線形方程式ソルババンドギャップ絶縁熱設計シュミットトリガLEDA/Dコンバータ三端子レギュレータLM358ISO-I2CGW近似カオスフォトカプラマフィンティン半径TL431数値微分PC817Cアナログスイッチ直流動作点解析発振回路USBサーボカレントミラー74HC4053パラメトリック解析LDAbzqltyチョッパアンプ量子力学FFT2ちゃんねるアセンブラBSch開発環境電子負荷ブラべ格子イジング模型補間基本並進ベクトル標準ロジック単振り子キュリー温度繰り返しMaxima状態方程式失敗談相対論スピン軌道相互作用FETランダムウォーク熱伝導六方最密充填構造コバルトewidthTLP621GGAQSGW不規則合金位相図抵抗SMPcygwinラプラス方程式スレーターポーリング曲線gfortranスイッチト・キャパシタ詰め回路TLP552三角波格子比熱TLP521条件分岐LM555MCUNE555QNAPマントルテスタ過渡解析FXA-7020ZRダイヤモンドデータロガーガイガー管自動計測Writer509UPSシュレディンガー方程式ブラウン運動awk差し込みグラフ熱力学平均場近似仮想結晶近似VCAfsolve井戸型ポテンシャルVESTA起電力スーパーセルOpenMP第一原理計算ubuntu固有値問題L10構造OPA2277interp12SC1815fccウィグナーザイツ胞面心立方構造フィルタジバニャン方程式ヒストグラム確率論マテリアルデザインspecx.f等高線正規分布PGAフェルミ面非線型方程式ソルバ初期値固定スピンモーメントスワップ領域ルチル構造リジッドバンド模型edeltquantumESPRESSO岩塩構造BaOSIC二相共存ZnOウルツ鉱構造フォノンデバイ模型c/aノコギリ波全エネルギーFSMTeXgnuplotmultiplotハーフメタルCapSense半金属合金結晶磁気異方性Ubuntu文字列入出力TS-110TS-112疎行列Excel直流解析ヒストグラム円周率不規則局所モーメントトラックボールPC等価回路モデルパラメータ・モデルキーボードRealforce三次元マンデルブロ集合フラクタル化学反応重積分縮退日本語最小二乗法関数フィッティングGimpMAS830LHiLAPW熱拡散方程式両対数グラフナイキスト線図負帰還安定性陰解法Crank-Nicolson法P-10クーロン散乱境界条件連立一次方程式片対数グラフEAGLEPIC16F785LMC662トランスシンボルCK1026線種凡例MBEAACircuitグラフの分割軸ラベルifort

最新コメント
リンク

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