diff options
Diffstat (limited to 'techwsw/tex/convertitori.tex.bak')
-rw-r--r-- | techwsw/tex/convertitori.tex.bak | 369 |
1 files changed, 369 insertions, 0 deletions
diff --git a/techwsw/tex/convertitori.tex.bak b/techwsw/tex/convertitori.tex.bak new file mode 100644 index 0000000..5f05cdb --- /dev/null +++ b/techwsw/tex/convertitori.tex.bak @@ -0,0 +1,369 @@ +%!TEX root = essence_of_hwsw.tex + +\section{Convertitori AD \(\longleftrightarrow{}\) DA} + +\subsection{Quantizzazione dei dati} +Il processo di digitalizzazione dei segnali analogici introduce il concetto di +\emph{quantizzazione}. Infatti mentre un segnale analogico pu\`o assumere +infiniti valori in un campo continuo la sua rappresentazione digitale pu\`o +assumere soltanto un numero finito di valori \emph{discreti}. Gli infiniti +valori del segnale analogico devono pertanto essere quantizzati ovvero +raggruppati in un certo numero di fasce delimitate da livelli fissi detti +\emph{livelli di quantizzazione}; a ciascuna fascia di valori analogici +corrisponder\`a un valore digitale. La distanza fra due livelli di +quantizzazione continui costituisce il \emph{passo di quantizzazione} +\(Q\)\footnote{Indicato spesso anche come \(LSB\)}, a cui corrisponde il valore del +bit meno significativo. +\[ Q = \frac{V_{ref}}{2^n} \qquad FS = Q\cdot 2^n = 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 = { Original ~ \(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 = { Reconstructed ~ \(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{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, +ogni valore non campionato sar\`a sostituito dall'ultimo valore misurato +(effetto `scaletta'). Perci\`o nel punto il cui l'errore del segnale digitale +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}} \] + +\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} +\subsubsection{Convertitore a rampa digitale} +\subsubsection{Convertitore a doppia rampa} +\subsubsection{Convertitore \(\Sigma\Delta\) (Sigma-Delta)} +\subsubsection{Caratteristiche e parametri dei convertitori AD}
\ No newline at end of file |