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