\documentclass{article}

\usepackage{epsfig}
\usepackage{oldlfont}
\usepackage[latin1]{inputenc}
\usepackage{fullpage}

\def\m{\item}

\begin{document}

\centerline{\Large \bf Projet I-MIPRO 1997}

~\\

\centerline{\Large \bf GESTION DES MAQUETTES FISCHER PAR LE KIT 68010}

~\\

\section{Les maquettes FISCHER}

On dispose de plusieurs maquettes electromécaniques FISCHER (rotor
d'antenne, robot ``teach-in'', l'assenceur, tour de hanoi,...) qui
possèdent un certain nombre de dispositifs permettant leur animation
(moteurs, lampes, interrupteurs et potentiomètres utilisés en capteur
de positions).

Les divers dispositifs de ces maquettes sont reliées à une {\it
  interface de puissance} qui les contrôle, elle-même connectée au kit
68010, à travers le 68230 et la carte d'interface que vous avez
réalisé lors des TP. \\

\centerline{\input{fischer1}}

\section{Objectif du projet} 

Le but du projet est de développer le logiciel d'interface de bas
niveaux pour le contrôle de ces différents dispositifs par le kit
68000.

Des exemples de sources C de logiciels de plus haut niveaux mettant en
oeuvre les maquettes vous seront fournis. Vos fonctions de gestion des
organes des maquettes devront s'interfacer avec ces logiciels. Vous
pourrez proposer d'autres exemples de commande des maquettes si vous
le désirez.

\section{L'interface de puissance}

Cette interface gère les divers dispositifs des maquettes et reçoit
les signaux de commandes suivants du 68230 du kit 68010~:

\begin{itemize}
\m Les signaux de commandes : {\tt load out, load in, trigger X, trigger Y, clock}
\m L'échange des données : {\tt data in, data out}
\end{itemize}

En plus du contrôle des protocoles de ces signaux, le kit 68010 doit
etre utilisé pour activer pèriodiquement (0,5 fois par secondes) une
routine qui génère des impulsions d'horloge sur le signal {\tt clock}
de l'interface de puissance. Cette tâche peut être réalisée par
interruptions avec le {\it timer} du PIT 68230 du kit 68010.

\section{Les dispositifs des maquettes}

Bien que les fonctionnalités diffèrent d'une maquette à l'autre, les
dispositifs à commander restent les mêmes~: 

\begin{itemize}

\m des moteurs qui peuvent être arrétés, en rotation dans un sens ou
dans un autre, et qui actionnent des roues dentées pour animer les
parties mobiles des maquettes.

\m des lampes, éteintes ou allumées.

\m des interrupteurs qui peuvent servir d'entrées pour commander
manuellement les maquettes.

\m des potentiomètres asservis sur les parties mobiles des maquettes
pour connaitre leur positions. On récuperera la valeur des
potentiomètres gràce au convertisseur analogique et aux switch de la
carte d'interface.

\end{itemize}

La documentation détaillée des protocoles mis en jeu pour piloter ces
différents dispositifs à travers les signaux de l'interface de
puissance se trouve en lancant la commande {\tt mankits} depuis les
stations de la salle {\tt 5201}. Cette documentation, au format html,
vous fournis également des informations techniques relatives aux kits
68000 et 68010.

\section{Les fonctions d'interfaçage}

Les fonctions suivantes, que vous développerez en assembleur ou en C,
devront s'interfacer avec les source C des logiciels d'exemple de haut
niveaux qui vous seront fournis~:

\begin{description}

\m[{\tt controle (dispositif, action)}] où {\tt dispositif} (1, 2, 3
ou 4) identifie un organe d'une maquette, et peut éventuellement etre
différent d'une maquette à une autre, mais leur protocole de commande
est le même, et leur commande sera donc regroupé dans une unique
fonction. Il peut s'agir de {\it moteurs} ou de {\it lampes}. {\tt
action} (0, 1, 2 ou 3) spécifie les potentiels appliqués aux bornes du
dispositif spécifié. Cette fonction doit appliquer le potentiel
indiqué en paramètre au dispositif spécifié.

\m[{\tt interrupteur (num)}] où {\tt num} (1 ou 2) identifie un
interrupteur de la maquette au cas où il y en ai plusieurs. Là aussi,
le nombre d'interrupteur peut différer d'une maquette à l'autre. Cette
fonction doit renvoyer l'état de l'interrupteur spécifié (0 ou 1).

\m[{\tt potar (num)}] où {\tt num} (1 ou 2) identifie un
potentiomètre de la maquette. Cette fonction doit renvoyer la position
courante du potentiomètre spécifié sous forme d'un octet (0 à 255).

\end{description}

Le cablage de la carte d'interface autorise plusieurs statégies pour
les interruptions. Le 68230 peut générer des interruptions soit par
son {\it timer}, soit avec le convertisseur A/D. A vous de choisir une
stratégie et de développer les algorithmes correspondants.

\section{Planning}

Ce projet est à effectuer en groupe. Un rapport comprenant l'étude et
la réalisation du projet (avec les différents programmes commentés)
est à remettre au secrétariat du
département informatique (bureau 5251). \\

\noindent Une démonstration de vos projet sera planifiée ultèrieurement.

\end{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


