From 6247dcaa9f30c34a5c135c5fcccf56d91fd8c015 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Thu, 2 Nov 2017 22:07:40 +0100 Subject: Start serial and AD/DA converters chapter and minor corrections --- techwsw/build/essence_of_hwsw.pdf | Bin 96442 -> 109127 bytes techwsw/essence_of_hwsw.tex | 9 +- techwsw/makefile | 2 +- techwsw/res/cc-logo.pdf | Bin 3691 -> 3693 bytes techwsw/res/license_logo_cc-by-sa.pdf | Bin 4301 -> 4303 bytes techwsw/res/memorie/ram.pdf | Bin 20425 -> 20431 bytes techwsw/res/memorie/rom.pdf | Bin 14913 -> 14910 bytes techwsw/res/seriale/parallel_serial.pdf | Bin 0 -> 992 bytes techwsw/res/seriale/parallel_serial.svg | 68 ++++++++++++++++ techwsw/tex/convertitori.tex | 32 ++++++++ techwsw/tex/memorie.tex | 140 ++++++++++++++++---------------- techwsw/tex/trasmissione_seriale.tex | 14 +++- 12 files changed, 189 insertions(+), 76 deletions(-) create mode 100644 techwsw/res/seriale/parallel_serial.pdf create mode 100644 techwsw/res/seriale/parallel_serial.svg diff --git a/techwsw/build/essence_of_hwsw.pdf b/techwsw/build/essence_of_hwsw.pdf index 127fd0d..c426ee9 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.tex b/techwsw/essence_of_hwsw.tex index 501ebe2..1b929ec 100644 --- a/techwsw/essence_of_hwsw.tex +++ b/techwsw/essence_of_hwsw.tex @@ -2,17 +2,18 @@ % math \usepackage{amsmath} - % figures \usepackage{float} \usepackage{graphicx} - +% foonotes +\usepackage[bottom]{footmisc} % tables \usepackage{array} - % language \usepackage[italian]{babel} - +% encoding / fonts +\usepackage[T1]{fontenc} +% urls \usepackage{url} \title{Hardware e Software} diff --git a/techwsw/makefile b/techwsw/makefile index 240e907..eafadcf 100644 --- a/techwsw/makefile +++ b/techwsw/makefile @@ -3,7 +3,7 @@ BUILD_DIR := build DOCUMENT := essence_of_hwsw.tex # tex settings -TEX := xelatex \ +TEX := texfot xelatex \ -interaction=nonstopmode \ -halt-on-error \ -output-directory=$(BUILD_DIR) diff --git a/techwsw/res/cc-logo.pdf b/techwsw/res/cc-logo.pdf index 028264b..049c28b 100644 Binary files a/techwsw/res/cc-logo.pdf and b/techwsw/res/cc-logo.pdf differ diff --git a/techwsw/res/license_logo_cc-by-sa.pdf b/techwsw/res/license_logo_cc-by-sa.pdf index c23c1c0..46bd5fc 100644 Binary files a/techwsw/res/license_logo_cc-by-sa.pdf and b/techwsw/res/license_logo_cc-by-sa.pdf differ diff --git a/techwsw/res/memorie/ram.pdf b/techwsw/res/memorie/ram.pdf index 0700a01..abfb8c5 100644 Binary files a/techwsw/res/memorie/ram.pdf and b/techwsw/res/memorie/ram.pdf differ diff --git a/techwsw/res/memorie/rom.pdf b/techwsw/res/memorie/rom.pdf index d83593c..50eb313 100644 Binary files a/techwsw/res/memorie/rom.pdf and b/techwsw/res/memorie/rom.pdf differ diff --git a/techwsw/res/seriale/parallel_serial.pdf b/techwsw/res/seriale/parallel_serial.pdf new file mode 100644 index 0000000..da4dddf Binary files /dev/null and b/techwsw/res/seriale/parallel_serial.pdf differ diff --git a/techwsw/res/seriale/parallel_serial.svg b/techwsw/res/seriale/parallel_serial.svg new file mode 100644 index 0000000..4b8f402 --- /dev/null +++ b/techwsw/res/seriale/parallel_serial.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/techwsw/tex/convertitori.tex b/techwsw/tex/convertitori.tex index e600f0e..742d1f9 100644 --- a/techwsw/tex/convertitori.tex +++ b/techwsw/tex/convertitori.tex @@ -1,6 +1,38 @@ \section{Convertitori {\tt AD - 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{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$ (Full +scale range) della grandezza analogica. + +\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}$}. +$$ 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}}$$ + +% TODO: diagramma segnale analogico lineare -> digitalizzato + \subsection{Sampling and Hold (Circuiti SH)} \subsection{Convertitori digitale $\rightarrow$ analogico ({\tt DA})} diff --git a/techwsw/tex/memorie.tex b/techwsw/tex/memorie.tex index 9723e07..8689e1b 100644 --- a/techwsw/tex/memorie.tex +++ b/techwsw/tex/memorie.tex @@ -1,35 +1,36 @@ \section{Memorie} \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. +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) + \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. Esso modifica il significato -dei simboli SI quando essi 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. +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} @@ -52,43 +53,45 @@ In cui $word~size$ indica la dimensione della parola, ovvero il numero di bits 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$ bits. +\`E anche possibile indicare la dimensione con il numero di bits +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{Memorie a sola lettura} -\subsubsection{Read Only Memory ({\tt ROM})} - +\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 nomele informazioni vengono conservate -permanentemente nella configurazione del circuito, siccome esso sono costituite -da un decodificatore ed un codificatore. +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} +\begin{figure}[H] + \centering + \includegraphics[width=\textwidth]{res/memorie/rom} \end{figure} -Ogni indirizzo in $A$ corrisponde una riga che accende i 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 componenti, creando quindi -differenti tipi di ROM. +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 +componenti, creando quindi differenti tipi di ROM. La seguente tabella descrive +brevemente le caratteristiche di ogniuna. \begin{table}[H] \centering {\def\arraystretch{1.5}\tabcolsep=6pt -\begin{tabular}{ >{\ttfamily}p{.12\textwidth} p{.28\textwidth} p{.5\textwidth} } +\begin{tabular}{>{\ttfamily}p{.12\textwidth} p{.28\textwidth} p{.5\textwidth}} \hline \rmfamily Acronimo & Nome & Caratteristica \\ \hline ROM & Read Only Memory & Programmata in fabbrica \\ PROM & Programmable ROM & Programmabile dall'utente una volta sola, per sempre. - La programmazione avviene bruciando dei fusibili. \\ + La programmazione avviene bruciando dei fusibili. \\ EPROM & 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. \\ + 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. \\ \hline \end{tabular}} \end{table} @@ -96,38 +99,39 @@ EEPROM o E\textsuperscript{2}PROM & Electronically Erasable PROM & Programmabile % che diamine erano? % \subsection{Memorie non volatili ({\tt NVRWM})} -\subsection{Memorie a scrittura e lettura} -\subsubsection{Random Access Memory ({\tt RAM})} - +\subsection{Random Access Memory ({\tt RAM})} In una memoeria ad acesso 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 -\begin{figure}[h!] - \centering - \includegraphics[width=\textwidth]{res/memorie/ram} +\begin{figure}[H] + \centering + \includegraphics[width=\textwidth]{res/memorie/ram} \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 -condenstatori, 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 indeterminao affinch\`e ci sia l'alimentazione. Gli -svantaggi delle SRAM rispetto alle DRAM sono dal consumo energetico (potenza -dissipata) e la dimensisone, 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. \ No newline at end of file +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 condenstatori, 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 indeterminao affinch\`e ci sia +l'alimentazione. Gli svantaggi delle SRAM rispetto alle DRAM sono il consumo +energetico (potenza dissipata) e la dimensisone, 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 9d1c92c..b63431c 100644 --- a/techwsw/tex/trasmissione_seriale.tex +++ b/techwsw/tex/trasmissione_seriale.tex @@ -1,11 +1,19 @@ \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). -\subsection{Tipi di Bus seriali} +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. \subsection{USART e RS232 / RS485} \subsection{Inter-Integrated Circuit (I\textsuperscript{2}C)} \subsection{Serial Peripheral Interface Bus (SPI)} \subsection{Universal Serial Bus (USB)} - -\subsection{Trasmissione parallela (non seriale)} \ No newline at end of file -- cgit v1.2.1