ADコンバータMAX11198を動かす
非常に苦労しましたが、真贋判定装置のADCを動かすことができました。
当初作った回路にいろいろ問題があったので、こんな汚い回路になってしまいましたが、精いっぱい動いています。
使ったADCはMAX11198という16bit 2Msps 2chのADCなのですが、まず、データシートが重くてChromeで読んでいると真ん中あたりのページでブラウザが不安定になったり落ちたりします。Acrobat Readerでも固まります。Edgeで開くと辛うじて読めます。なぜなんでしょうね。
というわけで、データシートはほとんど読んでいません。内部レジスタもなさそうだし、適当に動かしてみましょう。
MAX11198というのはこんな感じのICです。
このREFINOUTというところからリファレンス電圧が出てくるみたいなので、抵抗で分圧してOPアンプの非反転増幅にいれてやりましょう・・・とやってみたら大失敗!
データシートに書いていなさそうなのですが、REFINOUTから取り出せる電流はマイクロA以下のようです。1MΩの抵抗で分圧しても電圧が下がります。1kΩとかで分圧した日には何も出てきません。
全然REFINOUTじゃないですね。
REFINOUTは外部からリファレンス電圧を入れてやるべきで、取り出してはいけなかったのです。
それから、次の失敗は差動入力であるということ。差動入力ADCというのは入力の+と-の電圧の差をAD変換するのですが、データシートに乗っていたこの回路をそのまま作ってしまいました。
何が問題かというと、OPアンプのGND付近の特性に影響されてしまうことです。
OPアンプってGND付近やVCC-数Vは非常に苦手なんです。レール・ツー・レールと謳っているOPアンプも0Vが出せるわけではなく、最低電圧が30mVであってもレール・ツー・レールを謳っています。それに、電源電圧付近では歪が多くなったりします。
メーカーの言っているレール・ツー・レールとか、「真のレール・ツー・レール」なんて嘘ですよ。本当に0Vを出したいなら正負両電源にしなければいけなかったのです。だいいち、VREF/2で折り返して反転増幅させることが気持ち悪い。+側と-側で時間差が出来てしまうではないか。
やはり、ADCのフロントエンドを作るなら、完全差動アンプに限ると思った次第です。
やっとこさアナログ回路が動くようになって、AD変換ができて、正弦波を測ってみました。
AD変換した後のデータをFPGA内でパラレル化してFPGA内蔵ロジックアナライザで見てみました。
イイ感じの正弦波になっていますね。
次は矩形波。
立ち上がりと立下りの部分が歪んでいますが・・・
オシロで見ても歪んでいるので、素直にAD変換できているのでしょう。
のこぎり波もちゃんとAD変換できています。
とりあえずADコンバータのMAX11198を動かすことはできるようになりましたが、測れる最低電圧は35mVくらいで、使っているレール・ツー・レールのOPアンプが出せる最低電圧とほぼ同じです。
このADCの本来の性能を発揮するには
- THS4521とかの完全差動アンプと両電源でドライブする
- ADR381とかの外部VREFを使ってREFINOUTをドライブする
とするべきなのでしょう。
| 固定リンク
コメント