summaryrefslogtreecommitdiffstats
path: root/techwsw/tex/convertitori.tex
diff options
context:
space:
mode:
Diffstat (limited to 'techwsw/tex/convertitori.tex')
-rw-r--r--techwsw/tex/convertitori.tex324
1 files changed, 321 insertions, 3 deletions
diff --git a/techwsw/tex/convertitori.tex b/techwsw/tex/convertitori.tex
index b53cf35..7f89574 100644
--- a/techwsw/tex/convertitori.tex
+++ b/techwsw/tex/convertitori.tex
@@ -16,13 +16,76 @@ V_{ref}$$ Un dato digitale ad $n$ bit pu\`o esprimere $2^n$ valori; il valore
digitale $2^n$ viene pertanto associato al valore di fondo scala $FS$ o $FSR$
(Full scale range) della grandezza analogica.
+% diagramma segnale analogico lineare -> digitalizzato
+\begin{figure}[H]
+\centering
+% \begin{adjustbox}{width=.4\linewidth}
+ \begin{tikzpicture}%
+ \begin{axis}[
+ width=.5\linewidth,
+ xlabel = { Time $t$},
+ ylabel = { Input (analog) ~ $v_a(t)$},
+ xmajorgrids = false,
+ ymajorgrids = true,
+ grid style = dashed,
+ ]
+ \addplot[
+ domain = 0:4,
+ samples = 100,
+ color = blue
+ ]{2*x};
+ \end{axis}%
+ % \begin{axis}[
+ % width = .5\linewidth,
+ % hide x axis,
+ % axis y line*=right,
+ % ymin = 0.5, ymax = 8.5,
+ % yticklabels = { 000, 001, 010, 011, 100, 101, 110, 111},
+ % ]
+ % \pgfplotsset{every y tick label/.append style={font=\small\tt}};
+ % \end{axis}
+ \end{tikzpicture}%
+% \end{adjustbox}%
+\hfill%
+% \begin{adjustbox}{width=.4\linewidth}
+ \centering
+ \begin{tikzpicture}
+ \begin{axis}[
+ % axis lines = left,
+ width=.5\linewidth,
+ xlabel = { Time $t$},
+ ylabel = { Output (digitalized)~ $v'_a(t)$},
+ xmajorgrids = false,
+ ymajorgrids = true,
+ grid style = dashed,
+ ]
+ \addplot[
+ domain = 0:4,
+ samples = 100,
+ color = blue
+ ]{floor(2*x + .5)} node [color = black, left=1em, font=\small] {$FS$};
+ % \addplot[
+ % domain = 0:4,
+ % samples = 100,
+ % style = dashed,
+ % color = gray
+ % ]{2*x};
+ \draw [<->] (160, 200) -- (160, 300) node [below=5pt, right=3pt] {$Q$};
+ \draw [color=darkgray] (130, 200) -- (180, 200);
+ \draw [<->] (90, 200) -- (90, 250) node [left=2pt] {$\varepsilon$};
+ \draw [color=darkgray] (80, 250) -- (120, 250);
+ \end{axis}%
+ \end{tikzpicture}%
+% \end{adjustbox}
+\end{figure}
+
\paragraph{Risoluzione.} In un ADC i valori digitali in uscita non riproducono
dunque fedelmente il segnale di ingresso ma ne danno una rappresentazione
approssimata tanto pi\`u precisa quanto minore \`e il passo di quantizzazione
$Q$. Il numero di bit $n$ in uscita di un convertitore AD, cos\`i come il
numero dei bit di ingresso di un convertitore DA viene generalmente chiamato
-\emph{risoluzione}\footnote{In alcuni casi viene indicato come il valore del
-passo di quantizzazione indipendente da $V_{ref}$, dunque $R = 2^{-n}$}.
+\emph{risoluzione}\footnote{Ogni tanto indicato anche come il valore del passo
+di quantizzazione, dunque $R = 2^{-n}$}.
$$ R = \log_2{\frac{V_{ref}}{Q}} = n$$
\paragraph{Errore di quantizzazione.} Avendo quantizzato il segnale analogico,
@@ -31,16 +94,271 @@ ogni valore non campionato sar\`a sostituito dall'ultimo valore misurato
sar\`a massimo rispetto a quello analogico, l'errore sar\`a di esattamente:
$$\varepsilon = \frac{1}{2}Q \qquad \varepsilon_\% = \frac{1}{2^{n+1}}$$
-% TODO: diagramma segnale analogico lineare -> digitalizzato
+\subsection{Campionamento}
+Un altro concetto implicito nella conversione AD \`e quello di
+\emph{campionamento} del segnale in vari istanti successivi. Infatti la
+conversione consiste nel prelevamento di n campione del segnale ad un dato
+istante e nella determinazione del corrispondente valore digitale, che
+rester\`a fisso finch\'e non verr\`a prelevato un altro campione per una nuova
+conversione. La frequenza con cui il segnale viene prelevato \`e detta
+\emph{frequenza di campionamento}; essa ha un'importanza fondamentale di
+riferimento al contenuto informativo del segnale campionato e alle
+possibilit\`a di ricostruire fedelmente il segnale analogico originario.
+
+\paragraph{Il teorema del campionamento} noto anche come teorema di
+\emph{Shannon}, stabilisce che la frequenza di campionamento deve essere
+maggiore o uguale al doppio di quella componente di frequenza pi\`u elevata del
+segnale in esame. In altre parole, intuibilmente la frequenza di campionamento
+$f_c$ per un segnale $v_a(t)$ deve essere \emph{sempre} essere magiore del
+\emph{doppio} della frequenza maggiore dell'armonica del segnale $f_M$.
+
+$$ f_c \geq 2f_M $$
+
+Per ricostruire fedelmente il segnale $v_a(t)$ occorrer\`a trattare il segnale
+campionato $v'_a(t)$ con un filtro passa-basso la cui risposta sia piatta fino
+alla frequenza $f_M$ ed attenuante alla frequenza di campionamento $f_c$.
+
+\begin{figure}[H]
+\centering
+\caption{Diagramma di bode per il filtro passa-basso}
+\begin{tikzpicture}
+\def\ymax{5}
+\def\ymin{-30}
+\def\fw {200}
+\begin{axis}[
+ width = \linewidth,
+ height = 4cm,
+ ylabel = {Attenuazione},
+ xlabel = {Frequenza $f$},
+ xticklabels = \empty,
+ yticklabels = \empty,
+ ymin = \ymin, ymax = \ymax,
+ grid = major,
+ xmode = log,
+ xmin = 1e0, xmax = 1e5,
+]
+% mathematical model
+\addplot[thick, color=gray,samples=80,domain=.0001:1e6]
+ {20*log10(1/(sqrt(1+(x/\fw)^2))};
+
+% simplified model
+\addplot[thick, color=black] coordinates {(.0001, 1) (\fw, 1)};
+\addplot[thick, color=black] coordinates {(\fw, 1) (\fw*100, -40)};
+
+% frequencies
+\addplot[color=black, dashed] coordinates {(\fw, \ymax) (\fw, \ymin)}
+ node [color=black, above=12pt, left=1pt, font=\small] {$f_M$};
+
+\addplot[color=black, dashed] coordinates {(\fw*2, \ymin) (\fw*2, \ymax)}
+ node [color=black, below=12pt, right=1pt, font=\footnotesize]
+ {$2f_M$};
+
+\addplot[color=black, dashed] coordinates {(\fw*12, \ymin) (\fw*12, \ymax)}
+ node [color=black, below=12pt, right=1pt, font=\footnotesize]
+ {$f_c > 2f_M$};
+\end{axis}
+\end{tikzpicture}
+\end{figure}
+
+Bench\`e la frequenza di campionamento minima sia $f_c = 2f_M$, in pratica si
+preferisce campionare ad una frequenza maggiore per migliorare le prestazioni
+del filtro, siccome i filtri reali attenuano maggiormente le frequenze pi\`u
+distanti dalla frequenza di taglio.
+
\subsection{Sampling and Hold (Circuiti SH)}
+Dal momento che i convertitori A/D impiegano un tempo $t_{conv}$ finito
+(generalmente da 20 ms a 1 ns) per digitalizzare un segnale analogico in
+ingresso eventuali variazioni del segnale durante il processo di conversione
+possono determinare errori significativi. Se la variazione del segnale
+analogico $v_a$ durante il tempo di conversione $t_{conv}$ \`e superiore al
+valore di $Q$, il dato digitale di uscita non mantiene la risoluzione
+specificata. Occorre quindi che sia rispettata la relazione
+
+\[
+ max\Big (\dfrac{{\rm d}v}{{\rm d}t}\Big ) \approx
+ max\Big (\frac{\Delta v_a}{\Delta t}\Big )
+ \quad \leq \quad \frac{Q}{t_{conv}}
+\]
+
+In alternativa questo problema pu\`o essere risolto utilizzando circuiti di
+\emph{campionamento e mantenimento} (S/H) in grado di compiere un campionamento
+`veloce' del segnale analogico e di mantenere stabile stabile durante tutto il
+processo di conversione il valore acquisito.
+
+% TODO schema circuito HS
+\begin{figure}[H]
+ \centering
+ \placeholderfig{fig:circ:hs}
+ \caption{Circuito di sampling e hold}
+ \label{fig:circ:hs}
+\end{figure}
+
+Durante il campionamento il segnale di controllo $V_c$ chiude l'interruttore
+analogico consentendo al condensatore $C$ di caricarsi al valore di $v_a$; il
+tempo di carica del condensatore \`e assai ridotta siccome le uniche resistenze
+in gioco sono la resistenza in uscita dell'opamp $U_1$ e la $r_{on}$
+dell'interruttore. Idealmente da quando $V_c$ apre l'interruttore il
+condensatore rimane carico per un tempo infinito, permettendo al circuito di
+misura di convertire il campione. In realt\`a sono presenti delle lievi perdite
+dalle correnti di polarizzazione, dall'interruttore e dal condensatore stesso.
+Per questo motivo occorre utilizzare componenti con prestazioni adeguate, ad
+esempio operazionale con ingressi FET e condensatori al teflon.
+
+\subsection{Multiplazione (Multiplexing)}
+Nei casi in cui pi\`u segnali debbbano essere acquisiti da un unico sistema di
+elaborazione o di trasmissione, si deve ricorre a tecniche di
+\emph{multiplazione}. La multiplazione di un ingresso del convertitore A/D
+\`e ottenibile semplicemente aggiungendo all'ingresso un \emph{multiplexer}, un circuito con pi\`u entrate ed una sola uscita, con delle linee di
+controllo che permettono di selezionare quale linea viene collegata all'uscita.
\subsection{Convertitori digitale $\rightarrow$ analogico ({\tt DA})}
\subsubsection{Convertitore a resistori pesati}
+Nella figura \ref{fig:dac:wr} \`e illustrato il circuito DAC con il principio
+di funzionamento pi\`u semplice. L'ingresso \`e costituito da un segnale
+binario di $n$ bit; ciascun bit controlla uno dei commutatori $S_0, S_1, \dots
+S_{n-1}$ in modo tale che ciascun resistore viene collegato alla tensione di
+riferimento $V_{ref}$ o a massa a seconda del valore 1 o 0 del bit.
+
+\begin{figure}[H]
+ \centering
+ \placeholderfig{fig:dac:wr}
+ \caption{Convertitore a resistori pesati}
+ \label{fig:dac:wr}
+\end{figure}
+
+La corrente $I_f$ che si ottiene collegando e scollegando gli interruttori \`e
+definita dalla somma delle correnti di ogni ramo.
+\[
+ I_f = \frac{2^0 V_{ref}}{R}S_0 + \frac{2^1 V_{ref}}{R}S_1
+ + \frac{2^2 V_{ref}}{R}S_2 + \dots + \frac{2^{n-1} V_{ref}}{R}S_{n-1}
+\]
+La tensione in uscita \`e generata dall'amplificatore \`e descrivibile quindi
+come:
+\[
+ V_o = -V_{ref} \cdot\frac{R_f}{R}(2^{n-1}S_{n-1} + \dots
+ + 2^2 S_2 + 2^1S_1 + 2^0S_0 )
+\]
+In notazione ridotta:
+\[
+ V_o = -V_{ref}\cdot\frac{R_f}{R}\cdot
+ \sum_{i} 2^i\cdot S_i
+\]
+
+Il principale inconveniente di questo convertitore \`e costituto dal fatto che
+esso richiede resistori di valore estremamente disomogeneo.
+
\subsubsection{Convertitore a scala R-2R}
+
+Un miglioramento rispetto al convertitore a resistori pesati \`e illustrato
+nella figura \ref{fig:dac:r2r}; il convertitore a scala R-2R utilizza solo
+resistori di due valori R e 2R. Si osservi che la resistenza vista da ciascuno
+degli ingressi $S$ vale sempre 3R, indipendentemente dalla configurazione dei
+bit di ingresso.
+\begin{figure}[H]
+ \centering
+ \placeholderfig{fig:dac:r2r}
+ \caption{Convertitore a scala R-2R}
+ \label{fig:dac:r2r}
+\end{figure}
+La tensione in uscita per un convertitore a scala R-2R \`e descritta in forma
+generale dalla seguente relazione.
+\[
+ V_o = -\frac{V_{ref}}{2^n}\cdot\frac{R_f}{3R}\cdot
+ (2^{n-1} S_{n-1} + \dots + 2^2S_2 + 2^1S_1 + 2^0S_0)
+\]
+In notazione ridotta:
+\[
+ V_o = -\frac{V_{ref}}{2^n}\cdot\frac{R_f}{3R}\cdot
+ \sum_{i} 2^i\cdot S_i
+\]
+
+Questo convertitore come per il convertitore a resistori pesati presenta due
+inconveniente che limitano le prestazioni alle alte velocit\`a. I commutati di
+questi ultimi quando sono a riposo sono collegati a massa, ma cos\`i facendo le
+capacit\`a parassite dei conduttori vengono costantemente caricate e scaricate
+dal cambiamento di stato del commutatore, rallentando il tempo di risposta.
+
\subsubsection{Convertitore a scala R-2R invertita}
+
+Per ovviare al problema del convertitore a scala R-2R la scala invertita ha una
+corrente costante che scorre nei resistori e che viene deviata verso
+l'operazionale quando il commutatore \`e attivo.
+\begin{figure}[H]
+ \centering
+ \placeholderfig{fig:dac:r2rinv}
+ \caption{Convertitore a scala R-2R invertita}
+ \label{fig:dac:r2rinv}
+\end{figure}
+La tensione in uscita per un convertitore a scala R-2R invertita \`e descritta
+in forma generale dalla seguente relazione.
+\[
+ V_o = -\frac{V_{ref}}{2^n}\cdot\frac{R_f}{R}\cdot
+ (2^{n-1} S_{n-1} + \dots + 2^2S_2 + 2^1S_1 + 2^0S_0)
+\]
+
\subsubsection{Caratteristiche e parametri dei convertitori DA}
+I convertitori D/A in commercio accettano in ingresso dati digitali in formato
+parallelo o anche seriale espressi in codici diversi, binario, binario con
+offset, in complemento a due, BCD, con un numero di biti compreso generalmente
+tra 8 e 16. I livelli elettrici dei dati di ingresso variano conla tecnologia
+con cui sono realizzato i convertitori e possono essere TTL, CMOD, ECL.
+
+% I valori della tensione di alimentazione e della tensione di riferimento
+% (interna o esterna) dipendono dalla tecnologia con cui sono realizzati i
+% circuiti e dalle polarit\`a del segnale analogico di uscita desiderato e
+% consentito; occorre sempre prestare molta attenzione alle configurazioni
+% circuitali suggerite dai fogli tecnici e ai valori massimi consentiti.
+
+Per quanto riguarda la grandezza analogica di uscita, nella maggior parte dei
+casi i convertitori forniscono una corrente, che pu\`o essere convertita in
+tensione mediante un operazionale esterno. In altri casi gli integrati
+contengono internamente un amplificatore operazionale e forniscono un'uscita in
+tensione.
+
+% Occorre poi citare, per l'ampia diffusione e le interessanti applicazioni che
+% consento, i convertitori classificati come \emph{multiplying converter}. Essi
+% sono progettati per funzionare con una tensione di riferimento esterna
+% variabile, anche di frequenza considerevole, e forniscono in uscita un
+% segnale proporzionale al prodotto del dato digitale di ingresso per il valore
+% istantaneo della tensione di riferimento.
+
+Un ultimo cenno meritano gli ingressi di controllo disponibili in numerevoli
+convertitori: ingresso dati seriale, ingresso di selezione (\emph{chip
+select}), controllo della memorizzazione dei dati digitali (\emph{strobe}),
+ecc. Essi si rivelano molto utili in applicazioni in cui la sincronizzazione
+e il controllo della conversione sono effettuati da un microprocessore.
+\\
+
+\noindent I principali parametri che definiscono le prestazioni dei
+convertitori D/A sono:
+
+\paragraph{Risoluzione.} Specifica il numero dei bit del dato digitale di
+ingresso e conseguentemente il numero dei valori distinti del segnale analogico
+in uscita.
+
+\paragraph{Precisione.} Fornisce la misura della differenza fra il valore del
+segnale analogico di uscita reale e quello ideale, per un dato codice di
+ingresso; tiene conto di varie cause di errore, in particolare della non
+linearit\`a del dispositivo e degli errori di guadagno e di offset della
+circuiteria interna.
+
+\paragraph{Linearit\`a.} In un convertitore D/A ideale, incrementi uguali del
+dato digitale di ingresso devono produrre ingrementi uguali del segnale di
+uscita; pertanto la curva di trasferimento ingresso-uscita \`e una retta.
+\emph{L'errore di linearit\`a} esprime la massima deviazione della curva di
+trasferimento reale da quella ideale. Generalmente l'errore di linearit\`a \`e
+espresso in frazioni del passo di quantizzazione $Q$ (es $\dfrac{1}{4}Q$). Si
+noti che un errore di linearit\`a pari a $\pm\dfrac{1}{2}Q$ \`e il massimo
+consentito affinch\`e all'aumento del dato digitale di ingresso corrisponda un
+aumento del segnale di uscita.
+
+\paragraph{Tempo di assestamento} (\emph{Settling time}). \`E definito come il
+tempo necessario affinch\`e il segnale analogico di uscita dopo una data
+commutazione degli ingressi, si assesti e si mantenga in un determinato intorno
+(generalmente )
+
\subsection{Convertitori analogico $\rightarrow$ digitale ({\tt AD})}
\subsubsection{Convertitore a comparatori in parallelo}
\subsubsection{Convertitore ad approssimazioni successive}