« 18bit A/D変換装置の精度を落としていた原因が判明 | トップページ | ZYNQのADCボードの実装があがりました »

2014.08.11

A/D変換器のテストアプリを開発

今までA/D変換器の動作テストにはExcelで作ったVBAマクロを使ってきましたが、

Adc_vba

やはり実用的なことを考えると使いにくいので、Borland C++ Builderで簡単なアプリを作りました。

Ad_analyze_1

動作も速いし、安定しているし、いいことばかりです。

特電のA/D変換ボードには16bit 1MHzのDACも2ch搭載しているので、そのDACから疑似乱数やsin波、lamp波を出す回路をFPGAに作りこんでいます。そのコントロールもこのアプリでできるようにしました。

このアプリでは、ヒストグラムを取ることもできます。

下の図は、疑似乱数をsin波を入れてみて、そのヒストグラムをとったものです。

Ad_analyze_2

こんなのがリアルタイムにワキワキ動きます。

標準電圧発生器で定電圧を入れると、理想的にはガウス関数型のヒストグラムにはるはずなのですが、実際にはわずかに凹んだところが出てきます。

この凹みは、DNLが足りないコードの部分を示しています。

Ad_analyze_3

つまり、A/D変換器の階段がその値だけ狭いため、ヒストグラムが小さくなるという出方をするわけです。

上の図でいうと、本来の値から10%くらい減っている(そして左のところが10%くらい増えている)ので、±0.1LSBくらいのDNLがあることが速算できます。

使用しているAD変換ICでは、個体差もありますが、おおむね4つごとにDNLの大小が繰り返される傾向があります。

しかも、このヒストグラムの中心は、長い時間で見ると、0.1mVくらい揺れているのです。信号源に使っている標準電圧発生器がぴったりと安定させることができないためなのですが、つまりこれが1/f ゆらぎってやつなのでしょう。

A/D変換を目でみるのは、とても面白いです。仕事を忘れてついつい遊んでしまいます。

あと、このアプリにFFTの機能が実装できれば完璧です。ただ、サクッと使えるFFTのライブラリでいいのが見つからないので、自作するかどうか迷っています。

|

« 18bit A/D変換装置の精度を落としていた原因が判明 | トップページ | ZYNQのADCボードの実装があがりました »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 18bit A/D変換装置の精度を落としていた原因が判明 | トップページ | ZYNQのADCボードの実装があがりました »