Parti: LTC2631A I2C Digital to Analog Converter

author
1 minute, 4 seconds Read

La tecnologia lineare LTC2631A-LZ8 è un convertitore analogico a 8 bit digitale a analogico (DAC) con un’interfaccia I2C. Questo DAC può emettere 255 diverse tensioni, distanziate uniformemente tra 0 e 2,5 volte. In precedenza abbiamo dimostrato LTC2640 con un’interfaccia SPI a tre fili, ma questa versione è controllata con solo due fili di segnale.

Pirata dell’autobus
LTC2631A (PIN #)

DATI
SDA (3)

OROLOGIO
SCL (2)

Adc.
VOUT (7)


Ca0 / indirizzo 0 (1)

+ 5volts.
Ca1 / indirizzo 1 (8)

+ 5volts.
VDD (5)

Gnd.
GND (4)


Rif (6)

Abbiamo utilizzato lo strumento di interfaccia seriale universale del pirata del bus per lavorare con il DAC, ma gli stessi presidi di base si applicano a qualsiasi implementazione personalizzata. Le connessioni tra il pirata del bus e la LTC2631A sono descritte nella tabella. Abbiamo alimentato il chip dalla fornitura di 5 Volt del bus Pirate, ma funzionerebbe anche a 3,3 volte.

L’autobus I2C richiede resistori pull-up su entrambi i fili degli autobus. 5volts viene fornito ai resistori di pull-up collegando un filo dalla fornitura di 5volt al terminale di ingresso del resistore pull-up. Chiudere i ponticelli sull’orologio e le linee di dati per alimentare la tensione esterna ai resistori pull-up.

Ora, installa il pirata del bus per la modalità I2C e attiva l’alimentatore di bordo.

HIZ> M <-Select mode 1. Hiz. 2. 1 filo 3. UART. 4. I2C. ... 9. PC alla tastiera Modalità> 4 <-I2C Modalità Set di modalità 900 202 I2C Pronto I2C> P <-Setup Alimentazione W / W Appagni 3.3 fornitura di fornitura? 1. No. 2. Sì Modalità> 1 <-DON non usare 3.3Volts W / W Appagni 5 Volt Forniture? 1. No. 2. Sì Modalità> 2 <-Usa 5 Volt Forniture Alimentazione 9xx configurata, utilizzare w / w per alternare Monitor di tensione 9xx: 5 V: 0.0 | 3.3V: 0.0 | VPULLUP: 0.0 | I2C> W <-Capital 'w' attiva la fornitura Alimentazione 9xx 5volt su I2C> V <-Check i livelli di tensione Monitor di tensione 9xx: 5 V: 4.9 | 3.3V: 0.0 | VPULLUP: 5.0 | <-Supply On I2c >.

Dopo aver configurato il pirata del bus, il monitor di tensione mostra che l’alimentazione a 5 vie è attiva (4.9volt). Inoltre, il monitor mostra che 5volts è collegato al terminale di alimentazione resistorio pull-up (VPullup).

I2C> (0) <- Elenco Macro disponibili 0.Macro Menu. Ricerca indirizzo da 1,7 bit I2C> (1) <- Cerca dispositivi I2C XXX alla ricerca di uno spazio di indirizzi I2C a 7 bit. Dispositivi trovati a: 0x40 0xe6 <-Got Rispondi da questi indirizzi I2c >.

Lo stato del PIN 1 e 8 identifica l’indirizzo LTC2631A I2C, secondo la tabella a pagina 22 della scheda tecnica. Invece di cercare l’indirizzo nella scheda tecnica, abbiamo utilizzato la ricerca di indirizzi I2C del bus Pirate Macro per eseguire la scansione dell’intero intervallo di indirizzi I2C. Il DAC risponde all’indirizzo impostato (0x40) e un indirizzo globale (0xE6). L’indirizzo globale è utile per controllare più DACS contemporaneamente allo stesso tempo dello stesso bus I2C.

I2C> D [0x40 0b00110000 0xFF 0] D
Sonda di tensione 9xx: 0,0 volte <-output è 0volts Condizione di avvio 210 I2C <-Staction Transazione 220 I2C Scrivi: 0x40 GET ACK: Sì <-DAC Indirizzo 220 I2C Scrivi: 0x30 GET ACK: Sì <-Set DAC Output Command Command 220 I2C Scrivi: 0xFF ottenuto ACK: Sì <-Set DAC a pieno (255) 220 I2C Scrivi: 0x00 GOT ACK: sì <-don't Care, Extra Byte 240 I2C STOP CONDIZIONE <-END TRANSAZIONE Sonda di tensione 9xx: 2.5volts <-Output a pieno I2c >.

Ora siamo pronti a interfacciare il DAC. Una misurazione iniziale di tensione (D) mostra che il DAC sta attualmente emettendo 0Volt.

Una condizione di avvio I2C ([) notifica i dispositivi I2C collegati ad ascoltare il loro indirizzo. Il primo byte è l’indirizzo (0x40) che identifica il dispositivo che vogliamo accedere. Il prossimo byte è il comando LTC2631A per aggiornare l’uscita DAC (0x30 o 0B00110000), seguita dall’impostazione di uscita (0xFF o 255, 100% di uscita). Il byte finale non ha importanza per l’8bit DAC che stiamo utilizzando, ma trasporta ulteriori bit di dati per versioni di risoluzione più elevate del DAC. La transazione è completata inviando la condizione di arresto I2C (]).

Dopo aver aggiornato il DAC al 100%, una misurazione della tensione (D) mostra che l’output è di 2,5 volte.

I2C>d [0x40 0x30 0 0] d
9xx VOLTAGE PROBE: 2.5VOLTS<–DAC at 100% 210 I2C start CONDITION 220 I2C WRITE: 0x40 got ACK: YES 220 I2C WRITE: 0x30 got ACK: YES 220 I2C WRITE: 0x00 got ACK: YES<–set DAC to 0 220 I2C WRITE: 0x00 got ACK: YES 240 I2C stop CONDITION 9xx VOLTAGE PROBE: 0.0VOLTS<–DAC at 0% I2C>

A similar command sequence sets the DAC output back to 0. A voltage measurement confirms that the DAC output is now 0volts.

For a complete list of DAC features and command codes, see the extensive discussion of the LTC2640 SPI DAC at the end of the Bus Pirate version 1 how-to.

Are there any chips you’d like us to interface in future parts posts?

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *