「アナデバ社(ADI社)のWeb記事『StudentZone』を初回からすべて読む」の2022年3月号の2回目。DAコンバータの実習。前回はR2RラダーをLTspiceでシミュレーションして「お茶を濁し」ました。今回は現物AD5626 12 bit nano DAC(R) コンバータであります。SPI接続のDACね。
※「お手軽ツールで今更学ぶアナログ」投稿順 indexはこちら
※アナデバ様の2022年3月号の記事へのリンクは以下です。
AD5626
AD5626は、5V単電源で動作可能な12ビットのDACです。SPIで接続可能です。SPIなのでレート的にはそこそこ高速、データローディングレートは20MHzであります。5V単電源時フルスケールは4.095Vであるので、1bit=1mVという分かりやすい出力です。詳細は以下の製品ページに
実験の内容
このデバイス自体は、電源とGND、電圧出力端子を除けば残り5本はすべて制御用のデジタル端子です。SPIインタフェース部分が以下の3端子です(以下アクティブ・ロウの端子に#つけてます。)
CS#、SCLK、SDIN
SPIインタフェースはDA出力とは無関係なタイミングで12ビットのシリアル入力を担当しており、以下の端子のたちあがりエッジで入力されたデータがDA変換されて出力端子に現れることになっています。
LDAC#
もう一端子、強制的にゼロV出力にするCLR#端子もあるのですが、今回実験では使用しておりませぬ。
結局デバイスの入力はすべて「デジタル」なので、「お手軽ツール」でやる仕事はデジタル端子の制御と、制御した結果現れるアナログ電圧の観察です。
正直言うとテジタル端子の制御はマイコンでやるのがお楽なのですが、こちらのシリーズはあくまで「お手軽ツール」を標榜しているので Digilent社Analog Discovery2の機能を駆使してデジタル信号を作りだして実験します。元のアナデバ様の記事ではアナデバ製ADALM2000で制御です。ハード的には兄弟的なスペックですが、制御ソフトはDigilent製とアナデバ製で大分違うみたいです。まあ、でもやればできる程度の差みたいっす。とりあえず、ブレッドボード上に今回実験の回路を配置したところが以下に。
ここで一言申し上げたいのは、アナデバ様の記事の実体配線図が違っておるのではないか、という点です。今回も使わせていただいているのはアナデバ製ADALP2000学習用部品キット所蔵の AD5626BOB(ブレーク・アウト・ボード)です。手元のADALP2000所蔵のBOBはすべて
-
- 本来のデバイスを90度ローテイトしたうえで
- 元のデバイスとピン配置が鏡像の関係
になるようになっています。しかしアナデバ様の記事の実体回路図は、元のデバイスのピン配です。そのまま真似すると動かないと思います。知らんけど。
お手軽ツールに接続したところが以下に。
デジタル信号の制御に手こずる
Analog Dicoveryのデジタルパターンジェネレータは「フレキシブル」なので所望のパターンをいかようにもできるのですが、ちまちまと設定していかねばならないので、かなりメンドイです。マイコンでプログラム書く方がよっぽど楽。設定している様子が以下に。これは値0x555をSPIで送り込むときのパターン。
以下は、ロジアナ機能でデジタル端子を観察しているところ。0x555が送り込まれているみたいです。
0x555=1365なので、4.096V x (1365/4096)=1.365Vなので、そこそこあっていそう。
12ビットオール1の0xFFF送り込んだときがこちら。気持ち低いのね。
アナデバ様の記事で中央付近を3点表にしていたので、最初は0x800
つづいて0x800+1で0x801
今度は0x800-1で0x7FF
ちょっとね、mVオーダーで誤差があるのは、デバイスのせいなのか、お手軽ツールのせいなのか、はたまた両方なのか。知らんけど。
まあ、動いてはいるみたいです。