8CH A/Dのはなし
8CH A/Dのはなしとは
最近使っている A/Dコンバーターは、 4CHではAD7991 です。
8pin SOT-23の小型のパッケージで、12Bitの分解能があり、I2C で読み取ることができます。
設定レジスタも1コですが、特に設定しなくても、自動で各チャンネルを切り替えてくれるので、簡単でした。
読み出しは16Bit読み出したうちの、上位 4ビット分に(正確には4CHでは Bit 12,Bit 13 )に変換したチャンネル値があるので、それに従って変換結果バッファへ転送すれば自動的に読み取ることが出来ます。
次にもうちょっと多くのチャンネルと考えると、8CH の AD7997になります。 サイズは0.65mm ピッチ足の 20Pin になりますが、結構小型になっているので8CH にしては小型に出来ます。しかしながら、外付けの基準電圧が必要なのですが、最近は小さな基準電圧ICがあるので、ADR381などを使えば小型に出来ます。
このICも I2Cでアクセスでき、10Bitの分解能を持っています。しかも読み出しデーターは 16Bitで上記 AD7991 と全く同じに読め、CH値が 3Bitに拡張されただけなので、そのまま、アドレスを変えれば読めるんじゃないかと、安易に使って見ました。
しかしながら、この ICにはレジスタが 16コもあって、何も設定しないと、何も読めないという、残念な結果でした。
そこで、何かうまい手はないかとデーターシートを眺めていると、あるじゃないですか....
CYCLE TIMER REGISTER というレジスタに値を書けば自動で切り替えてくれそうです。しかしそのアドレスに書き込むにはアドレスポインターレジスタにアドレス値を書いて、その後値をセットして、さらにまた元のアドレスに戻すという結構面倒な設定が必要みたいです。
結局それでうまくいったのですが、そんな感じで動いてから ...1年もするとすっかり 8CH A/Dの苦労は忘れて、 4CHと同じようにそのままで動くんじゃないかと勘違いして、今回苦労したという話。
初期化ルーチンで 4CHに直した機種で、この初期化コードを省いちゃったので、今回 8CHにしたら動かない...以前のコードで動かすと動くのに...どうして今回は動かないのか?
余計なルーチンと思っても削除するのでなく、コメントアウトして残しておけばよかったな〜
| 固定リンク
「アナログ」カテゴリの記事
- MIDAS Venice Mixerの修理(電源編)(2024.12.05)
- MIDAS Venice Mixerの修理(2024.12.04)
- 真空管のはなし(2024.05.21)
- パワーアンプ RAMSA WP-1200A の修理(2023.08.06)
- BOSE Power AMP 1701 の修理の話(2023.07.15)
コメント