痔になりやすい生活習慣とは?

プローブからの電圧をA/Dコンバータで読み込み、それをパソコンに出力するタイプのオシロスコープの自作を試みています。
マイコンには、現在、開発環境の整っている3694FかSH7144を使用したいと思うのですが、これらのマイコンに搭載されているA/Dコンバータはスキャン速度が遅く、最大でも分解能3kHz程度のオシロしかできないと考えています。
理想的には10MHz程度までの信号を計測したいのですが、何か安価な方法は無いでしょうか。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

No.3 tanceです。



なかなか良いADを見つけましたね。これは、名前はクロックでは
ありませんが、ENCODEという端子にクロックを与える必要が
あります。

また、データシートを良く読むと解りますが、「最小変換レート」
という仕様があり、20Mspsとなっています。つまり、20Mspsより
遅くは動作しないのです。

とにかくADは一定レート(例えば40Msps)でデータを変換し
続けなければなりません。PCは欲しいときにデータを取り込む
という動作になります。(いらない時はデータを捨てる)
(クロックを止めると再開に時間がかかる)

さて、25nsecの間に入力変化が微小だと仮定すると、これは
信号帯域が10MHzよりはるかに狭いことを意味してしまいます。
25nsecとは10MHzにとっては周期の1/4ですから、まさに0~ピーク
に相当します。

1発だけ波形を取るので良いならこの出だし問題は無視して良い
かもしれませんが、リアルタイムに波形を出そうとすると
避けて通れません。これはデジタルオシロの宿命です。つまり
通常、波形の横軸はサンプリング間隔よりずっと細かく計測
してやらないと波形がふらふらしてしまうのです。

トリガはソフトで処理できますが、もう少し詳しくお話ししましょう。
取ったデータを常に監視していて、特定の電圧(トリガレベル)を
超えるとか下回るときの瞬間の波形が画面左になるように表示
すれば良いのですが、真のトリガ点の前後のデータを使って
真のトリガ点の本当の時刻を内挿します。とりあえず、直線で
内挿すれば、25nsecの誤差は相当小さくなります。このようにして
求めた真のトリガ点に相当する位置に波形を表示するのです。

決して、クロック周期を単位として考えてはなりません。
ソフト的には多少面倒ですが、これは必須の処理です。本物の
デジタルオシロでは精度を上げるために、タイムインターバル
計測を行って、真のトリガ点を測定しています。(高いオシロは)

最近のデジタルオシロの流れは、とにかく大量のデータを長い
メモリーに取り込んで、あとでゆっくりソフトで処理して
波形を出す、という方式になってきています。それでも波形を
更新する周期はソフトに依存するので、あまり遅いと波形の
見逃しが増えてデバッグなどには使えないオシロになってしまいます。

難しいと言ってネガティブは回答になってはいけませんが、ただ
やってみるという領域を越えて、使えるオシロを作るとなると
やはりある程度は面倒なことを覚悟しなくてはなりません。
頑張ってください。
    • good
    • 0
この回答へのお礼

わかりやすい解説、どうもありがとうございます。
頑張ってみます。

お礼日時:2009/10/25 23:42

No2です。



>A/D変換専用のICを、マイコンのI/Oポートに接続するのでは処理が追いつかない、ということですよね?
>マイコンの処理が追いつかない、というのを具体的に知るにはどうすればいいのでしょうか?

RISCチップでは1命令1クロックで実行できるとしても、ADコンバータを制御、I/O入力値読み出し、メモリへの格納を同時に1命令で・・・と言うわけには行かないですよね。
SH7144は最大動作周波数50MHz、3694Fは20MHzですので、仕様決めが難しそうです。。。
これ以上のクロックになると個人での制作は厳しいですし・・・。
反射の影響やデバイス毎の誤差が気になりますが、ボルテージフォロワかましてAD変換2つに同じアナログ値入力して半クロックずらしてサンプリングですかね。
で、ホールド回路実装して2回路分同時に読み出しとか。

>処理は一定間隔で入れ、割り込みは入れませんからタイミングはずれないと存じます。

もちろんタイミングに余裕があるときは目に見えるずれはほとんどありません。
でも複数の作業をさせたりすると、クロック単位でずれる状況は結構あるんですよね。

>ただ、メモリから読み出す、という動作は、A/D変換ICの出力を読み取る、という操作と等価な気がします。

それは制作するものの仕様もよると思います。
(1)AD変換値を常にメモリにループ格納。
(2)FPGA(or CPLD)にトリガ点を設定しておいて、トリガが発生したら指定回数の取り込みでメモリ格納をとめる。
(3)メモリ格納をとめたらCPUからメモリ読み出し、パソコンに転送。
(4)転送し終わったら(1)に戻る。
この仕様であれば読み出しと書き込みはまったく干渉しません。
一般的に販売されているディジタルオシロスコープも同様で、一気に貯めて一気に読み出す手法をとってきていますし。
    • good
    • 0
この回答へのお礼

なるほど・・・
とても勉強になります。
ありがとうございました。

お礼日時:2009/10/25 23:44

取り込めるのは繰り返し波形のみになりますけど,安価に済ませるなら等価サンプリングする手でしょうか。

サンプル&ホールド回路を外付けして,毎回トリガタイミングから少しずつずらしてサンプリングして,取り込んだデータをPC側でまとめてやる手ですね.
マイコン側で20ksps程度まで頑張れれば500回の等価サンプリングで10Msps相当の波形が取れるという感ですね.
10MHzを取り込むとなると50Msps程度は必要でしょうから,更にこの5倍・・ちょっと実用性と言う面では”?”ですけど,マイコンの内蔵A/Dフル活用という意味では面白い工作かもしれませんね.

この回答への補足

ご回答ありがとうございます。
そんな方法があるとは気づきませんでした。
もし妥協するときはその方法を取ることとします。

補足日時:2009/10/25 20:15
    • good
    • 0

オシロスコープって意外と難しいものです。

たった10MHzでも
自作するのは相当大変です。ADコンバータはどうしても40Msps
くらいのものが必要になるし、DMAが使えても、何らかのADとの
インターフェースに高速のハードが必要になります。

これらは自作可能ですが、市販のADコンバータボードを買うのと
どちらが安価になるかは良く比較しないと何ともいえません。

たとえ、市販のADボードをPCのスロットに差し込んでも、それだけ
ではオシロスコープとは言えません。トリガをどうするかが
大きな問題で、そのほかにもプローブに合うアナログ入力を
作る必要があります。(おそらくADボードに直にプローブを
つないでも周波数特性が出ないと思います。)

さらに問題があります。サンプリングが40MHzだとして、時間
分解能は25nsecです。これに10MHzの信号を入れると、その周期は
100nsecですから、信号の1周期の1/4の不確定時間が存在します。
信号はADのクロックと非同期だということに注意してください。

トリガは何らかの方法で作ったとして、トリガが発生した後の
最初のクロックはトリガから最低0nsec、最高25nsec後に来ます。
この25nsecの間に信号は相当変化するので、もし、最初のクロック
で取ったAD値を画面の一番左に表示するとすると、波形が相当
ばらついてしまいます。つまり、トリガ点の1点から始まる
波形にならない訳です。

この説明でお解りでしょうか。図を描いてトリガ点とクロックの
関係を非同期でいくつも重ね書きしてみると解りやすいと
思います。

これらを全て解決する根気と時間がないとなかなか難しいというのが
現実です。

この回答への補足

ご回答ありがとうございます。
A/Dコンバータについては以下のものを検討しています。
http://akizukidenshi.com/catalog/g/gI-01530/

>トリガが発生した後の最初のクロックはトリガから最低0nsec、最高25nsec後に来ます。

一定周期ごとにPCにA/D変換した値を送信するという仕組みを考えています。そこではクロックと言う概念はもはや存在しないのではないでしょうか。
また、25nsec間の信号の変化は十分に微少だと割り切って考えた方が良いかもしれません。
トリガなどの後処理はPCで何とかなる気がします。もちろん遅延は起こるでしょうが。

補足日時:2009/10/25 19:34
    • good
    • 0

10MHzの波形と言うことはサンプリング定理より最低でも20MHz、


ある程度波形が見えるようにするには40MHzサンプリングくらい
必要ですね。

40MHzサンプリングだとAD変換の性能があったとしてもマイコンの
処理が追いつきません。
また、マイコンは何か処理が入るたびにA/D変換の読み取りタイミング
がずれますので、毎回同じタイミングで読み取るのに向いてません。
(特に速度が速いと誤差が顕著に出る)

サンプリングした波形をメモリに保存するまではハードウェア
(CPLDやFPGAなどの外部ロジック)で勝手にやらせて、マイコンは
メモリから読み出してパソコンに転送する外部インターフェースに
徹するのが一般的です。

どうしてもAD変換の性能が出ない場合はAD変換2つ使用して、
時分割で交互に読み取って見かけ上のサンプリングを上げる方法も
あります。

いずれにせよ「安価な方法」ではないのですが。。。

この回答への補足

ご回答ありがとうございます。
A/D変換専用のICを、マイコンのI/Oポートに接続するのでは処理が追いつかない、ということですよね?
マイコンの処理が追いつかない、というのを具体的に知るにはどうすればいいのでしょうか?
データシートを見てもよく分かりません。

>また、マイコンは何か処理が入るたびにA/D変換の読み取りタイミン
グがずれますので、毎回同じタイミングで読み取るのに向いてません。

処理は一定間隔で入れ、割り込みは入れませんからタイミングはずれないと存じます。


>サンプリングした波形をメモリに保存するまではハードウェア
(CPLDやFPGAなどの外部ロジック)で勝手にやらせて、マイコンは
メモリから読み出してパソコンに転送する外部インターフェースに
徹するのが一般的です。

どうしても仕方ない場合はFPGAを頼ることにします。ただ、メモリから読み出す、という動作は、A/D変換ICの出力を読み取る、という操作と等価な気がします。

補足日時:2009/10/25 17:39
    • good
    • 0

[秋月電子]にて次のURLにあるような「プローブ」他を取り扱っています。


クリックして参考にして下さい。

[ペン型USBオシロスコープ]
http://akizukidenshi.com/catalog/g/gM-01621/

[デジタルオシロスコープ]
http://akizukidenshi.com/catalog/g/gM-01966/

デジタルオシロスコープ
http://akizukidenshi.com/catalog/c/coscillo/

[秋月電子通商]
http://akizukidenshi.com/catalog/default.aspx

この回答への補足

ご回答ありがとうございます。
私は既に100MHz迄計測可能なシンクロスコープを所持しております。
したがって、自作することが前提条件となります。

補足日時:2009/10/25 11:24
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qトランジスタ 温度特性

トランジスタは何故温度が上昇したら電流が流れやすくなるのですか?
詳しくお願いします。

Aベストアンサー

簡単に説明すると、電子の活動が温度上昇に伴って活発になるからです。
下記のサイトの「動作の原理」の説明で電子が移動する速度が上昇し、キャリアとして電流が流れるのが多くなるからです。

トランジスタ
http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B8%E3%82%B9%E3%82%BF

Qオペアンプのバッファの回路

TL064もしくは074の4回路入りのオペアンプで
4個のバッファを作りたいと思っています。

下の回路でバッファとして動作するか不安で投稿させて頂きます。
バッファの部分はエフェクターにあるインプットバッファの回路なのですが、
電源周りがよく分からず、いろんな回路を参考に書いてみました。

ペイントで書いたので見難いかも知れませんが、
これでちゃんと動くのかアドバイスを頂けるとありがたいです。

よろしくお願いします。

Aベストアンサー

今晩は、回答NO.3です。

最新の配線レイアウト(https://docs.google.com/file/d/0ByAOEu6jo1QQNGpJSWpwRGZ2LVU/edit)を拝見しました。これで動作すると思いますが各チャンネルの入力(IN)と出力(OUT)が近接しすぎてるのがちょっと気になります。ハウリングのような変な帰還がかかる心配がありますので少し離したほうが良いでしょう。
 それから、忘れてましたがICの電源端子Vcc+とVcc-の間に0.1uFのセラミックコンデンサを追加しておいてください。これは回路が不安定になるのを予防するたに追加しておいたほうが良いと思います。

ところで、お使いのDIY Layout Creatorってソフトおもしろいですね。

Qオシロスコープの自作 アッテネータの回路

http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/AVROscilo2/AVROscilo2.html

http://pub.idisk-just.com/fview/6bku9rm6mDiXCtJ00psUq6qedPJwEUsyfzQV9M6vXjXKII7qFZ4qaovOoLY5-1ll__CgeEk5IVK4Hxu31s4jrf9qHKkDb3Ru.gif
この辺りを参考に、

簡易オシロスコープを自作しようと考えているのですが、
アッテネータの仕組みについて質問させて下さい。

回路図中のTC4052はアナログスイッチで、
X0~X3の端子とXcomがスイッチされる仕組みになっています。

参考:TC4052のデータシート
https://www.marutsu.co.jp/data/TC4052B.pdf

オシロの入力インピーダンスは1MΩですが、
この回路図のアッテネータだと、
TC4052のX0~X3のいずれかの端子の入力が
GND(Xcom)に接続に接続された場合、

1MΩ

10KΩ+(1K+51)or(2.4K)or(10K)
の並列の抵抗値がオシロの入力インピーダンスになってしまうので、
この回路図は間違っていると考えていいでしょうか?

そう言った訳で、アッテネータを以下の様な回路で組もうと思うのですが、
……こんな感じでいいのでしょうか?

入力信号

抵9MΩ(プローブ)

|(1/10出力)1
抵500kΩ

|(1/20出力)1/2
抵250kΩ

|(1/40出力)1/4
抵250kΩ


GND

で、1/10、1/20、1/40、出力をTC4052などのアナログスイッチへつなぐ。
本当は上の参考にした回路図の様にアナログスイッチにいれる前にショットキーバリアダイオードで保護したかったのですが、
9MΩのプローブを繋ぐのであれば、±50Vでも、±5Vになるので、大丈夫かな……と。

それよりも、アナログスイッチで信号がどのように変化するかが心配ですが……。

よろしくお願いします。

http://www.ne.jp/asahi/shared/o-family/ElecRoom/AVRMCOM/AVROscilo2/AVROscilo2.html

http://pub.idisk-just.com/fview/6bku9rm6mDiXCtJ00psUq6qedPJwEUsyfzQV9M6vXjXKII7qFZ4qaovOoLY5-1ll__CgeEk5IVK4Hxu31s4jrf9qHKkDb3Ru.gif
この辺りを参考に、

簡易オシロスコープを自作しようと考えているのですが、
アッテネータの仕組みについて質問させて下さい。

回路図中のTC4052はアナログスイッチで、
X0~X3の端子とXcomがスイッチされる仕組みになっています。

参考:TC4052のデータシート
https://www.m...続きを読む

Aベストアンサー

>電源が入っていない状態でオペアンプに入力電圧が加わった場合、どうなるのでしょうか?
AD8066のデータシートの絶対最大定格の項目に
コモンモード入力電圧. . . . . . .Vee-0.5V~Vcc+0.5V
と有ります。
電源オフではVee=Vcc=0Vなので、入力に許される電圧は-0.5V~+0.5Vです。
実際には9MΩの抵抗(+約15pFコンデンサ)で電流が制限されるのでこれだけの電圧が加わる事は無いでしょう。
ただし、プローブをつなげない場合には直接電圧が加わるので、その場合でも壊れないように考慮する必要が有ります。

オペアンプの入力には保護回路が入っているので多少の静電気などは大丈夫ですが、外部電圧が直接加わるような場合には保護回路を付けくわえる必要が有ります。
保護の範囲を広くすると性能が低下するので、どれぐらいにするのかは設計者の腕の見せ所です。

静電気への耐性については規格が有ります。
http://www.rcj.or.jp/ESDC/ESDCbulletin/ESD%20Standards%202012.pdf
http://ednjapan.com/edn/articles/1202/14/news078.html

>電源が入っていない状態でオペアンプに入力電圧が加わった場合、どうなるのでしょうか?
AD8066のデータシートの絶対最大定格の項目に
コモンモード入力電圧. . . . . . .Vee-0.5V~Vcc+0.5V
と有ります。
電源オフではVee=Vcc=0Vなので、入力に許される電圧は-0.5V~+0.5Vです。
実際には9MΩの抵抗(+約15pFコンデンサ)で電流が制限されるのでこれだけの電圧が加わる事は無いでしょう。
ただし、プローブをつなげない場合には直接電圧が加わるので、その場合でも壊れないように考慮する必要...続きを読む


人気Q&Aランキング