From 339e0c3c6e6a413c308b4e0a6dd0df1ea4014065 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Mon, 1 Jan 2018 18:42:12 +0100 Subject: Add hwsw, changed $ to \( LaTeX notation --- techwsw/build/essence_of_hwsw.pdf | Bin 134470 -> 127469 bytes techwsw/essence_of_hwsw.pdf | Bin 0 -> 113044 bytes techwsw/essence_of_hwsw.tex | 7 +- techwsw/res/cc-logo.pdf | Bin 3693 -> 3691 bytes techwsw/tex/cc-license.tex | 14 +- techwsw/tex/cc-license.tex.bak | 49 ++++ techwsw/tex/circuiti_digitali.tex | 35 +-- techwsw/tex/circuiti_digitali.tex.bak | 37 ++++ techwsw/tex/convertitori.tex | 110 ++++----- techwsw/tex/convertitori.tex.bak | 369 +++++++++++++++++++++++++++++++ techwsw/tex/memorie.tex | 69 +++--- techwsw/tex/memorie.tex.bak | 149 +++++++++++++ techwsw/tex/trasmissione_seriale.tex | 16 +- techwsw/tex/trasmissione_seriale.tex.bak | 91 ++++++++ 14 files changed, 835 insertions(+), 111 deletions(-) create mode 100644 techwsw/essence_of_hwsw.pdf create mode 100644 techwsw/tex/cc-license.tex.bak create mode 100644 techwsw/tex/circuiti_digitali.tex.bak create mode 100644 techwsw/tex/convertitori.tex.bak create mode 100644 techwsw/tex/memorie.tex.bak create mode 100644 techwsw/tex/trasmissione_seriale.tex.bak diff --git a/techwsw/build/essence_of_hwsw.pdf b/techwsw/build/essence_of_hwsw.pdf index 087ab4a..f59ce59 100644 Binary files a/techwsw/build/essence_of_hwsw.pdf and b/techwsw/build/essence_of_hwsw.pdf differ diff --git a/techwsw/essence_of_hwsw.pdf b/techwsw/essence_of_hwsw.pdf new file mode 100644 index 0000000..1e58599 Binary files /dev/null and b/techwsw/essence_of_hwsw.pdf differ diff --git a/techwsw/essence_of_hwsw.tex b/techwsw/essence_of_hwsw.tex index 782e348..7dc0a04 100644 --- a/techwsw/essence_of_hwsw.tex +++ b/techwsw/essence_of_hwsw.tex @@ -8,6 +8,9 @@ \usepackage{graphicx} \usepackage{tikz} \usepackage{subcaption} + +% plots +\usepackage{tikz-timing} \usepackage{pgfplots} \pgfplotsset{compat=1.9} @@ -37,7 +40,7 @@ \begin{document} \maketitle -\break +\break{} \tableofcontents % \listoffigures @@ -52,7 +55,7 @@ % trasmissione seriale \bibitem{ferrigno} I bus di comunicazione seriale, {\it Luigi Ferrigno}, \\ - \url{http://webuser.unicas.it/misure/MAQ_270/USB/SERIALE%20ED%20USB.pdf} + \url{http://webuser.unicas.it/misure/MAQ_270/USB/SERIALE\%20ED\%20USB.pdf} \bibitem{wiki:usb} USB. (2017, November 25). {\it Wikipedia, The Free Encyclopedia}, \\ diff --git a/techwsw/res/cc-logo.pdf b/techwsw/res/cc-logo.pdf index 049c28b..028264b 100644 Binary files a/techwsw/res/cc-logo.pdf and b/techwsw/res/cc-logo.pdf differ diff --git a/techwsw/tex/cc-license.tex b/techwsw/tex/cc-license.tex index afa46e5..4c3b80d 100644 --- a/techwsw/tex/cc-license.tex +++ b/techwsw/tex/cc-license.tex @@ -1,18 +1,18 @@ % license on its own page -\break +\break{} \section*{License} This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit \url{http://creativecommons.org/licenses/by-sa/4.0/} or send a letter to -Creative Commons, PO Box 1866, Mountain View, CA 94042, USA. +Creative Commons, PO Box 1866, Mountain View, CA 94042, USA\@. \subsection*{Short summary (not a substitute for the license)} \paragraph{You are free to:} \begin{itemize} - \item Share - copy and redistribute the material in any medium or + \item Share -- copy and redistribute the material in any medium or format - \item Adapt - remix, transform, and build upon the material for any + \item Adapt -- remix, transform, and build upon the material for any purpose, even commercially. \end{itemize} The licensor cannot revoke these freedoms as long as you follow the @@ -20,14 +20,14 @@ license terms. \paragraph{Under the following terms:} \begin{itemize} - \item Attribution - You must give appropriate credit, provide a link + \item Attribution -- You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. - \item ShareAlike - If you remix, transform, or build upon the + \item ShareAlike -- If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. - \item No additional restrictions - You may not apply legal terms or + \item No additional restrictions -- You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. \end{itemize} diff --git a/techwsw/tex/cc-license.tex.bak b/techwsw/tex/cc-license.tex.bak new file mode 100644 index 0000000..4c3b80d --- /dev/null +++ b/techwsw/tex/cc-license.tex.bak @@ -0,0 +1,49 @@ +% license on its own page +\break{} +\section*{License} +This work is licensed under the Creative Commons Attribution-ShareAlike +4.0 International License. To view a copy of this license, visit +\url{http://creativecommons.org/licenses/by-sa/4.0/} or send a letter to +Creative Commons, PO Box 1866, Mountain View, CA 94042, USA\@. + +\subsection*{Short summary (not a substitute for the license)} + +\paragraph{You are free to:} +\begin{itemize} + \item Share -- copy and redistribute the material in any medium or + format + \item Adapt -- remix, transform, and build upon the material for any + purpose, even commercially. +\end{itemize} +The licensor cannot revoke these freedoms as long as you follow the +license terms. + +\paragraph{Under the following terms:} +\begin{itemize} + \item Attribution -- You must give appropriate credit, provide a link + to the license, and indicate if changes were made. You may do so + in any reasonable manner, but not in any way that suggests the + licensor endorses you or your use. + \item ShareAlike -- If you remix, transform, or build upon the + material, you must distribute your contributions under the same + license as the original. + \item No additional restrictions -- You may not apply legal terms or + technological measures that legally restrict others from doing + anything the license permits. +\end{itemize} + +\paragraph{Notices:} +You do not have to comply with the license for elements of the material +in the public domain or where your use is permitted by an applicable +exception or limitation. No warranties are given. The license may not +give you all of the permissions necessary for your intended use. For +example, other rights such as publicity, privacy, or moral rights may +limit how you use the material. + +\begin{figure}[b] +\begin{center} +\includegraphics[height=1.2cm]{res/license_logo_cc-by-sa}% +\hspace{5em}% +\includegraphics[height=1.2cm]{res/cc-logo} +\end{center} +\end{figure} \ No newline at end of file diff --git a/techwsw/tex/circuiti_digitali.tex b/techwsw/tex/circuiti_digitali.tex index 942d650..14281d8 100644 --- a/techwsw/tex/circuiti_digitali.tex +++ b/techwsw/tex/circuiti_digitali.tex @@ -1,6 +1,21 @@ \section{Circuiti Digitali} \subsection{Generatori di Clock} +\subsubsection{Astabile a trigger di schmitt} + +\subsection{Multiplexer e Demultiplexer} +\subsubsection{Multiplexer come circuito combinatorio} +Il multiplexer pu\`o essere utilizzato anche come circuito combinatorio, +utilizzando gli ingressi di selezione come entrare, e collegando delle costanti +agli ingressi dei dati. +\begin{figure}[H] + \centering + \placeholderfig{fig:multiplexer_combi} + \caption{Esempio di Multiplexer utilizzato per implementare un circuito + combinatorio\label{fig:multiplexer_combi}} +\end{figure} + +\subsection{Encoder e Decoder} \subsection{Circuiti di reset} Un circuito di reset \`e un semplice dispositivo presentei i tutti i sistemi @@ -11,26 +26,12 @@ azzerarlo e inizializzarlo daccapo. \begin{figure}[H] \centering \placeholderfig{fig:circ:reset} - \caption{Circuito di reset} - \label{fig:circ:reset} + \caption{Circuito di reset\label{fig:circ:reset}} \end{figure} \subsection{FlipFlops} +\subsubsection{Latch} \subsubsection{FlipFlop RS} \subsubsection{FlipFlop D} \subsubsection{FlipFlop JK} - -\subsection{Multiplexer e Demultiplexer} -\subsubsection{Multiplexer come circuito combinatorio} -Il multiplexer pu\`o essere utilizzato anche come circuito combinatorio, -utilizzando gli ingressi di selezione come entrare, e collegando delle costanti -agli ingressi dei dati. -\begin{figure}[H] - \centering - \placeholderfig{fig:multiplexer_combi} - \caption{Esempio di Multiplexer utilizzato per implementare un circuito - combinatorio} - \label{fig:multiplexer_combi} -\end{figure} - -\subsection{Encoder e Decoder} +\subsubsection{FlipFlop Master / Slave} diff --git a/techwsw/tex/circuiti_digitali.tex.bak b/techwsw/tex/circuiti_digitali.tex.bak new file mode 100644 index 0000000..14281d8 --- /dev/null +++ b/techwsw/tex/circuiti_digitali.tex.bak @@ -0,0 +1,37 @@ +\section{Circuiti Digitali} + +\subsection{Generatori di Clock} +\subsubsection{Astabile a trigger di schmitt} + +\subsection{Multiplexer e Demultiplexer} +\subsubsection{Multiplexer come circuito combinatorio} +Il multiplexer pu\`o essere utilizzato anche come circuito combinatorio, +utilizzando gli ingressi di selezione come entrare, e collegando delle costanti +agli ingressi dei dati. +\begin{figure}[H] + \centering + \placeholderfig{fig:multiplexer_combi} + \caption{Esempio di Multiplexer utilizzato per implementare un circuito + combinatorio\label{fig:multiplexer_combi}} +\end{figure} + +\subsection{Encoder e Decoder} + +\subsection{Circuiti di reset} +Un circuito di reset \`e un semplice dispositivo presentei i tutti i sistemi +digitali, in cui il compito \`e quello di fornire un impulso iniziale di reset +all'accensione (\emph{power up}) del sistema e ogni volta che sia necessari +azzerarlo e inizializzarlo daccapo. +% TODO: circuito di reset +\begin{figure}[H] + \centering + \placeholderfig{fig:circ:reset} + \caption{Circuito di reset\label{fig:circ:reset}} +\end{figure} + +\subsection{FlipFlops} +\subsubsection{Latch} +\subsubsection{FlipFlop RS} +\subsubsection{FlipFlop D} +\subsubsection{FlipFlop JK} +\subsubsection{FlipFlop Master / Slave} diff --git a/techwsw/tex/convertitori.tex b/techwsw/tex/convertitori.tex index 7f89574..2943b3f 100644 --- a/techwsw/tex/convertitori.tex +++ b/techwsw/tex/convertitori.tex @@ -1,4 +1,6 @@ -\section{Convertitori {\tt AD - DA}} +%!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 @@ -10,10 +12,11 @@ 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{Definito 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$ +\(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 @@ -23,8 +26,8 @@ digitale $2^n$ viene pertanto associato al valore di fondo scala $FS$ o $FSR$ \begin{tikzpicture}% \begin{axis}[ width=.5\linewidth, - xlabel = { Time $t$}, - ylabel = { Input (analog) ~ $v_a(t)$}, + xlabel = { Time \(t\)}, + ylabel = { Original ~ \(v_a(t)\)}, xmajorgrids = false, ymajorgrids = true, grid style = dashed, @@ -53,8 +56,8 @@ digitale $2^n$ viene pertanto associato al valore di fondo scala $FS$ o $FSR$ \begin{axis}[ % axis lines = left, width=.5\linewidth, - xlabel = { Time $t$}, - ylabel = { Output (digitalized)~ $v'_a(t)$}, + xlabel = { Time \(t\)}, + ylabel = { Reconstructed ~ \(v'_a(t)\)}, xmajorgrids = false, ymajorgrids = true, grid style = dashed, @@ -82,17 +85,17 @@ digitale $2^n$ viene pertanto associato al valore di fondo scala $FS$ o $FSR$ \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 +\(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$$ +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}}$$ +\[ \varepsilon = \frac{1}{2}Q \qquad \varepsilon_\% = \frac{1}{2^{n+1}} \] \subsection{Campionamento} Un altro concetto implicito nella conversione AD \`e quello di @@ -109,14 +112,14 @@ possibilit\`a di ricostruire fedelmente il segnale analogico originario. \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\) 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 $$ +\[ 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$. +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 @@ -125,11 +128,12 @@ alla frequenza $f_M$ ed attenuante alla frequenza di campionamento $f_c$. \def\ymax{5} \def\ymin{-30} \def\fw {200} + \begin{axis}[ width = \linewidth, height = 4cm, ylabel = {Attenuazione}, - xlabel = {Frequenza $f$}, + xlabel = {Frequenza \(f\)}, xticklabels = \empty, yticklabels = \empty, ymin = \ymin, ymax = \ymax, @@ -160,24 +164,24 @@ alla frequenza $f_M$ ed attenuante alla frequenza di campionamento $f_c$. \end{tikzpicture} \end{figure} -Bench\`e la frequenza di campionamento minima sia $f_c = 2f_M$, in pratica si +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 +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 +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 ) + \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}} \] @@ -190,15 +194,14 @@ processo di conversione il valore acquisito. \begin{figure}[H] \centering \placeholderfig{fig:circ:hs} - \caption{Circuito di sampling e hold} - \label{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 +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 +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. @@ -212,26 +215,25 @@ elaborazione o di trasmissione, si deve ricorre a tecniche di \`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})} +\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 +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. +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} + \caption{Convertitore a resistori pesati\label{fig:dac:wr}} \end{figure} -La corrente $I_f$ che si ottiene collegando e scollegando gli interruttori \`e +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} + + \frac{2^2 V_{ref}}{R}S_2 + \cdots + \frac{2^{n-1} V_{ref}}{R}S_{n-1} \] La tensione in uscita \`e generata dall'amplificatore \`e descrivibile quindi come: @@ -251,21 +253,20 @@ 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 +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 +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} + \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) + (2^{n-1} S_{n-1} + \cdots + 2^2S_2 + 2^1S_1 + 2^0S_0) \] In notazione ridotta: \[ @@ -287,14 +288,13 @@ 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} + \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) + (2^{n-1} S_{n-1} + \cdots + 2^2S_2 + 2^1S_1 + 2^0S_0) \] \subsubsection{Caratteristiche e parametri dei convertitori DA} @@ -303,7 +303,7 @@ 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. +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 @@ -349,20 +349,20 @@ 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 +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 ) +(generalmente) -\subsection{Convertitori analogico $\rightarrow$ digitale ({\tt AD})} +\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{Convertitore \(\Sigma\Delta \) (Sigma-Delta)} \subsubsection{Caratteristiche e parametri dei convertitori AD} \ No newline at end of file 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 diff --git a/techwsw/tex/memorie.tex b/techwsw/tex/memorie.tex index 375daa7..a9db737 100644 --- a/techwsw/tex/memorie.tex +++ b/techwsw/tex/memorie.tex @@ -1,8 +1,10 @@ -\section{Memorie} +%!TEX root = essence_of_hwsw.tex + +\section{Memorie a semiconduttore} \subsection{Definizione di memoria} Una memoria pu\`o essere definita come un sistema in grado di conservare delle -informazioni come per esempio un Hard-Disk, un libro o un DVD. In questo +informazioni come per esempio un Hard-Disk, un libro o un DVD\@. In questo capitolo sono analizzate solamente alcuni tipi di memoire dette \emph{memorie a semiconduttore}. In queste forme di memoria l'informazione \`e rappresentata da un livello di tensione (per esempio lo standard TTL) che come conseguenza @@ -22,15 +24,15 @@ Le memorie digitali possono essere classificate in base a vari criteri quali \subsection{Unit\`a di misura} In informatica in molti casi sono pi\`u importanti le potenze di 2 che le potenze di 10. Perci\`o oltre ai prefissi del sistema internazionale kilo (k) -$10^3$, mega (M) $10^6$, giga (G) $10^9$ sono stati aggiunti dalla commissione -europea IEC i prefissi kibi (Ki) $2^{10} = 1024^1$, mebi (Mi) $2^{20} = -1024^2$, gibi (Gi) $2^{30} = 1024^3$ ecc. +\(10^3\), mega (M) \(10^6\), giga (G) \(10^9\) sono stati aggiunti dalla commissione +europea IEC i prefissi kibi (Ki) \(2^{10} = 1024^1\), mebi (Mi) \(2^{20} = +1024^2\), gibi (Gi) \(2^{30} = 1024^3\) ecc. Naturalmente per\`o non essendo uno standard internazionale negli USA la commissione JEDEC utilizza un sistema differente. Lo standard americano modifica il significato dei simboli SI quando sono combinati con l'unit\`a Byte -(B). Quindi 1 KB = 1 KiB = $2^{10}$ Bytes, 1 MB = 1 MiB = $2^{20}$ Bytes, 1 GB -= 1 GiB = $2^{30}$ ecc. +(B). Quindi 1 KB = 1 KiB = \(2^{10}\) Bytes, 1 MB = 1 MiB = \(2^{20}\) Bytes, 1 GB += 1 GiB = \(2^{30}\) ecc. \begin{table}[H] \centering {\def\arraystretch{1.2} @@ -38,9 +40,9 @@ modifica il significato dei simboli SI quando sono combinati con l'unit\`a Byte \toprule Valore & Nome IEC & Simbolo IEC & Nome JEDEC & Simbolo JEDEC \\ \midrule -$2^{10} = 1024^1$ & KibiByte & KiB & KiloByte & KB \\ -$2^{20} = 1024^2$ & MebiByte & MiB & MegaByte & MB \\ -$2^{30} = 1024^3$ & GibiByte & GiB & GigaByte & GB \\ +\(2^{10} = 1024^1\) & KibiByte & KiB & KiloByte & KB \\ +\(2^{20} = 1024^2\) & MebiByte & MiB & MegaByte & MB \\ +\(2^{30} = 1024^3\) & GibiByte & GiB & GigaByte & GB \\ \bottomrule \end{tabular}} \caption{Riassunto delle unit\`a di misura} @@ -48,21 +50,36 @@ $2^{30} = 1024^3$ & GibiByte & GiB & GigaByte & GB \\ \subsection{Notazione} Le memorie vengono normalmente indicate con la seguente notazione. -$$ words~count \times word~size$$ -In cui $word~size$ indica la dimensione della parola, ovvero il numero di bit -utilizzato in uscita, mentre $words~count$ indica il numero di parole presenti. +\[ words~count \times word~size \] +In cui \(word~size\) indica la dimensione della parola, ovvero il numero di bit +utilizzato in uscita, mentre \(words~count\) indica il numero di parole presenti. Per esempio una memoria da 2 KiB (o 2KB secondo la notazione JEDEC) viene -indicata come memoria $2048\times 8$ bit. +indicata come memoria \(2048\times 8\) bit. \`E anche possibile indicare la dimensione con il numero di bit contenuti nella memoria. Sempre lo stesso esempio di una memoria da 2 KiB -si indica quindi con $16384$ bits oppure 16 K (che con lo standard JEDEC -corrisponde a $16 \cdot 1024 = 16384$). +si indica quindi con \(16384\) bits oppure 16 K (che con lo standard JEDEC +corrisponde a \(16 \cdot 1024 = 16384\)). + +\subsection{Conversione Decimale \(\leftrightarrow{}\) Esadecimale} +Per rappresentare graficamente le regioni di indirizzabili occupare da una +memoria si utilizza spesso dei diagrammi che rappresentano l'\emph{address +space}. Nell'address space per\`o normalmente si indica gli indirizzi in base +16 azich\`e 10, perci\`o \`e necessario convertire le grandezze di una memoria +indicate in base decimale in esadecimale. + +Consideriamo quindi un esempio di una memoria di 4 KiB all'indirizzo {\tt +2000h} di un address space a 16 bit. Per determinare quanto spazio +nell'address space viene occupato si deve trovare il numero di bits e poi +convertirlo in esadecimale. +\[ +4~{\rm KiB} = 4 \cdot 1024 \cdot 8 ~{\rm bit} = 16384 ~{\rm bit} = 4000 {\rm h} +\] \subsection{Read Only Memory ({\tt ROM})} La memoria ROM \`e un circuito combinatorio che fornisce in uscita una serie di -dati $Y_0\dotso Y_{m-1}$ in corrispondenza ad una serie di ingressi $A_0\dotso -A_{n-1}$. Con $n$ bit in ingresso si possono avere fino a $2^n$ celle di -dimensione $m$ in uscita. +dati \(Y_0\dotso Y_{m-1}\) in corrispondenza ad una serie di ingressi \(A_0\dotso +A_{n-1}\). Con \(n\) bit in ingresso si possono avere fino a \(2^n\) celle di +dimensione \(m\) in uscita. In questo tipo di memoria come implica il nome le informazioni vengono conservate permanentemente nella configurazione del circuito, siccome esse sono `bruciate' fisicamente nel circuito. @@ -73,10 +90,10 @@ conservate permanentemente nella configurazione del circuito, siccome esse sono \caption{Funzionamento di una ROM} \end{figure} -Per ogni indirizzo in $A$ corrisponde una riga che accende alcuni bit -sull'uscita $Y$ in base alle connessioni presenti tra le linee dei dati e le +Per ogni indirizzo in \(A\) corrisponde una riga che accende alcuni bit +sull'uscita \(Y\) in base alle connessioni presenti tra le linee dei dati e le linee delle parole. La connessione pu\`o essere costruita con differenti -metodi, creando quindi differenti tipi di ROM. La seguente tabella descrive +metodi, creando quindi differenti tipi di ROM\@. La seguente tabella descrive brevemente le caratteristiche di ognuna. \begin{table}[H] @@ -89,11 +106,13 @@ brevemente le caratteristiche di ognuna. ROM & Read Only Memory & Programmata in fabbrica \\ PROM & Programmable ROM & Programmabile dall'utente una volta sola, per sempre. La programmazione avviene bruciando dei fusibili. \\ -EPROM & Erasable PROM & Programmabile pi\`u volte dall'utente. \`E possibile +EPROM o UVPROM & Erasable PROM & Programmabile pi\`u volte dall'utente. \`E possibile cancellare il contenuto esponendo il chip ai raggi UV per 15 - 20 min. \\ EEPROM o E\textsuperscript{2}PROM & Electronically Erasable PROM & Programmabile pi\`u volte dall'utente, la memoria viene riscritta in pochi millisecondi utilizzando dei segnali elettrici. \\ +FLASH & & Si controlla il gate di un tipo di transistor CMOS, che resta + bloccato nella posizione anche in assenza di alimentazione. \\ \bottomrule \end{tabular}} \end{table} @@ -105,7 +124,7 @@ EEPROM o E\textsuperscript{2}PROM & Electronically Erasable PROM & In una memoria ad accesso casuale, o memoria RAM (Random Access Memory), una qualsiasi locazione \`e individuata da un numero (indirizzo o address) e il suo contenuto pu\`o essere letto o modificato in un intervallo di tempo -costante detto \emph{tempo di accesso} $t_a$. +costante detto \emph{tempo di accesso} \(t_a\). %% doc: 01c memorie principali.pdf % TODO: check @@ -136,6 +155,6 @@ mantenere le informazioni per un tempo indeterminato affinch\`e ci sia l'alimentazione. Gli svantaggi delle SRAM rispetto alle DRAM sono il consumo energetico (potenza dissipata) e la dimensione, che rendono la densit\`a di bit per unit\`a di area minore. Come vantaggio invece le SRAM tendono ad essere -pi\`u veloci delle DRAM. +pi\`u veloci delle DRAM\@. % \subsection{Indirizzamento sequenziale, 1D e 2D} diff --git a/techwsw/tex/memorie.tex.bak b/techwsw/tex/memorie.tex.bak new file mode 100644 index 0000000..b45243e --- /dev/null +++ b/techwsw/tex/memorie.tex.bak @@ -0,0 +1,149 @@ +\section{Memorie a semiconduttore} + +\subsection{Definizione di memoria} +Una memoria pu\`o essere definita come un sistema in grado di conservare delle +informazioni come per esempio un Hard-Disk, un libro o un DVD\@. In questo +capitolo sono analizzate solamente alcuni tipi di memoire dette \emph{memorie a +semiconduttore}. In queste forme di memoria l'informazione \`e rappresentata da +un livello di tensione (per esempio lo standard TTL) che come conseguenza +richiede un supporto fisico elettronico. + +\subsection{Classificazione delle memorie} +Le memorie digitali possono essere classificate in base a vari criteri quali +\begin{itemize} + \item Mantenimento dell'informazione senza l'uso di alimentazione: \\ + {\bf Volatili} o {\bf Non volatili} + \item Tempo di permanenza con l'alimentazione: \\ + {\bf Statiche} o {\bf Dinamiche} + \item Modalit\`a di accesso: \\ + {\bf Casuale} o {\bf Sequenziale} (o entrambe) +\end{itemize} + +\subsection{Unit\`a di misura} +In informatica in molti casi sono pi\`u importanti le potenze di 2 che le +potenze di 10. Perci\`o oltre ai prefissi del sistema internazionale kilo (k) +\(10^3\), mega (M) \(10^6\), giga (G) \(10^9\) sono stati aggiunti dalla commissione +europea IEC i prefissi kibi (Ki) \(2^{10} = 1024^1\), mebi (Mi) \(2^{20} = +1024^2\), gibi (Gi) \(2^{30} = 1024^3\) ecc. + +Naturalmente per\`o non essendo uno standard internazionale negli USA la +commissione JEDEC utilizza un sistema differente. Lo standard americano +modifica il significato dei simboli SI quando sono combinati con l'unit\`a Byte +(B). Quindi 1 KB = 1 KiB = \(2^{10}\) Bytes, 1 MB = 1 MiB = \(2^{20}\) Bytes, 1 GB += 1 GiB = \(2^{30}\) ecc. + +\begin{table}[H] +\centering {\def\arraystretch{1.2} +\begin{tabular}{ l l c l c } +\toprule +Valore & Nome IEC & Simbolo IEC & Nome JEDEC & Simbolo JEDEC \\ +\midrule +\(2^{10} = 1024^1\) & KibiByte & KiB & KiloByte & KB \\ +\(2^{20} = 1024^2\) & MebiByte & MiB & MegaByte & MB \\ +\(2^{30} = 1024^3\) & GibiByte & GiB & GigaByte & GB \\ +\bottomrule +\end{tabular}} +\caption{Riassunto delle unit\`a di misura} +\end{table} + +\subsection{Notazione} +Le memorie vengono normalmente indicate con la seguente notazione. +\[ words~count \times word~size \] +In cui \(word~size\) indica la dimensione della parola, ovvero il numero di bit +utilizzato in uscita, mentre \(words~count\) indica il numero di parole presenti. +Per esempio una memoria da 2 KiB (o 2KB secondo la notazione JEDEC) viene +indicata come memoria \(2048\times 8\) bit. +\`E anche possibile indicare la dimensione con il numero di bit +contenuti nella memoria. Sempre lo stesso esempio di una memoria da 2 KiB +si indica quindi con \(16384\) bits oppure 16 K (che con lo standard JEDEC +corrisponde a \(16 \cdot 1024 = 16384\)). + +\subsection{Conversione Decimale \(\leftrightarrow{}\) Esadecimale} +Per rappresentare graficamente le regioni di indirizzabili occupare da una +memoria si utilizza spesso dei diagrammi che rappresentano l'\emph{address +space}. +% TODO + +\subsection{Read Only Memory ({\tt ROM})} +La memoria ROM \`e un circuito combinatorio che fornisce in uscita una serie di +dati \(Y_0\dotso Y_{m-1}\) in corrispondenza ad una serie di ingressi \(A_0\dotso +A_{n-1}\). Con \(n\) bit in ingresso si possono avere fino a \(2^n\) celle di +dimensione \(m\) in uscita. +In questo tipo di memoria come implica il nome le informazioni vengono +conservate permanentemente nella configurazione del circuito, siccome esse sono +`bruciate' fisicamente nel circuito. + +\begin{figure}[H] + \centering + \includegraphics[width=\textwidth]{res/memorie/rom} + \caption{Funzionamento di una ROM} +\end{figure} + +Per ogni indirizzo in \(A\) corrisponde una riga che accende alcuni bit +sull'uscita \(Y\) in base alle connessioni presenti tra le linee dei dati e le +linee delle parole. La connessione pu\`o essere costruita con differenti +metodi, creando quindi differenti tipi di ROM\@. La seguente tabella descrive +brevemente le caratteristiche di ognuna. + +\begin{table}[H] +\centering { +\def\arraystretch{1.4}\tabcolsep=6pt +\begin{tabular}{>{\ttfamily}p{.12\textwidth} p{.28\textwidth} p{.5\textwidth}} +\toprule +\rmfamily Acronimo & Nome & Caratteristica \\ +\midrule +ROM & Read Only Memory & Programmata in fabbrica \\ +PROM & Programmable ROM & Programmabile dall'utente una volta sola, per sempre. + La programmazione avviene bruciando dei fusibili. \\ +EPROM o UVPROM & Erasable PROM & Programmabile pi\`u volte dall'utente. \`E possibile + cancellare il contenuto esponendo il chip ai raggi UV per 15 - 20 min. \\ +EEPROM o E\textsuperscript{2}PROM & Electronically Erasable PROM & + Programmabile pi\`u volte dall'utente, la memoria viene riscritta in pochi + millisecondi utilizzando dei segnali elettrici. \\ +FLASH & & Si controlla il gate di un tipo di transistor CMOS, che resta + bloccato nella posizione anche in assenza di alimentazione. \\ +\bottomrule +\end{tabular}} +\end{table} + +% che diamine erano? +% \subsection{Memorie non volatili ({\tt NVRWM})} + +\subsection{Random Access Memory ({\tt RAM})} +In una memoria ad accesso casuale, o memoria RAM (Random Access Memory), una +qualsiasi locazione \`e individuata da un numero (indirizzo o address) e +il suo contenuto pu\`o essere letto o modificato in un intervallo di tempo +costante detto \emph{tempo di accesso} \(t_a\). + +%% doc: 01c memorie principali.pdf +% TODO: check +\begin{figure}[H] + \centering + \includegraphics[width=\textwidth]{res/memorie/ram} + \caption{Metodo per accedere al contenuto di una memoria ad acesso casuale} +\end{figure} + +Quando viene richiesta un' operazione di lettura con il segnale {\tt R}, +l'indirizzo comanda il multiplexer per passare sull'uscita il dato contenuto +alla locazione richiesta. Nell'operazione di scrittura il segnale {\tt W} +abilita la scrittura del dato presente in ingresso nella cella indicata tramite +il demultiplexer. + +La RAM pu\`o essere di tipo \emph{statico} o \emph{dinamico}. Le {\tt SRAM} +(static RAM) sono dei flip-flops, mentre le {\tt DRAM} (dynamic RAM) sono dei +microcondensatori C-MOS nei quali 1 corrisponde al condensatore carico e 0 +corrisponde al condensatore scarico. + +\paragraph{La RAM dinamica ({\tt DRAM})} avendo un comportamento elettrico +tipico dei condensatori, essa \`e soggetta alla scarica, cio\`e tende a +perdere l'informazione contenuta, perci\`o necessitano di essere ricaricate +regolarmente con della circuiteria che esegue un \emph{refresh}. + +\paragraph{La RAM statica ({\tt SRAM})} essendo un FF, \`e in grado di +mantenere le informazioni per un tempo indeterminato affinch\`e ci sia +l'alimentazione. Gli svantaggi delle SRAM rispetto alle DRAM sono il consumo +energetico (potenza dissipata) e la dimensione, che rendono la densit\`a di +bit per unit\`a di area minore. Come vantaggio invece le SRAM tendono ad essere +pi\`u veloci delle DRAM\@. + +% \subsection{Indirizzamento sequenziale, 1D e 2D} diff --git a/techwsw/tex/trasmissione_seriale.tex b/techwsw/tex/trasmissione_seriale.tex index 5509bbf..6556b17 100644 --- a/techwsw/tex/trasmissione_seriale.tex +++ b/techwsw/tex/trasmissione_seriale.tex @@ -4,7 +4,7 @@ \subsection{Trasmissione seriale} Il sistema pi\`u semplice per la trasmissione di dati \`e un bus \emph{parallelo}. Con collegamento parallelo si designa la trasmissione -simultanea di $n$ bit. Questi bit sono inviati simultaneamente su $n$ vie +simultanea di \(n\) bit. Questi bit sono inviati simultaneamente su \(n\) vie differenti (una via può essere ad esempio un filo, un cavo o qualsiasi altro supporto fisico). @@ -27,10 +27,17 @@ di eseguire il processo inverso a livello del ricevente. \end{table} %----------------------------------------------------------------------------- -\subsection{USART e RS232 / RS485} +\subsection{RS232} Il protocollo RS232 \`e uno standard definito negli anni `60 dall'EIA (Electronic industries Association) originariamente per essere utilizzato dai modem. Il protocollo \`e implementa una trasmissione \emph{full duplex}. +\begin{figure}[h] +\begin{tikzpicture} + +\end{tikzpicture} +\end{figure} +\subsubsection{RS422} +\subsubsection{RS485} %----------------------------------------------------------------------------- \subsection{Inter-Integrated Circuit (I\textsuperscript{2}C)} @@ -54,8 +61,7 @@ implementano una funzione specifica di una periferica (Esempio: Tastiera USB). \begin{figure}[H] \centering \placeholderfig{fig:usb:network} - \caption{Struttura della rete USB} - \label{fig:usb:network} + \caption{Struttura della rete USB\label{fig:usb:network}} \end{figure} Il primo Hub al Tier 1, \`e detto \emph{Root Hub}. Dal Tier 2 al Tier 6 sono ammessi nodi di qualsiasi tipo, mentre all'ultimo Tier (7) possono essere @@ -78,7 +84,7 @@ USB 3.1 & Luglio 2012 & SuperSpeed+ & 10 GBit/s \\ USB 3.2 & Settembre 2017 & SuperSpeed+ & 20 GBit/s \\ \bottomrule \end{tabular} -\caption{Specifiche dell'USB \cite{wiki:usb}} +\caption{Specifiche dell'USB\cite{wiki:usb}} \end{table} \subsubsection{Connettore} \ No newline at end of file diff --git a/techwsw/tex/trasmissione_seriale.tex.bak b/techwsw/tex/trasmissione_seriale.tex.bak new file mode 100644 index 0000000..dcc48be --- /dev/null +++ b/techwsw/tex/trasmissione_seriale.tex.bak @@ -0,0 +1,91 @@ +\section{Trasmissione di dati seriale} + +%----------------------------------------------------------------------------- +\subsection{Trasmissione seriale} +Il sistema pi\`u semplice per la trasmissione di dati \`e un bus +\emph{parallelo}. Con collegamento parallelo si designa la trasmissione +simultanea di $n$ bit. Questi bit sono inviati simultaneamente su $n$ vie +differenti (una via può essere ad esempio un filo, un cavo o qualsiasi altro +supporto fisico). + +In contrapposizione in una trasmissione \emph{seriale} i dati sono inviati bit +per bit sulla via di trasmissione. Tuttavia, dato che la maggior parte dei +dispositivi processa le informazioni in modo parallelo, si tratta di +serializzare i dati che arrivano in modo parallelo a livello dell'emittente, e +di eseguire il processo inverso a livello del ricevente. + +\subsubsection{Tipi di trasmissione seriale} +\begin{table}[H] +\centering +\begin{tabular}{>{\tt}l l} + \toprule + SIMPLEX & Trasmissione Unidirezionale \\ + HALF DUPLEX & Trasmissione bidirezionale alternata (uno alla volta) \\ + FULL DUPLEX & Trasmissione bidirezionale contemporanea\\ + \bottomrule +\end{tabular} +\end{table} + +%----------------------------------------------------------------------------- +\subsection{RS232} +Il protocollo RS232 \`e uno standard definito negli anni `60 dall'EIA +(Electronic industries Association) originariamente per essere utilizzato dai +modem. Il protocollo \`e implementa una trasmissione \emph{full duplex}. +\begin{figure}[h] +\begin{tikzpicture} + +\end{tikzpicture} +\end{figure} +\subsubsection{RS422} +\subsubsection{RS485} + +%----------------------------------------------------------------------------- +\subsection{Inter-Integrated Circuit (I\textsuperscript{2}C)} + +%----------------------------------------------------------------------------- +\subsection{Serial Peripheral Interface Bus (SPI)} + +%----------------------------------------------------------------------------- +\subsection{Universal Serial Bus (USB)} +L'\emph{Universal Serial Bus}, \`e un interfaccia standard industriale per la +comunicazione seriale sviluppata negli anni '90, con l'obiettivo di unificare +in un protocollo e connettore unico la comunicazione, alimentazione e +connessione tra periferiche e computers. + +\subsubsection{Struttura della rete USB} +La rete USB \`e una struttura ad albero (grafo) in grado di estendersi fino a 7 +livelli (tiers). I nodi di questa struttura ad albero possono essere +\emph{Hubs} o \emph{Functions}; I Hubs hanno la funzione di estendere la rete, +potendo collegare nuovi dispositivi in un nuovo Tier, mentre i nodi Functions +implementano una funzione specifica di una periferica (Esempio: Tastiera USB). +\begin{figure}[H] + \centering + \placeholderfig{fig:usb:network} + \caption{Struttura della rete USB} + \label{fig:usb:network} +\end{figure} +Il primo Hub al Tier 1, \`e detto \emph{Root Hub}. Dal Tier 2 al Tier 6 sono +ammessi nodi di qualsiasi tipo, mentre all'ultimo Tier (7) possono essere +collegati unicamente nodi Functions. + +\subsubsection{Enumerazione e configurazione} + +\subsubsection{Versioni e specifiche} +\begin{table}[H] +\centering +\begin{tabular}{ l r l r} +\toprule +Versione & Anno di rilascio & Nome & Velocit\`a massima \\ +\midrule +USB 1.0 & Gennaio 1996 & Low Speed & 1.5 MBit/s \\ +USB 1.1 & Agosto 1998 & Full Speed & 12 MBit/s \\ +USB 2.0 & Aprile 2000 & High Speed & 480 MBit/s \\ +USB 3.0 & Novembre 2008 & SuperSpeed & 5 GBit/s \\ +USB 3.1 & Luglio 2012 & SuperSpeed+ & 10 GBit/s \\ +USB 3.2 & Settembre 2017 & SuperSpeed+ & 20 GBit/s \\ +\bottomrule +\end{tabular} +\caption{Specifiche dell'USB \cite{wiki:usb}} +\end{table} + +\subsubsection{Connettore} \ No newline at end of file -- cgit v1.2.1