2510_RegulationChauffage
Chargement...
Recherche...
Aucune correspondance
Référence de la classe app.adc_ads124s08.Ads124s08

Driver pour l'ADC ADS124S08 avec interface SPI. Plus de détails...

Graphe de collaboration de app.adc_ads124s08.Ads124s08:

Fonctions membres publiques

 __init__ (self)
 Constructeur de la classe Ads124s08.
 read_id (self)
 Lit le registre d'identification de l'ADC.
 close (self)
 Ferme les interfaces SPI et GPIO proprement.
 wait_drdy_falling_edge (self, timeout_s)
 Attend un front descendant sur DRDY (HIGH -> LOW) avec timeout.
 set_single_shot_lowlatency (self, dr_nibble)
 Configure le mode single-shot low-latency de l'ADC.
 configure_channel (self, channel_index, pga_gain, idac_uA)
 Configure un canal ADC avec ses paramètres de mesure.
 start (self)
 Démarre une conversion ADC.
 stop (self)
 Arrête une conversion ADC en cours.
 read_code24 (self)
 Lit un code de données 24 bits depuis l'ADC.
 measure_resistance (self, rref_ohm, pga_gain, timeout_s)
 Mesure la résistance d'une sonde via l'ADC.
 measure_temperature (self, sensor_name, rref_ohm, pga_gain, timeout_s)
 Mesure la température d'un capteur via l'ADC.
 read_gain (self)
 Lit le registre de gain PGA pour diagnostic.
 read_ref (self)
 Lit le registre de configuration de la référence.
 read_inpmux (self)
 Lit le registre de configuration du multiplexeur d'entrée.

Attributs publics

 spi = spidev.SpiDev()
 gpio_drdy = GPIO(GPIO_CHIP_PATH, ADC_DRDY, "in")

Fonctions membres protégées

 _rreg (self, addr, nbytes)
 Lit un ou plusieurs registres de l'ADC via SPI.
 _wreg (self, addr, data_bytes)
 Écrit dans un ou plusieurs registres de l'ADC via SPI.
 _sclk_nudge (self)
 Envoie un coup de pouce sur SCLK pour synchroniser DRDY.
 _ensure_drdy_high (self, timeout_ms)
 Assure que le signal DRDY est à l'état HIGH.

Description détaillée

Driver pour l'ADC ADS124S08 avec interface SPI.

Cette classe encapsule toutes les fonctionnalités nécessaires pour communiquer avec l'ADC ADS124S08 via SPI en mode 1.0. Supporte la configuration automatique, la mesure de résistance et la conversion en température.

Note
L'ADC doit être connecté via SPI1 et le signal DRDY sur GPIO.
Voir également
configure_channel, measure_resistance, measure_temperature

Documentation des constructeurs et destructeur

◆ __init__()

app.adc_ads124s08.Ads124s08.__init__ ( self)

Constructeur de la classe Ads124s08.

Initialise la communication SPI, configure le GPIO DRDY, effectue un reset de l'ADC et vérifie la communication en lisant le registre d'identification.

Exceptions
Peutlever des exceptions SPI ou GPIO en cas d'échec.
Postcondition
L'ADC est prêt pour la configuration et les mesures.

Documentation des fonctions membres

◆ _ensure_drdy_high()

app.adc_ads124s08.Ads124s08._ensure_drdy_high ( self,
timeout_ms )
protected

Assure que le signal DRDY est à l'état HIGH.

Attend que DRDY passe à HIGH avec possibilité de coup de pouce sur SCLK si nécessaire. Timeout configurable.

Paramètres
timeout_msTimeout en millisecondes pour l'attente.
Renvoie
True si DRDY est HIGH, False en cas de timeout.
Note
Méthode critique pour la synchronisation des conversions.
Voir également
wait_drdy_falling_edge
Voici le graphe d'appel pour cette fonction :

◆ _rreg()

app.adc_ads124s08.Ads124s08._rreg ( self,
addr,
nbytes )
protected

Lit un ou plusieurs registres de l'ADC via SPI.

Utilise la commande RREG de l'ADS124S08 pour lire des registres consécutifs starting à l'adresse donnée.

Paramètres
addrAdresse du premier registre à lire (0x00-0x1F).
nbytesNombre d'octets à lire.
Renvoie
Liste des valeurs lues depuis les registres.
Note
Méthode privée pour les opérations internes du driver.
Voir également
_wreg
Voici le graphe des appelants de cette fonction :

◆ _sclk_nudge()

app.adc_ads124s08.Ads124s08._sclk_nudge ( self)
protected

Envoie un coup de pouce sur SCLK pour synchroniser DRDY.

Effectue une lecture factice du registre STATUS pour générer des transitions sur SCLK et forcer DRDY à l'état HIGH.

Renvoie
Rien.
Note
Utilisé quand DRDY reste bloqué à LOW de manière inattendue.
Voir également
_ensure_drdy_high
Voici le graphe des appelants de cette fonction :

◆ _wreg()

app.adc_ads124s08.Ads124s08._wreg ( self,
addr,
data_bytes )
protected

Écrit dans un ou plusieurs registres de l'ADC via SPI.

Utilise la commande WREG de l'ADS124S08 pour écrire des données dans des registres consécutifs.

Paramètres
addrAdresse du premier registre à écrire (0x00-0x1F).
data_bytesListe des octets à écrire dans les registres.
Renvoie
Rien.
Note
Méthode privée pour les opérations internes du driver.
Voir également
_rreg
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ close()

app.adc_ads124s08.Ads124s08.close ( self)

Ferme les interfaces SPI et GPIO proprement.

Libère les ressources système utilisées par le driver. Méthode à appeler avant la destruction de l'objet.

Renvoie
Rien.
Note
Ignore les erreurs de fermeture pour éviter les exceptions.
Voir également
init
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ configure_channel()

app.adc_ads124s08.Ads124s08.configure_channel ( self,
channel_index,
pga_gain,
idac_uA )

Configure un canal ADC avec ses paramètres de mesure.

Configure complètement un canal ADC avec le gain PGA, le courant IDAC et le routage des entrées analogiques. Effectue une configuration séquentielle de tous les registres.

Paramètres
channel_indexIndex du canal physique (1-4).
pga_gainGain de l'amplificateur programmable (1-128).
idac_uACourant IDAC en microampères (10-2000).
Renvoie
Rien.
Exceptions
ValueErrorsi le canal ou les paramètres sont invalides.
Voir également
encode_gain, encode_idac_uA
Voici le graphe d'appel pour cette fonction :

◆ measure_resistance()

app.adc_ads124s08.Ads124s08.measure_resistance ( self,
rref_ohm,
pga_gain,
timeout_s )

Mesure la résistance d'une sonde via l'ADC.

Effectue une mesure complète: démarrage de conversion, attente DRDY, lecture du code et calcul de la résistance selon la formule ratiométrique.

Paramètres
rref_ohmRésistance de référence en ohms.
pga_gainGain PGA utilisé pour la mesure.
timeout_sTimeout en secondes pour la conversion.
Renvoie
Résistance mesurée en ohms ou None en cas d'erreur.
Note
Utilise la formule: R = |code|/FS * (Rref / gain).
Voir également
measure_temperature, configure_channel
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ measure_temperature()

app.adc_ads124s08.Ads124s08.measure_temperature ( self,
sensor_name,
rref_ohm,
pga_gain,
timeout_s )

Mesure la température d'un capteur via l'ADC.

Effectue une mesure de résistance puis utilise les tables de conversion de capteurs pour obtenir la température correspondante en degrés Celsius.

Paramètres
sensor_nameNom du capteur (doit exister dans SENSOR_TABLES).
rref_ohmRésistance de référence en ohms.
pga_gainGain PGA utilisé pour la mesure.
timeout_sTimeout en secondes pour la conversion.
Renvoie
Température mesurée en °C ou None si erreur.
Exceptions
RetourneNone si capteur inconnu ou hors plage.
Voir également
measure_resistance, resistance_to_temperature_dynamic
Voici le graphe d'appel pour cette fonction :

◆ read_code24()

app.adc_ads124s08.Ads124s08.read_code24 ( self)

Lit un code de données 24 bits depuis l'ADC.

Utilise la commande RDATA pour lire les 3 octets de données de conversion et les convertit en entier signé.

Renvoie
Valeur signée 24 bits ou None en cas d'erreur SPI.
Note
Doit être appelé après détection du front descendant DRDY.
Voir également
sign_extend_24, measure_resistance
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ read_gain()

app.adc_ads124s08.Ads124s08.read_gain ( self)

Lit le registre de gain PGA pour diagnostic.

Effectue une lecture du registre PGA et affiche sa valeur pour vérification de la configuration du gain.

Renvoie
Valeur brute du registre PGA (0x00-0xFF).
Note
Utilisé principalement pour le debug et la vérification.
Voir également
configure_channel
Voici le graphe d'appel pour cette fonction :

◆ read_id()

app.adc_ads124s08.Ads124s08.read_id ( self)

Lit le registre d'identification de l'ADC.

Effectue une lecture du registre ID (0x00) pour vérifier la communication SPI et identifier le type d'ADC connecté.

Renvoie
Valeur du registre ID (0x00-0xFF) ou None en cas d'erreur.
Note
Utilisé principalement pour la vérification de communication.
Voir également
init

◆ read_inpmux()

app.adc_ads124s08.Ads124s08.read_inpmux ( self)

Lit le registre de configuration du multiplexeur d'entrée.

Effectue une lecture du registre INPMUX et affiche sa valeur pour vérification du routage des entrées analogiques.

Renvoie
Valeur brute du registre INPMUX (0x00-0xFF).
Note
Utilisé principalement pour le debug et la vérification.
Voir également
configure_channel

◆ read_ref()

app.adc_ads124s08.Ads124s08.read_ref ( self)

Lit le registre de configuration de la référence.

Effectue une lecture du registre REF et affiche sa valeur pour vérification de la configuration de la référence.

Renvoie
Valeur brute du registre REF (0x00-0xFF).
Note
Utilisé principalement pour le debug et la vérification.
Voir également
configure_channel
Voici le graphe d'appel pour cette fonction :

◆ set_single_shot_lowlatency()

app.adc_ads124s08.Ads124s08.set_single_shot_lowlatency ( self,
dr_nibble )

Configure le mode single-shot low-latency de l'ADC.

Configure le registre DATARATE pour utiliser le mode single-shot avec filtre low-latency et data rate spécifié.

Paramètres
dr_nibbleCode de data rate (4 bits, 0x00-0x0F).
Renvoie
Rien.
Note
Mode optimisé pour des mesures rapides et ponctuelles.
Voir également
configure_channel
Voici le graphe des appelants de cette fonction :

◆ start()

app.adc_ads124s08.Ads124s08.start ( self)

Démarre une conversion ADC.

Assure que DRDY est à HIGH puis envoie la commande START pour initier une nouvelle conversion sur le canal configuré.

Renvoie
Rien.
Note
DRDY doit être HIGH avant le START pour une conversion valide.
Voir également
stop, wait_drdy_falling_edge
Voici le graphe des appelants de cette fonction :

◆ stop()

app.adc_ads124s08.Ads124s08.stop ( self)

Arrête une conversion ADC en cours.

Envoie la commande STOP pour interrompre toute conversion en cours et remettre l'ADC en état idle.

Renvoie
Rien.
Note
Utilisé après lecture des données ou en cas d'erreur.
Voir également
start, read_code24
Voici le graphe des appelants de cette fonction :

◆ wait_drdy_falling_edge()

app.adc_ads124s08.Ads124s08.wait_drdy_falling_edge ( self,
timeout_s )

Attend un front descendant sur DRDY (HIGH -> LOW) avec timeout.

Surveille le signal DRDY pour détecter une transition de HIGH vers LOW, indiquant qu'une nouvelle conversion est disponible.

Paramètres
timeout_sTimeout en secondes pour l'attente du front.
Renvoie
True si front descendant détecté, False en cas de timeout.
Note
Méthode cruciale pour la synchronisation des mesures.
Voir également
measure_resistance
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

Documentation des données membres

◆ gpio_drdy

app.adc_ads124s08.Ads124s08.gpio_drdy = GPIO(GPIO_CHIP_PATH, ADC_DRDY, "in")

◆ spi

app.adc_ads124s08.Ads124s08.spi = spidev.SpiDev()

La documentation de cette classe a été générée à partir du fichier suivant :
  • C:/Users/thebi/Documents/2510_RegulationChauffage/doc/9.SoftWare/Doxygen/src/app/adc_ads124s08.py