diff --git a/compte_rendu.pdf b/compte_rendu.pdf index bba6f8e..0eebcfb 100644 Binary files a/compte_rendu.pdf and b/compte_rendu.pdf differ diff --git a/compte_rendu.tex b/compte_rendu.tex index c889089..1fbe6f3 100644 --- a/compte_rendu.tex +++ b/compte_rendu.tex @@ -8,7 +8,7 @@ \usepackage{diagbox} \usepackage{timing} \geometry{top=2cm, bottom=2cm, left=2cm, right=2cm} -\title{Étude de laboratoire - SLEA} +\title{Étude de laboratoire \\ SLEA} \author{Binôme A11 \\ \bsc{Simon} Léo, \bsc{Levy--Falk} Hugo \\ Supélec, promo 2020} \date{\today} @@ -20,6 +20,26 @@ \part{Objectifs de ce TL} +L'objectif de cette étude de laboratoire est la réalisation d'un chronomètre basique. Elle se découpe entre une étude préliminaire et la réalisation à proprement parler du chronomètre. + +L'étude préliminaire permet de prendre en main le logiciel qui permettra la réalisation du chronomètre. + +On dispose d'un cahier des charges pour le chronomètre. Celui-ci est constitué entre autre de deux boutons poussoirs et de deux afficheurs 7 segments. On souhaite que : +\begin{itemize} + \item Chaque appui sur \verb|START/STOP| permette de commuter entre le mode comptage (affichage du temps sur deux digits : secondes et dixièmes de seconde) et le mode arrêt (affichage du temps mémorisé); + \item Un appui sur \verb|RESET| remette l'afficheur à zéro. Cette fonction doit pouvoir être activée à tout moment et maintenir l'affichage à zéro. +\end{itemize} + +Pour réaliser cela, on propose un découpage tel que montré par la figure \ref{fig:structure1}. +\begin{figure}[h!] + \centering + \includegraphics[width=1\linewidth]{images/structure} + \caption{Découpage du projet.} + \label{fig:structure1} +\end{figure} + +On consacrera donc une partie au traitement des boutons poussoirs, une au diviseur de fréquence et une au séquenceur et au chemin de donnée. + \clearpage \part{Étude préliminaire} @@ -123,6 +143,18 @@ On programme la carte et on vérifie le fonctionnement en changeant l'état des Afin de détecter l'appui sur un bouton poussoir, on réalise un traitement de l'entrée associée. En effet il faut d'abord éliminer un éventuel bruit créé par les rebonds créés lors du changement de l'état du bouton et synchroniser le signal avec celui de l'horloge afin d'obtenir le signal \verb|BPS|. Cette partie est réalisée avec une bascule D (on suppose donc que le bruit dure moins d'une période d'horloge). On souhaite ensuite passer la sortie à l'état haut pendant une période d'horloge sur front montant de \verb|BPS|. On se propose de synthétiser cette partie avec une machine de \bsc{Moore} puis avec une machine de \bsc{Mealy}. +On remarquera que du fait du câblage des boutons (figure \ref{fig:elecbouton}), un appui sur un bouton se traduira par le passage à l'état bas de l'entrée correspondante. + +NOTE : ça apparaît pas dans les schémas qui suivent, il faut aller vérifier que ça y est dans les fichiers de simulation + +\begin{figure}[h!] + \centering + \includegraphics[width=0.5\linewidth]{images/elec_bouton} + \caption{} + \label{fig:elecbouton} +\end{figure} + + \section{Synthèse avec une machine de \bsc{Moore}} \begin{figure}[h!] \centering @@ -402,6 +434,7 @@ Enfin, on vérifie que le fonctionnement est celui attendu par simulation, ce qu \label{fig:chronoBpMealy} \end{figure} +\clearpage \part{Diviseur de fréquence} Le quartz de la carte délivre un signal d'horloge à 27.175MHz. On souhaite baisser cette fréquence à 100Hz afin de faciliter le comptage pour le chronomètre et d'offrire une expérience proche du temps réel à l'utilisateur. @@ -545,9 +578,9 @@ On souhaite réaliser le chemin de données du chronomètre. Cette partie devra \label{fig:opSchema} \end{figure} -Pour réaliser le décompte du temps, on utilise une association de compteurs similaire à celle du diviseur de fréquence. Le composant utilisé est le 74168. On utilise 3 compteurs afin d'obtenir le décompte des centièmes de secondes (non affiché), des dixièmes de secondes et des secondes. On utilise des décodeurs 7446 pour piloter les afficheurs 7 segments. Le décompte est autorisé par le passage à l'état bas de l'entrée COUNT du chemin de données (reliée à ENTN et ENPN du premier compteur 74168). On peut réinitialiser la valeur du chronomètre en passant l'entrée RESET à l'état bas (reliée au chargement parallèle des compteurs). On obtient le schéma de la figure \ref{fig:opSchema}. +Pour réaliser le décompte du temps, on utilise une association de compteurs similaire à celle du diviseur de fréquence. Le composant utilisé est le \verb|74168|. On utilise 3 compteurs afin d'obtenir le décompte des centièmes de secondes (non affiché), des dixièmes de secondes et des secondes. On utilise des décodeurs \verb|7446| pour piloter les afficheurs 7 segments. Le décompte est autorisé par le passage à l'état bas de l'entrée \verb|COUNT| du chemin de données (reliée à \verb|ENTN| et \verb|ENPN| du premier compteur 74168). On peut réinitialiser la valeur du chronomètre en passant l'entrée \verb|RESET| à l'état bas (reliée au chargement parallèle des compteurs). On obtient le schéma de la figure \ref{fig:opSchema}. -Afin de tester cette partie du montage, on introduit dans le bloc l'horloge à 100Hz réalisée précédemment et on fixe les valeurs de COUNT et RESET. Après téléchargement sur la carte, on vérifie que l'on obtient bien un décompte des secondes et des dixièmes de secondes (figure \ref{fig:opReal}). +Afin de tester cette partie du montage, on introduit dans le bloc l'horloge à 100Hz réalisée précédemment et on fixe les valeurs de \verb|COUNT| et \verb|RESET|. Après téléchargement sur la carte, on vérifie que l'on obtient bien un décompte des secondes et des dixièmes de secondes (figure \ref{fig:opReal}). \begin{figure}[h!] \centering @@ -558,10 +591,10 @@ Afin de tester cette partie du montage, on introduit dans le bloc l'horloge à 1 \section{Séquenceur} -On souhaite maintenant réaliser le séquenceur. Il prendra deux entrées : $SPB1$ et $SBP2$, et deux sorties : $COUNT$ et $RESET$ qui viendrons s'interfacer avec le chemin de données. On cherche le comportement suivant: +On souhaite maintenant réaliser le séquenceur. Il prendra deux entrées : \verb|SPB1| et \verb|SBP2|, et deux sorties : \verb|COUNT| et \verb|RESET| qui viendrons s'interfacer avec le chemin de données. On cherche le comportement suivant: \begin{itemize} - \item Si l'on appuie sur $BP1$ le signal $RESET$ est actif (passage à zéro); - \item Le bouton $BP2$ permet de naviguer entre les modes comptage et décomptage (passage de $COUNT$ à 1 ou 0). + \item Si l'on appuie sur \verb|BP1| le signal \verb|RESET| est actif (passage à zéro); + \item Le bouton \verb|BP2| permet de naviguer entre les modes comptage et décomptage (passage de \verb|COUNT| à 1 ou 0). \end{itemize} On synthétise ce comportement en une machine de \bsc{Mealy} comme le montre le graphe des états en figure \ref{fig:automateSeq}. @@ -655,7 +688,16 @@ Enfin on réalise le montage sur Quartus (figure \ref{fig:sequenceur}) et on le \end{figure} \clearpage \part{Réalisation du chronomètre} -En assemblant les éléments synthétisés dans les parties précédentes, on obtient le schéma de la figure \ref{fig:chrono}. +En assemblant les éléments synthétisés dans les parties précédentes selon ce qui est proposé dans le sujet (figure \ref{fig:structure}), on obtient le schéma de la figure \ref{fig:chrono}. + +\begin{figure}[h!] + \centering + \includegraphics[width=1\linewidth]{images/structure} + \caption{Structure du chronomètre} + \label{fig:structure} +\end{figure} + + \begin{figure}[h!] \centering \includegraphics[width=\linewidth]{images/chrono} @@ -663,7 +705,14 @@ En assemblant les éléments synthétisés dans les parties précédentes, on ob \label{fig:chrono} \end{figure} -En téléversant le schéma sur la carte on vérifié que l'on obtient bien le comportement recherché. +En téléversant le schéma sur la carte on vérifié que l'on obtient bien le comportement recherché : +\begin{itemize} + \item Un appui sur \verb|START/STOP| arrête ou démarre le chronomètre; + \item Un appui sur \verb|RESET| arrête le chronomètre et le remet à zéro; + \item Le chronomètre compte 10 secondes et se réinitialise, en affichant les secondes et les dixièmes de seconde; + \item Le point le point lumineux entre les secondes et les dixièmes de secondes et affiché. +\end{itemize} +On a donc répondu au cahier des charges, ce qui conclue cette étude. \clearpage \listoffigures diff --git a/images/elec_bouton.png b/images/elec_bouton.png new file mode 100644 index 0000000..935d7a3 Binary files /dev/null and b/images/elec_bouton.png differ diff --git a/images/structure.png b/images/structure.png new file mode 100644 index 0000000..d8ea568 Binary files /dev/null and b/images/structure.png differ