12Bit DAコンバーターのはなし
12Bit DAコンバーターのはなしとは
12BitのDAコンバーターのICを探していたら、秋月電子に 100円で MCP4725 という マイクロチップの ICを見つけた。
3.3Vでも 5Vでも使えて、I2C バスで制御出来るので、PICなどのPWMポートでアナログ出力をやっていて、ポートが足りない場合は便利そうだなと思い、実験してみた。
問題は、実装方法で SOT-23-6 というのはピンが 0.95mmピッチなので、普通の変換基板では合わないし、パターンを作るのも面倒なので、0.65mmピッチの変換基板に上の写真のように、4個のパターンのうち両側を1個づつそれぞれのピンに、真ん中の2個のパターンを中央のピンにまとめて半田付けして、なんとか実装しました。
VDD(Pin3)を +5Vに , Vss(Pin2) をGNDに,SCL(Pin5) ,SDA(Pin4) をCPUに、アドレス設定の A0(Pin6)をVssに繋いで、電源に 0.1uF程度のパスコンを入れ、Vout(pin1) をテスタで測りながら電源 ON 。
3.3Vでも 5Vでも使えて、I2C バスで制御出来るので、PICなどのPWMポートでアナログ出力をやっていて、ポートが足りない場合は便利そうだなと思い、実験してみた。
問題は、実装方法で SOT-23-6 というのはピンが 0.95mmピッチなので、普通の変換基板では合わないし、パターンを作るのも面倒なので、0.65mmピッチの変換基板に上の写真のように、4個のパターンのうち両側を1個づつそれぞれのピンに、真ん中の2個のパターンを中央のピンにまとめて半田付けして、なんとか実装しました。
VDD(Pin3)を +5Vに , Vss(Pin2) をGNDに,SCL(Pin5) ,SDA(Pin4) をCPUに、アドレス設定の A0(Pin6)をVssに繋いで、電源に 0.1uF程度のパスコンを入れ、Vout(pin1) をテスタで測りながら電源 ON 。
何もしないで Voutから 2.5Vがまず出てくれば成功。このICは EEPROMを持っていて、そこに書き込むと電源 ONのデフォルトの電圧をメモリさせておけます。初期値は 電源電圧半分が出ます。簡単な電圧設定ボリュームとしてもなかなか有効な ICです。
さて プログラムからはどうアクセスするのかと見てみると、デバイスアドレスは 1100xxx0B となっており、この MCP4725では A0 =0 とすると、 0xC0 となる。
DACなので、出力専用と考えれば、アドレス出力+コントロールデーターと上位4ビット+下位8ビットデーターと3バイトで出力設定が完了するので,比較的楽です。
しかしながら,メモリーに記憶する場合は、アドレス出力+コントロールデーター+上位8ビット+下位4ビットデーター と4バイトを送ることになるので、2つのルーチンが必要です。
この ICには省電力モードがあるので、デフォルトで電源ON時に省電力で 出力 0V、起動で出力開始という使い方も出来る。ただ、電源を切った瞬間を記憶しておきたい場合は,いつもメモリ書き込みモードでアクセスする必要があります、
I2C バスがすでにあるなら、DACを追加するのに簡単な ICですね。
さて プログラムからはどうアクセスするのかと見てみると、デバイスアドレスは 1100xxx0B となっており、この MCP4725では A0 =0 とすると、 0xC0 となる。
DACなので、出力専用と考えれば、アドレス出力+コントロールデーターと上位4ビット+下位8ビットデーターと3バイトで出力設定が完了するので,比較的楽です。
しかしながら,メモリーに記憶する場合は、アドレス出力+コントロールデーター+上位8ビット+下位4ビットデーター と4バイトを送ることになるので、2つのルーチンが必要です。
この ICには省電力モードがあるので、デフォルトで電源ON時に省電力で 出力 0V、起動で出力開始という使い方も出来る。ただ、電源を切った瞬間を記憶しておきたい場合は,いつもメモリ書き込みモードでアクセスする必要があります、
I2C バスがすでにあるなら、DACを追加するのに簡単な ICですね。
| 固定リンク
「DIGITAL」カテゴリの記事
- 謹賀新年 2024(2024.01.03)
- I2C信号を見る はなし(2022.09.13)
- TTL レベルのはなし ふたたび(2022.02.13)
- 2022 新年あけましておめでとうございます。(2022.01.04)
- 12Bit DAコンバーターのはなし(2016.08.12)
コメント