PWM10DAC- Convertitore Digitale Analogico  a 10 bit

 

INTRODUZIONE

I convertitori prima proposti hanno in comune il fatto che per il loro funzionamento richiedono la generazione di una tensione di riferimento necessaria per il confronto. Questo suggerisce l'utilizzo del modulo PWM per realizzare un convertitore digitale – analogico DAC il cui ingresso è il duty cycle e l’uscita è la componente continua ottenuta mediante un filtro passa basso ( LPF = low pass filter). Quindi il singolo campione del segnale da generare, definito dalla parola digitale a n bit, può essere convertito in analogico da un segnale ad onda quadra con un duty cycle D corrispondente al valore che si vuole ottenere in uscita.
Per rendere operativa l’idea di realizzare un DAC con il modulo PWM bisogna dimensionare alcuni parametri tipici del PWM. Se per la generazione del singolo campione vogliamo che ci siano Npulse impulsi del segnale PWM il tempo t_con necessario per la ricostruzione del singolo campione  e':

t_con = T_pwm*N_pulse

come si può notare, fissato il periodo T_pwm del segnale PWM, il tempo di conversione de singolo campione dipende direttamente da parametro  Npulse. Questo comporta che per riproduzioni accurate, in cui si scegli un valore elevato di Npulse, si hanno basse frequenze di conversione.
Per esempio, utilizzando un microcontrollore PIC16F628A, in cui si fissa  t_Xosc=50ns (Xtal=20MHz), PR2=255, TMR2_presc=1, N_pulse=3 si ottiene, utilizzando la formula che definisce il periodo ( o frequenza ) del segnale PWM:

T_pwm= (PR2+1) * 4 * t_osc * TMR2_presc=(255+1)*4*50e-9 = 51.2e-6 = 51.2us

da cui segue che il tempo di conversione e':

t_con = 51.2 * 3 = 153.6 us

che in termini di frequenza è uguale a dire che f_con= 6.51 kHz

Ricordiamo che  T_pwm può essere definito anche in funzione del numero di bit in base alla relazione:

T_pwm= 2^(N_bit)* t_osc * TMR2_presc

Quindi in base alle specifiche progettuali si possono scegliere i parametri .