\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{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}