Pièces: LTC2631A I2C Digital to analoguant Convertisseur

April 22, 2023 0 By rzrqh

La technologie linéaire LTC2631A-LZ8 est un convertisseur numérique 8 bits à analogique (DAC) avec une interface I2C. Ce DAC peut produire 255 tensions différentes, espacées uniformément entre 0 et 2,5 volts. Nous avons précédemment démontré le LTC2640 avec une interface SPI à trois fils, mais cette version est contrôlée avec seulement deux fils de signal.

Pirate de bus
LTC2631A (PIN #)

LES DONNÉES
SDA (3)

L’HORLOGE
SCL (2)

Adc
Vout (7)


CA0 / Adresse 0 (1)

+ 5Volts
CA1 / Adresse 1 (8)

+ 5Volts
VDD (5)

Gnd
GND (4)


Ref (6)

Nous avons utilisé l’outil d’interface série universel du bus Pirate pour travailler avec le CAD, mais les mêmes principes de base s’appliquent à toute mise en œuvre personnalisée. Les connexions entre le pirate de bus et le LTC2631A sont décrites dans la table. Nous avons alimenté la puce de l’offre de 5 Volts du pirate du bus, mais cela fonctionnerait également à 3,3 volts.

Le bus I2C nécessite des résistances de pull-up sur les deux fils de bus. 5 Volts est fourni aux résistances de pull-up en connectant un fil de l’alimentation 5 Volt à la borne d’entrée de résistance de pull-up. Fermez les cavaliers sur les lignes d’horloge et de données pour alimenter la tension externe aux résistances de pull-up.

Maintenant, configurez le pirate de bus pour le mode I2C et activez l’alimentation à bord.

Hiz> M <- Sélectionner le mode 1. Hiz 2. 1 fil 3. UART 4. i2c ... 9. PC au clavier MODE> 4 <-I2C MODE Ensemble de mode 900 202 I2C prêt I2C> P <-SEUP Alimentation W / W Talgles 3.3Volts d'approvisionnement? 1. Non 2. Oui Mode> 1 <-Don n'utilise pas 3.3Volts W / W Talgle 5 Volt 1. Non 2. Oui Mode> 2 <-User 5 Volt Fourniture 9xx configurée, utilisez w / w pour basculer Moniteur de tension 9xx: 5V: 0.0 | 3.3V: 0.0 | VPullup: 0.0 | I2c> w <-capital 'w' active l'offre 9xx 5 Volt d'approvisionnement sur I2c> v <-check les niveaux de tension MONITEUR DE TENSION 9XX: 5V: 4.9 | 3.3V: 0.0 | VPullup: 5.0 | <-Supply sur I2c>

Après avoir configuré le pirate de bus, le moniteur de tension montre que l’alimentation 5 Volt est active (4.9volts). De plus, le moniteur montre que 5 volts est connecté à la borne d’alimentation de résistance de pull-up (VPullup).

I2c> (0) <- liste des macros disponibles 0.macro Menu Recherche d'adresse 1.7BIT I2C> (1) <- recherche des appareils i2c XXX recherche sur l'espace d'adressage 7 bits I2C. Dispositifs trouvés à: 0x40 0XE6 <-GOT Réponse de ces adresses I2c>

L’état des broches 1 et 8 identifient l’adresse I2C LTC2631A, selon le tableau de la page 22 de la fiche technique. Au lieu de rechercher l’adresse dans la fiche technique, nous avons utilisé la recherche d’adresse I2C de l’adresse I2C de Bus Pirate pour numériser l’ensemble de la plage d’adresses I2C. Le DAC répond à l’adresse définie (0x40) et à une adresse globale (0xE6). L’adresse globale est utile pour contrôler plusieurs DAC à la fois sur le même bus I2C.

I2c> d [0x40 0b00110000 0xFF 0] D
Probe de tension 9xx: 0.0volts <-Output est 0Volts 210 I2C Start Condition <-Start transaction 220 I2C Écrire: 0x40 Got ACK: Oui <-DAC Adresse 220 I2C Écrire: 0x30 Got ACK: Oui <-Set DAC Commande de sortie 220 I2C Écrire: 0xFF a reçu ACK: Oui <-Set DAC à plein (255) 220 I2C Écrire: 0x00 a obtenu ACK: Oui <-Don ne pas vous soucier, octet supplémentaire Condition d'arrêt 240 I2C <-end Transaction Probe de tension 9xx: 2.5volts <-Output à plein I2c>

Maintenant, nous sommes prêts à interfacer le CAD. Une mesure de tension initiale (D) montre que le DAC émet actuellement de 0 Volts.

Une condition de démarrage I2C ([) notifie les périphériques I2C connectés pour écouter leur adresse. Le premier octet est l’adresse (0x40) qui identifie l’appareil que nous voulons accéder. L’octet suivant est la commande LTC2631A pour mettre à jour la sortie DAC (0x30 ou 0B00110000), suivie du réglage de sortie (0xFF ou 255, 100% de sortie). L’octet final n’a pas d’importance pour le DAC 8 bits que nous utilisons, mais transporte des bits de données supplémentaires pour des versions de résolution supérieure du CAD. La transaction est complétée en envoyant la condition d’arrêt I2C (]).

Après avoir mis à jour le CAD à 100%, une mesure de tension (D) montre que la sortie est de 2,5 volts.

I2c> d [0x40 0x30 0 0] D
Probe de tension 9xx: 2.5volts <-DAC à 100% Condition de départ 210 I2C 220 I2C Écrire: 0x40 Got ACK: Oui 220 I2C Écrire: 0x30 Got ACK: Oui 220 I2C Écrire: 0x00 Got ACK: Oui <-Se DAC à 0 220 I2C Écrire: 0x00 a été ACK: oui Condition d'arrêt 240 I2C Probe de tension 9xx: 0.0volts <-DAC à 0% I2c>

Une séquence de commandes similaire définit la sortie DAC à 0. Une mesure de la tension confirme que la sortie du CAD est maintenant 0Volts.

Pour une liste complète des fonctionnalités et des codes de commandes du DAC, consultez la vaste discussion sur le CAD SPI LTC2640 à la fin du bus Pirate Version 1 Comment.

Y a-t-il des puces que vous aimeriez nous interfacer dans les prochains postes de pièces?