Write introduction for com num

This commit is contained in:
flyingscorpio@clevo 2022-04-02 11:48:02 +02:00
parent 6026955ca7
commit 774cd872ab

View file

@ -7,6 +7,7 @@
\usepackage{styles}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usepackage{circuitikz}
\DeclareFontFamily{U}{wncy}{}
\DeclareFontShape{U}{wncy}{m}{n}{<->wncyr10}{}
@ -20,41 +21,97 @@
\clearpage
\section{Transmission synchrone / asynchrone}
\section{Introduction}
\subsection{Transmission synchrone}
\subsection{Transmission synchrone / asynchrone}
À la réception, l'horloge regénérée définit la cadence.
Les transitions de l'horloge coïncident avec celle des données constituées d'un flux ininterrompu de bits.
\subsubsection{Transmission synchrone}
% TODO: add example
À la réception, l'horloge regénérée définit la cadence.
Les transitions de l'horloge coïncident avec celle des données constituées d'un flux ininterrompu de bits.
\subsection{Transmission asynchrone}
\begin{center}
\begin{tikzpicture}[scale=1, transform shape]
\foreach \i in {1,2,3,4,6,7,8,9}{\draw [dashed] (\i,-2.7) -- (\i,0.7);}
\foreach \i in {0,5,10}{\draw [dashed,very thick] (\i,-3) -- (\i,0.7);}
\node at (-1.5,0) {\parbox{2cm}{\centering Horloge regénérée}};
\draw [-latex] (0,0) -- (11,0);
\node at (-1.5,-2) {\parbox{2cm}{\centering Données synchrones}};
\draw [-latex] (0,-2) -- (11,-2);
\foreach \i in {0,1,...,9}{
\draw [red,very thick] (\i,0.5) -- (\i+0.5,0.5) -- (\i+0.5,0) -- (\i+1,0) -- (\i+1,0.5);
}
\draw [red,very thick]
(0,-2) -- (1,-2) --
(1,-1.5) -- (3,-1.5) --
(3,-2) -- (4,-2) --
(4,-1.5) -- (5,-1.5) --
(5,-2) -- (7,-2) --
(7,-1.5) -- (10,-1.5) -- (10,-2)
;
\foreach \i in {0,3,5,6}{\node at (\i+0.5,-2.4) {0};}
\foreach \i in {1,2,4,7,8,9}{\node at (\i+0.5,-2.4) {1};}
À la réception, l'arrivée des données \emph{démarre} l'horloge.
La transition initiale d'un paquet de données de longueur déterminée définit la transition initiale de l'horloge.
À la fin du paquet de données, cette horloge s'interrompt.
\node at (2.5,-3) {1\up{er} caractère};
\node at (7.5,-3) {2\up{ème} caractère};
\end{tikzpicture}
\end{center}
% TODO: add example
\subsubsection{Transmission asynchrone}
Pour ``réveiller'' le récepteur, l'émetteur émet une trame de \emph{wake up}.
En effet, le récepteur, pour économiser des resources, écoute de temps en temps.
À la réception, l'arrivée des données \emph{démarre} l'horloge.
La transition initiale d'un paquet de données de longueur déterminée définit la transition initiale de l'horloge.
À la fin du paquet de données, cette horloge s'interrompt.
À la réception d'une trame de \emph{wake up}, elle doit se mettre en place, ce qui peut prendre du temps.
Elle reçoit donc une trame \emph{sync word}, après laquelle elle s'attend à recevoir le premier bit de charge utile (\emph{payload}).
\begin{center}
\begin{tikzpicture}[scale=1, transform shape]
\node (d) at (-1.5,0.5) {Données};
\draw (0,1) -- (2,1) -- (2,0) node[currarrow,pos=0.5,sloped] {}
-- (4,0) -- (4,1) -- (5,1) -- (5,0) -- (6,0) -- (6,1) -- (8,1)
;
\draw [dashed] (8,1) -- (9,1);
\draw (9,1) -- (10,1) -- (10,0) node[currarrow,pos=0.5,sloped] {} -- (11,0);
Même à fréquence identique, l'horloge d'émission (période de $T$) et l'horloge à la réception (période de $T + \Delta T$) ne sont jamais complètement identiques.
\node (h) at (-1.5,-1.25) {Horloge};
\draw (0,-1.5) -- (2,-1.5) -- (2,-1) node[currarrow,pos=0.5,sloped] {};
\foreach \i in {2,3,...,6}{
\draw (\i,-1) -- (\i+0.5,-1) -- (\i+0.5,-1.5) -- (\i+1,-1.5);
}
\foreach \i in {3,4,5,6}{
\draw (\i,-1.5) -- (\i,-1);
}
\draw (7,-1.5) -- (8,-1.5);
\draw [dashed] (8,-1.5) -- (9,-1.5);
\draw (9,-1.5) -- (10,-1.5) -- (10,-1) node[currarrow,pos=0.5,sloped] {};
\foreach \i in {10,11}{
\draw (\i,-1) -- (\i+0.5,-1) -- (\i+0.5,-1.5) -- (\i+1,-1.5);
}
\draw (11,-1.5) -- (11,-1);
\path
(1.8,0.5) edge [->,>=latex,bend right] (1.8,-1.25)
(9.8,0.5) edge [->,>=latex,bend right] (9.8,-1.25)
;
\end{tikzpicture}
\end{center}
Ce décalage s'accumule au fil du temps, ce qui est gênant.
Quand on échantillonne les bits reçus, on va avoir deux cas~:
Pour ``réveiller'' le récepteur, l'émetteur émet une trame de \emph{wake up}.
En effet, le récepteur, pour économiser des resources, écoute de temps en temps.
\begin{enumerate}
\item $\Delta T > 0$~: on va perdre des bits à l'échantillonnage.
\item $\Delta T < 0$~: on va échantillonner plusieurs fois le même bit.
\end{enumerate}
À la réception d'une trame de \emph{wake up}, elle doit se mettre en place, ce qui peut prendre du temps.
Elle reçoit donc une trame \emph{sync word}, après laquelle elle s'attend à recevoir le premier bit de charge utile (\emph{payload}).
Si on envoie peu de bits (8 bits $< \Delta T$), ce problème est négligeable.
Il faut donc synchroniser les horloges tous les 8 bits.
Même à fréquence identique, l'horloge d'émission (période de $T$) et l'horloge à la réception (période de $T + \Delta T$) ne sont jamais complètement identiques.
Ce décalage s'accumule au fil du temps, ce qui est gênant.
Quand on échantillonne les bits reçus, on va avoir deux cas~:
\begin{enumerate}
\item $\Delta T > 0$~: on va perdre des bits à l'échantillonnage.
\item $\Delta T < 0$~: on va échantillonner plusieurs fois le même bit.
\end{enumerate}
Si on envoie peu de bits (8 bits $< \Delta T$), ce problème est négligeable.
Il faut donc synchroniser les horloges tous les 8 bits.
\section{Structure générale d'une chaîne de transmission numérique}