Salta al contenuto
Note per Studenti Esercizio 13 · convertitore A-D di tipo SAR, frequenza di Nyquist, ENOB e pipeline (temi d'esame gennaio 2026, luglio 2026 e gennaio 2023)

Esercizio 13convertitore A-D di tipo SAR, frequenza di Nyquist, ENOB e pipeline (temi d'esame gennaio 2026, luglio 2026 e gennaio 2023)

Esame
In questa pagina 5

Testo (temi d'esame gennaio 2026 problema P3, luglio 2026 problema P5, gennaio 2023 problema P6, esempio d'appello 2020-21 problema 5).

(i) Un convertitore A/D a 12 bit di tipo SAR, con FSR=3,3FSR=3{,}3 V, lavora con un clock di 100 MHz. Determinare: (a) la massima frequenza di Nyquist; (b) la tensione all'ingresso quando il codice ottenuto è 0x12C\texttt{0x12C}; (c) i bit efficaci quando il SNR misurato è 64 dB; (d) i valori massimo e minimo del codice per il segnale vADC(t)=1,65+sin⁡(2π⋅103t)v_{ADC}(t)=1{,}65+\sin(2\pi\cdot10^3t) V.

(ii) Stesso convertitore con clock di 80 MHz: (a) frequenza di Nyquist massima; (b) tensione per il codice 0x0FA\texttt{0x0FA}; (c) ENOB per SNR di 68 dB; (d) codici massimo e minimo per vADC(t)=2,25sin⁡2(2π⋅103t)v_{ADC}(t)=2{,}25\sin^2(2\pi\cdot10^3t) V; (e) frequenza di Nyquist massima se il convertitore è realizzato con tre stadi in pipeline (stadi SAR da 4 bit).

(iii) Per un ADC a 12 bit SAR con pipeline a tre stadi (4 bit ciascuno), clock 80 MHz, FSR=3,3FSR=3{,}3 V: massima frequenza di conversione e tempo minimo di conversione di un dato.

(iv) Vero/falso sui convertitori SAR (gennaio 2023): a. sfrutta un convertitore D/A interno; b. il tempo di conversione di un dato dipende linearmente dall'FSR; c. nel caso peggiore, se la risoluzione aumenta di un bit, il tempo di conversione raddoppia; d. alcuni SAR richiedono un ciclo di clock a vuoto per azzerare la macchina a stati; e. l'STM32F334R8 integra due convertitori A/D di tipo SAR; f. il tempo di conversione di un dato nell'STM32F334R8 può scendere fino a 200 ns.


Teoria usata: Architetture di ADC e DACADC flash: $2^n-1$ comparatori in parallelo, il più veloce (GS/s) ma costoso, $n<10$. A gradinata/a rampa: contatore + DAC (o rampa) + comparatore, $T_{conv}\le2^n$ cicli di clock (lentissimo). SAR: ricerca binaria con DAC e comparatore, $T_{conv}=(n+1)$ cicli: il più usato nei µC. Sigma-delta: ADC a 1 bit + DAC a 1 bit in retroazione e filtro digitale, sovracampionamento (molti bit, banda ridotta). Multistadio/pipeline: più ADC a pochi bit in serie; la pipeline triplica (con 3 stadi) la frequenza di conversione. DAC: a resistenze pesate, a traliccio R-2R ($V_o=-V_{ref},C/2^n$, corrente costante), a voltage scaling (monotono), seriale.Architetture di ADC e DAC →, ADC e DAC - risoluzione, SNR, ENOB ed erroriUn convertitore a $n$ bit con fondo scala $FSR$ ha risoluzione $LSB=FSR/2^n$; il codice vale $C=\mathrm{round}(V/LSB)$ e la tensione corrispondente è $V=C\cdot LSB$ con incertezza $\pm\frac12LSB$ (errore di quantizzazione). Con un modello a rumore uniforme di potenza $LSB^2/12$ il SNR di una sinusoide a fondo scala è $6{,}02,n+1{,}76$ dB; dal SNR misurato si ricava il numero di bit efficaci $ENOB=\frac{SNR-1{,}76}{6{,}02}$. Gli errori reali (offset, guadagno, INL, DNL, missing code) abbassano l'accuratezza. Accuratezza ≠ precisione: alta accuratezza implica alta precisione, non viceversa.ADC e DAC - risoluzione, SNR, ENOB ed errori →, Campionamento, aliasing e sample and holdCampionare vuol dire prendere i valori di $s(t)$ a istanti $kT_c$ ($T_c$ periodo, $f_c=1/T_c$). Teorema di Shannon: se lo spettro è nullo sopra $BW$, $s(t)$ si ricostruisce esattamente da campioni con $f_c\ge2BW$. Lo spettro campionato è la replica periodica (ogni $f_c$) dello spettro originale; se $f_c<2BW$ le repliche si sovrappongono: aliasing (una sinusoide a $f$ campionata a $1{,}25f$ appare a $0{,}25f$). Si previene con un filtro anti-aliasing sotto $f_c/2$ e col sovracampionamento. Il sample and holdcircuito che campiona il segnale e lo mantiene costante durante la conversione tiene il segnale costante durante la conversione.Campionamento, aliasing e sample and hold →.

(i) SAR a 12 bit, 100 MHz

(a) Un SAR a nn bit impiega n+1=13n+1=13 cicli di clock: Tconv=13100 MHz=130T_{conv}=\frac{13}{100\text{ MHz}}=130 ns. La massima frequenza di conversione è fc=1130 ns=7,69f_c=\frac1{130\text{ ns}}=7{,}69 MHz e la frequenza di Nyquist fNyq=fc2=3,85 MHzf_{Nyq}=\frac{f_c}2=\mathbf{3{,}85\ MHz}.

(b) LSB=FSR212=3,34096=0,806LSB=\frac{FSR}{2^{12}}=\frac{3{,}3}{4096}=0{,}806 mV. 0x12C=300\texttt{0x12C}=300: V=300⋅0,806 mV=0,242 VV=300\cdot0{,}806\ \text{mV}=\mathbf{0{,}242\ V} (con incertezza ±12LSB=±0,4\pm\frac12LSB=\pm0{,}4 mV).

(c) ENOB=SNR−1,766,02=64−1,766,02=10,34ENOB=\dfrac{SNR-1{,}76}{6{,}02}=\dfrac{64-1{,}76}{6{,}02}=\mathbf{10{,}34} bit.

(d) Il segnale oscilla tra 1,65−1=0,651{,}65-1=0{,}65 V e 1,65+1=2,651{,}65+1=2{,}65 V. Con C=round(V/LSB)C=\mathrm{round}(V/LSB): Cmin=round(806,8)=807=0x327C_{min}=\mathrm{round}(806{,}8)=807=\texttt{0x327} e Cmax=round(3289,3)=3289=0xCD9C_{max}=\mathrm{round}(3289{,}3)=3289=\texttt{0xCD9}.

(ii) SAR a 12 bit, 80 MHz

(a) Tconv=1380 MHz=162,5T_{conv}=\frac{13}{80\text{ MHz}}=162{,}5 ns, fc=6,15f_c=6{,}15 MHz, fNyq=3,08 MHzf_{Nyq}=\mathbf{3{,}08\ MHz}. (b) 0x0FA=250\texttt{0x0FA}=250: V=250⋅0,806 mV=0,201 VV=250\cdot0{,}806\ \text{mV}=\mathbf{0{,}201\ V}. (c) ENOB=68−1,766,02=11,0ENOB=\frac{68-1{,}76}{6{,}02}=\mathbf{11{,}0} bit. (d) 2,25sin⁡2(⋅)2{,}25\sin^2(\cdot) varia tra 0 V e 2,252{,}25 V: Cmin=0=0x000C_{min}=0=\texttt{0x000}, Cmax=round(2,253,3⋅4096)=round(2792,7)=2793=0xAE9C_{max}=\mathrm{round}\big(\frac{2{,}25}{3{,}3}\cdot4096\big)=\mathrm{round}(2792{,}7)=2793=\texttt{0xAE9}. (La frequenza del segnale, 2⋅12\cdot1 kHz per il quadrato del seno, non influisce sugli estremi.) (e) In una pipeline a tre stadi con ADC SAR da 4 bit ciascuno, ogni stadio impiega 4+1=54+1=5 cicli: Tstadio=580 MHz=62,5T_{stadio}=\frac5{80\text{ MHz}}=62{,}5 ns. A regime esce un dato ogni 62,5 ns: fc=80 MHz5=16f_c=\frac{80\text{ MHz}}5=16 MHz e fNyq=8f_{Nyq}=\mathbf8 MHz (più del doppio del SAR a 12 bit non a pipeline: 3,083{,}08 MHz).

(iii) Pipeline a tre stadi, 80 MHz

  • Massima frequenza di conversione: 80 MHz5=16 MHz\frac{80\text{ MHz}}5=\mathbf{16\ MHz} (un dato ogni 5 cicli).
  • Tempo minimo di conversione di un dato (latenza): un dato attraversa i tre stadi: 3⋅62,5=187,5 ns3\cdot62{,}5=\mathbf{187{,}5\ ns} (più dei 162,5 ns del SAR a 12 bit non a pipeline: la pipeline migliora la frequenza, non la latenza).

(iv) Vero o falso

  • a. Vero. Il SAR confronta l'ingresso con l'uscita di un DAC interno (ricerca binaria).
  • b. Falso. Il tempo è n+1Fclk\frac{n+1}{F_{clk}}: dipende dal numero di bit e dal clock, non dal fondo scala.
  • c. Falso. Un bit in più aggiunge un ciclo (da 13 a 14): non raddoppia (raddoppia nell'ADC a gradinata o a rampa).
  • d. Vero. Alcuni SAR hanno un ciclo di reset della macchina a stati (da qui il "+1").
  • e. Vero. L'STM32F334R8 ha due ADC (ADC1 e ADC2), SAR a 12 bit.
  • f. Vero. Il datasheet indica fino a 5 MS/s, cioè circa 200 ns per conversione.

Errori comuni

  • Contare nn cicli invece di n+1n+1.
  • Usare FSR/(2n−1)FSR/(2^n-1) per il LSB: il passo è FSR/2nFSR/2^n.
  • Calcolare la frequenza di Nyquist come 1/Tconv1/T_{conv} invece che come 12Tconv\frac1{2T_{conv}}.
  • Attribuire alla pipeline una riduzione della latenza.
  • Dimenticare di arrotondare il codice (per 0,650{,}65 V il codice è 807, non 806).

Versione ripasso

Testo. SAR a 12 bit, 100 e 80 MHz, FSR=3,3FSR=3{,}3 V: fNyqf_{Nyq}, tensione da codice, ENOB, estremi del segnale, pipeline 3×4 bit, vero/falso (gennaio 2026, luglio 2026, gennaio 2023, 2020-21).

Teoria collegata