AN-1070: AD9833/AD9834 の設定方法

はじめに

このアプリケーション・ノートでは、AD9833/AD9834 での正弦波波形出力の設定方法について説明します。この手順には、リセット・モードへの入り方、Freq0 レジスタへのデータ設定、リセット・モードからの抜け方が含まれています。

AD9833/AD9834 の設定

AD9833/AD9834 をパワーアップするとき、デバイスをリセットする必要があります。このリセット機能は、該当する内部レジスタを0 にリセットしてアナログ出力をミッドスケールにします。AD9833 の初期化中に余計なDAC 出力が生じないようにするため、デバイスが出力を発生できるようになるまでRESET ビットに1 を設定する必要があります。RESET では位相レジスタ、周波数レジスタ、コントロール・レジスタはリセットされません。これらのレジスタは無効なデータが格納されていることがあるため、ユーザが値を設定する必要があります。その後でRESET ビットを0 に設定して、出力を開始させる必要があります。RESET ビットを0 に設定してからMCLK で8 サイクル後にDAC 出力に信号が現れます。

図1. AD9834 の機能ブロック図

図1. AD9834 の機能ブロック図

AD9833/AD9834 設定の詳細

AD9833/AD9834 の設定方法を説明するには、シンプルな例が最も適しているでしょう。詳細については、AD9833 またはAD9834 のデータ・シートを参照してください。


基本的な例


目的は、MCLK=25 MHz のAD9833 を使って400 Hz の出力周波数を発生させることです。

このために必要なコードは次式で求めます。

数式 A

したがって、この例ではFreq 0 = 400 Hz となります。

数式 B

必要とされる初期化シーケンスを表1に示します。

表 1.
Hexadecimal Binary
0x2100 0010 0001 0000 0000
0x50C7 0101 0000 1100 0111
0x4000 0100 0000 0000 0000
0xC000 1100 0000 0000 0000
0x2000 0010 0000 0000 0000

コマンド・シーケンスの説明


0x2100—コントロール・レジスタ

  • DB13 を1 に設定します。これにより2 回の連続した書込みによりワード全体が周波数レジスタへロードできます。最初の書込みは下位14 ビットになります。2 回目の書込みは上位14 ビットになります。
  • RESET ビット(DB8)を1 に設定します。これにより内部レジスタが0 にリセットされて、アナログ出力がミッドスケールになります。

0x50C7—周波数レジスタ0 LSB

  • DB15 とDB14 をそれぞれ0 と1 に設定します。これは周波数レジスタ0 のアドレスです。
  • 残りの 14 ビットは、データの下位14 ビットです(0x10C7 =01 0000 1100 0111)。

0x4000—周波数レジスタ0 MSB

  • DB15 とDB14 をそれぞれ0 と1 に設定します。これは周波数レジスタ0 のアドレスです。
  • 残りの 14 ビットはデータの上位14 ビットで、この場合は全ビット0 です。

0xC000—位相レジスタ0

  • DB15、DB14、DB13 をそれぞれ110 に設定し、DB12 はdon’t care (X)です。これは位相レジスタ0 のアドレスです。
  • 残りの 12 ビットはデータ・ビットで、この場合は全ビット0 です。

0x2000—リセットの終了

  • RESET を0 に設定してからMCLK で7 サイクル後にDAC出力に信号が現れます。

著者

Liam Riordan

Liam Riordan

Liam Riordanは2002年にユニバーシティ・カレッジ・コークを卒業し、電気工学およびマイクロ電子工学の学士号を取得しました。ヘルスケアおよび産業用センサー市場を中心に、これまでアナログ・デバイセズのミックスド・シグナルおよび組込みシステム部門で様々な業務に従事しました。現在はMeasureWareチームのシステム・アプリケーション・マネージャとしてアイルランドのリメリックに拠点を置いています。