From 7a386cba0bfbce03c3020d943a15b7ccec41970e Mon Sep 17 00:00:00 2001 From: galmes Date: Tue, 20 Apr 2004 12:39:39 +0000 Subject: interrupt : correction d'erreurs. --- 2004/n/fpga/doc/dcd/interrupt/interrupt.tex | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to '2004/n/fpga') diff --git a/2004/n/fpga/doc/dcd/interrupt/interrupt.tex b/2004/n/fpga/doc/dcd/interrupt/interrupt.tex index fe63820..a4adce7 100644 --- a/2004/n/fpga/doc/dcd/interrupt/interrupt.tex +++ b/2004/n/fpga/doc/dcd/interrupt/interrupt.tex @@ -5,7 +5,6 @@ Voici les contraintes du bloc de gestion des interruptions : \begin{itemize} \item{Gestion de 24 interruptions différentes} \item{Transmission des interruptions par bloc de 8 bits} -\item{Un signal de RAZ} \end{itemize} @@ -31,13 +30,14 @@ lui transmettre. On pourra voir la figure \ref{entity_interrupt} page Du point de vue comportemental, son fonctionnement est le suivant. Dans le fonctionnement d'un robot, nombre d'évênements sont asynchrones. Pour signaler qu'un évênement s'est produit, le module génêre ce que l'on appel une -interruption. Le gestionnaire d'interruption aura pour but de prévenir qu'une -ou plusieurs interruptions se sont produitent et de permettre à l'ordinateur -d'identifier les modules ayant généré cette ou ces interruptions. +interruption. Le gestionnaire d'interruption aura pour but de prévenir +l'ordinateur qu'une ou plusieurs interruptions se sont produitent et de +permettre à l'ordinateur d'identifier les modules ayant généré cette ou ces +interruptions. Chaque bloc ayant un fil d'interruption le relie au gestionnaire d'interruption. Lorsqu'un bloc génère une interruption, celle-ci arrive au -gestionnaire d'interruption. Pour la générer, le bloc aura mis une ligne à +gestionnaire d'interruptions. Pour la générer, le bloc aura mis une ligne à l'état haut et conservera cet état haut, tant que l'ordinateur n'aura pas traité la dite interruption. @@ -79,7 +79,7 @@ et de 3 bloc three-state Son fonctionnement interne est donc le suivant. Lorsqu'une interruption arrive sur un des blocs, un signal IRQ est généré par les blocs OR. Lorsque le PC désire consulter qui a généré une interruption, il active successivement les -blocs three-state qui passent alors d'un état haute impédance à un état dans +blocs three-state qui passent alors d'un état haute-impédance à un état dans lequel sont recopiées en sortie les entrées. @@ -89,7 +89,7 @@ lequel sont recopi \subsubsection{Les blocs OU logiques : OR3 et OR8} Ces deux blocs sont relativement simples puisque leur seule fonction est -d'effectuer des OU logiques. La première version effectue un ou entre trois +d'effectuer des OU logiques. La première version effectue un OU entre trois entrées, la deuxième version entre 8 entrées. Le code correspondant au bloc OR3 se trouve en annexe~\ref{sec:or3} @@ -101,9 +101,9 @@ page~\pageref{sec:or8}. \subsubsection{Le bloc trois-états : tristate} Dans ce module, nous avons besoin de pouvoir écrire des données sur un bus. -Pour cela, il faut que l'on puisse mettre les pattes à l'état haute-impédance. -Un composant nommé \textit{tristate} est utilisé. L'entity de ce module est la -suivante : +Pour cela, il faut que l'on puisse mettre les pattes à l'état haute-impédance +lorsqu'un autre composant désire écrire sur le bus. Un composant nommé +\textit{tristate} est utilisé. L'entity de ce module est la suivante : \begin{itemize} \item{8 signaux d'entrée} @@ -115,15 +115,16 @@ Ce composant est en fait un module asynchrone compos trois états. Son comportement est donc le suivant : \begin{itemize} -\item{Si enable (représenté par cs\_read\_output sur le schéma) est à un état -bas, les sorties sont dans un état haute impédance (noté 'Z')} -\item{Si enable est à l'état bas on recopie les entrées / sorties sur le bus +\item{Si enable est à un état bas, les sorties sont dans un état +haute-impédance (noté 'Z')} +\item{Si enable est à l'état haut, on recopie les entrées / sorties sur le bus de données} \end{itemize} Le code correspondant au bloc décrit précédement se trouve en annexe~\ref{sec:tristate} page~\pageref{sec:tristate}. +% TODO : relecture à partir de ici ! \subsubsection{Le gestionnaire d'interruptions : interrupt} Ce bloc est celui dont le comportement aura été décrit précédement dans les -- cgit v1.2.3