PWMSAR-  A/D SAR  a 10 bit

 

Convertitore Analogico-Digitale che utilizza la tecnica SAR (Successive Approximation Register) con risoluzione di 10 bit implementato con il PIC16F628. La caratteristica principale di questo ADC e' l'utilizzo della tecnica  PWM (Pulse Width Modulation) per la generazione della tensione di riferimento.  

Il principale svantaggio del convertitore a 8 bit a singola rampa (pwm8adc) sta nella forte dipendenza del tempo di conversione dalla tensione di ingresso che si vuole convertire. Per ovviare a questo problema si può ricorrere ad un tipo di conversione che sia indipendente dalla tensione di ingresso. Esistono diverse tipologie di conversione che hanno questa caratteristica. In questa sede utilizzeremo la conversione ad "approssimazioni successive" detta anche SAR che sta per Successive Approximation Register.

La tecnica di conversione  SAR

Non volendo fare una trattazione dettagliata su questo tipo di convertitore, rimandando coloro che sono interessati alla consultazione del tutorial ADC_SAR pubblicato nel nostro sito, possiamo dire che il tempo di conversione non dipende dalla tensione di ingresso ma è fisso e dipende solo dal numero di bit di conversione. In particolare, per un convertitore a 10 bit abbiamo 10 passi di conversione.
Il concetto di base che sta alla base della conversione SAR è il confronto di una tensione di riferimento con la tensione da convertire. Si origina un ciclo di conversione che parte fissando la tensione di riferimento ad un valore iniziale pari alla metà del valore massimo accettabile in ingresso. Dal confronto con la tensione da convertire si decide se aumentarla o diminuirla. In particolare se la tensione di riferimento è più alta allora si decide di ridurla altrimenti di aumentarla. La tensione di riferimento si riduce/aumenta della quantità Vmax/*2^ ( Nstep) con Nstep numero del passo di conversione in corso.
Per esempio per N_step= 4 la riduzione/aumento della tensione è pari a Vmax / 2 ^ (4) = Vmax/64  mentre per N_step=0 (caso iniziale) la riduzione /aumento è Vmax*2^ (-0) =Vmax/2.
Cosi facendo alla fine del ciclo di conversione (Nbit cicli), il valore della tensione di riferimento è circa uguale a Vin . Il  valore della parola digitale corrispondente alla tensione di riferimento e' l'uscita digitale del convertitore.

Caratteristiche tecniche del convertitore

La risoluzione del convertitore ovvero la tensione associata a bit meno significativo detta anche VLSB è:

VLSB = Vmax / 2^10 = Vmax / 1024

La tensione Vmax e' la tensione di alimentazione del micro. Per Vmax = 5V si ha:

VLSB = 5 / 1024 = 5 mV

Il tempo di conversione t_con può essere cosi valutato:

t_con = (4*Ncycle/Xtal + Npulse*T_pwm)* N_step

Con Ncycle è il numero di cicli macchina necessari per l'esecuzione della conversione per singolo step, Nstep è fissato dal numero di bit Nbit e non dalla tensione Vin  mentre Npulse e' il numero di segnali PWM completi utilizzata per generare la Vref in ogni singolo step di conversione. Fissando Ncycle= 50, Npulse = 3,  Tpwm = 51.2us  Xtal= 4Mhz

per cui si ha che:

t_con= [(4*50/4e6)+3*51.2e-6] *10 = 1.636ms

Il vantaggio di questo convertitore, a parità di risorse hardware, è un’indipendenza del tempo di conversione t_con della tensione di ingresso.