部品:LTC2631A I2Cデジタル – アナログコンバータ
リニアテクノロジーのLTC2631A-LZ8は、I2Cインターフェースを備えた8ビットデジタルからアナログ変換器(DAC)です。このDACは、0から2.5ボルトの間で均等に間隔をあけられた255の異なる電圧を出力することができます。我々は以前に3線式SPIインターフェースを有するLTC2640を示したが、このバージョンは2つの信号線だけで制御される。
バス海賊
LTC2631A(PIN#)
データ
SDA(3)
時計
SCL(2)
ad
VOUT(7)
–
CA0 /アドレス0(1)
+ 5ボルト
CA1 /アドレス1(8)
+ 5ボルト
VDD(5)
g
GND(4)
–
REF(6)
私たちはバス海賊ユニバーサルシリアルインターフェイスツールを使ってDACと連携しましたが、同じ基本原盤がカスタマイズされた実装に適用されます。バス海賊とLTC2631Aとの間の接続は表に記載されている。私たちはバス海賊の5ボルト供給からチップを動かしましたが、3.3ボルトでもうまくいくでしょう。
I2Cバスには両方のバスワイヤにプルアップ抵抗が必要です。 5Volt電源からプルアップ抵抗入力端子にワイヤを接続することで、プルアップ抵抗に5Voltsが供給されます。クロックとデータラインのジャンパを閉じて、外部電圧をプルアップ抵抗に供給します。
さて、I2Cモードのバス海賊を設定し、オンボード電源を有効にします。
HIZ> M <選択モード 1.ホイズ 2ワイヤー 3. UART. 4. I2C ... キーボードで9. PC モード> 4 <-I2Cモード 900モードセット 202 I2C準備完了 i2c> p <-setup電源装置 w / wは3.3ボルトの供給を切り替えますか? いいえ 2. モード> 1 <-DON 3.3ボルトを使用していません w / wは5ボルト電源を切り替えますか? いいえ 2. モード> 2 <-USE 5ボルト電源 9xxの電源が設定されている、w / wをトグルに使用します 9xx電圧モニタ:5V:0.0 | 3.3V:0.0 | vpullup:0.0 | i2c> w <キャピタル 'w'は供給を活性化させる 9xx 5ボルトの供給 I2C> V <電圧レベルを確認します 9xx電圧モニタ:5V:4.9 | 3.3V:0.0 | VPullup:5.0 | <-Supply ON i2c>
バス海賊を設定した後、電圧モニタは5Volt電源がアクティブであることを示しています(4.9ボルト)。さらに、モニタは、5Voltsがプルアップ抵抗供給端子(vPullup)に接続されていることを示しています。
I2C>(0)< - 利用可能なマクロを一覧表示する 0.MACROメニュー 1.7ビットアドレス検索 i2c>(1)< - I2Cデバイスを検索する 7ビットI2Cアドレス・スペースを検索します。 以下のデバイスが見つかりました 0x40 0xe6 <これらのアドレスからの-GOT応答 i2c>
PIN 1と8の状態は、データシートの22ページの表に従ってLTC2631A I2Cアドレスを識別します。データシートのアドレスを検索する代わりに、バス海賊のI2Cアドレス検索マクロを使用して、I2Cアドレス範囲全体をスキャンしました。 DACは設定アドレス(0x40)とグローバルアドレス(0xE6)に応答します。グローバルアドレスは、同じI2Cバスを介して同時に複数のDACを制御するのに役立ちます。
I2C> D [0x40 0B00110000 0xFF 0] D
9xx電圧プローブ:0.0VOLTS <-OUTPUTは0ボルトです
210 i2c開始条件<-startトランザクション
220 I2C WRITE:0x40 ack:はい<-DACアドレス
220 I2C WRITE:0x30 ack:yes <-set dac出力コマンド
220 I2C WRITE:0xFF GOT ACK:はい<-SET DAC(255)
220 I2C WRITE:0x00 GOT ACK:はい<-don't care、余分なバイト
240 I2C STOP条件<-endトランザクション
9xx電圧プローブ:2.5ボルト<-OUTPUT
i2c>
今度はDACをインターフェースする準備が整いました。初期電圧測定(d)は、DACが現在0ボルトを出力していることを示しています。
I2C開始条件([)は、接続されたI2Cデバイスにアドレスを聞くように通知します。最初のバイトは、アクセスしたいデバイスを識別するアドレス(0x40)です。次のバイトは、DAC出力(0x30または0B00110000)を更新し、その後に出力設定(0xFFまたは255,100%出力)を更新するためのLTC2631Aコマンドです。最後のバイトは私たちが使用している8bit DACには関係ありませんが、DACの高解像度バージョンのための追加のデータビットを搭載しています。トランザクションは、I2C STOP条件(])を送信することによって完了します。
DACを100%に更新した後、電圧測定(d)は出力が2.5ボルトであることを示しています。
I2C> D [0x40 0x30 0 0] D
9xX電圧プローブ:2.5VOLTS <-DAC 100%
210 I2C開始条件
220 I2C WRITE:0x40 ack:はい
220 I2C WRITE:0x30 ACK:はい
220 I2Cライト:0x00 ack:はい<-set dacから0
220 I2C WRITE:0x00 ack:はい
240 I2C停止条件
9xx電圧プローブ:0.0VOLTS <-DAC 0%
i2c>
同様のコマンドシーケンスはDAC出力を0に設定します。電圧測定はDAC出力が0ボルトであることを確認します。
DAC機能とコマンドコードの完全なリストについては、バス海賊版1の末尾のLTC2640 SPI DACの広範な説明を参照してください。
将来の部品投稿にインターフェースすることをお望みのチップはありますか?