ADC et DAC

DAC

DAC signifie Digital to Analog Converter (convertisseur numérique vers analogique), il permet de convertir un nombre représenté en mémoire par des bits (par exemple de 0 à 1023) en une tension (par exemple de 0 à 5V).

PWM-DAC

Une solution simple pour réaliser cela est d'utiliser un signal périodique qui passe à travers un filtre passe-bas, produisant un signal "moyenné":

DAC Thermomètre

Une autre méthode est d'utiliser des résistances en série, permettant de représenter toutes les valeurs possibles. La sortie peut ensuite être sélectionnée à l'aide d'un multiplexeur. Cette solution a un encombrement important, car toutes les valeurs correspondent à un point physique dans le circuit.

R2R DAC

Enfin, la méthode R2R permet de combiner des résistances pour produire une tension directement à partir de la représentation binaire:

ADC

ADC est l'inverse de DAC, il permet de convertir une tension en un nombre représenté numériquement dans le programme.

Le design des ADC est dual à celui des DAC, en comparant les tensions produites avec l'entrée à échantillonner:

Par exemple, l'ADC "flash" (ci-dessus) est le dual du DAC thermomètre, contenant toutes les valeurs possibles de tension.

Dans l'ATmega328P, l'ADC est basé sur des comparaisons successives à l'aide de valeurs provenant d'un DAC interne: