summaryrefslogtreecommitdiff
path: root/2004/n/fpga/doc/robot_DV/rapport.tex
diff options
context:
space:
mode:
Diffstat (limited to '2004/n/fpga/doc/robot_DV/rapport.tex')
-rw-r--r--2004/n/fpga/doc/robot_DV/rapport.tex278
1 files changed, 278 insertions, 0 deletions
diff --git a/2004/n/fpga/doc/robot_DV/rapport.tex b/2004/n/fpga/doc/robot_DV/rapport.tex
new file mode 100644
index 0000000..c88d6b5
--- /dev/null
+++ b/2004/n/fpga/doc/robot_DV/rapport.tex
@@ -0,0 +1,278 @@
+\documentclass[a4paper,dvips,pdftex,titlepage]{article}
+
+% Inclusion de packages :
+%{{{1
+\usepackage[T1]{fontenc}
+\usepackage[latin1]{inputenc}
+\usepackage[french]{babel}
+\usepackage{fancyhdr}
+\usepackage[dvips]{graphicx,color}
+%\usepackage[pdftex]{graphicx,color}
+%\usepackage{verbatim}
+\usepackage{times}
+
+% Pour les maths :
+%\usepackage{amssymb}
+%\usepackage{amsfonts}
+%\usepackage{amsmath,amsthm}
+%}}}1
+
+% Mise en page du document :
+%{{{1
+\pagestyle{fancy}
+\parskip=10pt
+\baselineskip=11pt
+\parindent=0pt % alinéa
+
+% Entête de page :
+\lhead{\small{Thomas Burg - Pierre-Andre Galmes \\ Fidèle Gafan - Pierre
+Prot}}
+\rhead{I2 ET\\ Février 2004}
+
+% Structure du document :
+\begin{document}
+
+\title{Pré-projet de VHDL : \\ Réalisation d'un périphérique ISA pour
+PC104}
+\author{Thomas Burg - Pierre-Andre Galmes - Fidèle Gafan - Pierre Prot\\ EFREI - Ingénieur
+2$^{\textrm{ième}}$ année}
+\date{Février 2004}
+\maketitle
+\tableofcontents
+\pagebreak
+
+\section{Introduction}
+
+Nous souhaitons réaliser une carte ISA pour ordinateur PC104 dans le cadre
+du projet de VHDL. Nous voulons mener à terme ce projet pour pouvoir
+ensuite l'utiliser sur les robots présentés à la coupe de robotique.
+Ceci remplacerai le projet de I2 de VHDL. Le projet donnera lieu à une
+note qui comptera pour le projet de VHDL.
+
+Pour la première fois l'année derniere, notre groupe, constitué en partie
+d'élève de promo 2005 a présenté un robot à la coupe. Nous en avons tiré
+quelques enseignements de cet épreuve. Les systèmes développés avaient des
+défauts que nous voudrions voir disparaitre : manque de fiabilité,
+encombrement.
+D'un autre coté, cette année, le règlement de la coupe autorise la
+présence de deux robots sur le terrain. Nous allons donc ré-utiliser
+l'odinateur de l'année dernier (Une carte prototype fournit par la société
+Ipricot) et un ordinateur de type PC104.
+
+Malheureusement ce type de carte standard ne dispose pas des bus que nous
+voulons exploiter: i2c, GPIO, ligne servo-moteur et bus caméra. L'an
+dernier, nous avons réalisé des cartes individuelles pour chacune de ces
+fonctions. La carte que nous souhaitons réaliser aura pour mission de
+regrouper tous ces modules individuels en un seul package adaptable
+directement sur le port ISA.
+
+\pagebreak
+\section{Description du projet}
+
+Nous allons pour faire face à notre problème, réaliser une carte ISA.
+La carte PC104 dispose d'un tel bus. Ce bus à tendance à disparaitre
+progressivement de nos ordinateurs de bureau au profit de bus plus rapide.
+(PCI, AGP, XPCI ...), mais il reste suffisament performant pour l'application
+que nous voulons faire:
+\begin{center}
+\begin{itemize}
+\item 1 bus i2c
+\item 2 ports séries
+\item 8 lignes servo
+\item 2 lignes de PWM
+\item 2 blocs d'IO
+\item 3 blocs d'IO pour le bus parallèle
+\item gestion d'accès à la camera ov6620
+\end{itemize}
+\end{center}
+La figure \ref{schema1} de la page \pageref{schema1} l'illustre bien.
+
+\begin{figure}[htbp]
+\caption{Illustration}
+%\begin{center}
+%\scalebox{0.5}{
+\includegraphics[width=\textwidth]{images/schema1.pdf}
+%}
+%\end{center}
+\label{schema1}
+\end{figure}
+
+Chacun des périphériques sera directement adressable. Le design
+comportera un systeme de d'interruption, afin de pouvoir déclencher une
+interruption sur l'ordinateur et effectuer un traitement particulier.
+
+Le dispositif de gestion de la caméra utilisera les possibilités DMA du bus
+ISA et ainsi nous n'aurons pas besoin de stocker les images provenant de la
+caméra dans le fpga. Cela évitera d'avoir d'un circuit contenant une très
+grosse quantité de mémoire ou bien une RAM externe.
+
+Pour réaliser les fonctionnalités nous envisagons de nous inspirer des
+sources mises à diposition par le projet OpenCores (www.opencores.org).
+
+
+\pagebreak
+\section{Cahier des charges}
+
+Voici les caractéristiques du module que nous voulons réaliser:
+
+\begin{description}
+\item [Caractéristiques physiques compatibles PC104]. Format : si possible
+90x96 mm, sinon le plus petit possible. Connecteur de bus PC104.\\
+
+\item [Fonctionnement sur bus ISA.] Tous les modules internes seront reliés
+à ce bus et possèderont chacun leur adresse, de sorte qu'ils seront
+accessibles directement par la carte-mère.\\
+
+\item [Gestion d'interruptions] pour permettre à chaque module de signaler
+au driver tout changement sur les entrées du circuit.\\
+
+\item [Paramétrage possible de l'IRQ et du canal DMA] utilisés sur le bus
+isa.\\
+
+\item [1 bus i2c standart.] Ce bus est très utilisé dans l'industrie, et de nombreux
+microcontrôleurs le supportent en hard. \\
+
+\item [2 ports série.] Ces ports seront utilisés pour relier les
+modules externes réalisés pour le robot (système de positionnement, carte
+d'actionneurs spéciaux, etc...). Ils seront en niveau TTL, car ils sont
+destinés à être reliés à d'autres circuits logiques. On évitera ainsi
+l'utilisation de paires de MAX232 pour le passage en niveaux -12V/+12V.\\
+
+\item [8 lignes de contrôle de servo-moteur.] Ces lignes permettent de
+contrôler des servos de modélisme. Ils délivrent un signal modulé en
+largeur d'impulsion qui correspond à la position que doit prendre le
+servo.\\
+
+\item [2 lignes de PWM.] Ces lignes permettront de piloter des moteurs à
+vitesse variable, via une interface de puissance.\\
+
+\item [1 bus parallèle.] Ces entrées-sorties seront utilisées si besoin est,
+pour réaliser un bus parallèle, le même qui fut utilisé l'an dernier sur le
+robot, et qui est toujours en service sur la carte MIPS. Ce bus permettra la
+compatibilité avec les modules destinés à tourner avec la carte MIPS. Le bus
+sera contôlé logiciellement par le driver.\\
+
+\item [16 GPIO.] Ces lignes seront dédiées aux entrées (de capteurs,
+d'interrupteurs, etc...), et au sorties (actionneurs, voyants, etc...)\\
+
+\item [1 bus caméra ov6620.] C'est un bus parallèle de 8 ou 16 bits de
+données, 3 fils de contrôle et 3 fils de synchronisation. Il permet de
+configurer la caméra et d'en rappatrier les données. Ce bus devra intégrer la
+\emph{gestion du DMA} pour rapatrier les images de la caméra. Ainsi, cela
+facilite les transferts vers la mémoire.\\
+
+\end{description}
+
+
+\pagebreak
+\section{Réalisation pratique}
+
+Pour être le plus efficace possible nous allons procéder par étapes.
+
+\subsection{Codage RTL et simulation}
+La première étape constitue en l'écriture du code et sa simulation. Une
+fois celle-ci finie, nous connaitrons précisément les ressources
+nécessaires. Nous choisirons alors le FPGA en fonction de nos besoins, des
+facilités d'approvisionnement et des contraintes de réalisation.
+
+\subsection{Réalisation de la carte}
+Nous réaliserons une carte au format PC104 permettant le branchement du
+FPGA au bus ISA et aux modules de test. Nous élaborerons donc un PCB puis
+nous le ferons réaliser par une entreprise extérieure spécialisée dans la
+réalisation de prototype.
+
+\subsection{Ecriture des drivers Linux}
+Une fois la carte réalisée nous pourrons vérifier son bon fonctionnement et
+écrire les drivers du système d'exploitation afin de pouvoir l'utiliser
+dans des application tournant sur le système.
+
+\section{Evaluation}
+Pour nous évaluer sur ce projet ambitieux, nous proposons de nous évaluer sur
+les 3 points cités plus haut : le "Codage RTL et la simulation" comptant
+pour la moitier de la note, la "Réalisation de la carte" et le test final
+ou l'écriture des drivers comptant chacun pour un quart de la note.
+
+Des revues entre les différentes phases avec un professeur seraient
+intéressantes, afin de valider les choix et minimiser les risques.
+
+
+\section{Répartition initiale des modules}
+\begin{center}
+\begin{tabular}{|*{2}{c}|}
+\hline
+Noms & Blocs à realiser \\
+\hline
+Thomas BURG & Camera \\
+ & bus I2C \\
+Fidèle GAFAN & Servo Moteur\\
+Pierre-Andre GALMES & blocs d'entrées / sorties\\
+Pierre PROT & liaison serie UART\\
+\hline
+\end{tabular}
+\end{center}
+
+
+
+\pagebreak
+\section{Ressources techniques}
+
+Voici un rapide récaptitulatif des ressources trouvées jusqu'à présent:
+
+\subsection{Bus isa}
+\begin{itemize}
+\item
+http://directory.google.com/Top/Computers/Hardware/Buses/ISA/
+\item http://www.mindshare.com/pdf/eisabook.pdf
+\item ISA \& EISA Theory and Operation By Edward Solari (ISBN: 0929392159)
+\end{itemize}
+
+Bien que ce bus soit sur les PC grand publique depuis au moins 15 ans,
+force est de constater qu'on ne trouve pas facilement de sites traitant du
+bus ISA.
+
+\subsection{OpenCores}
+Le projet OpenCore est un peu ce qu'est le projet GNU à l'informatique,
+C'est du code mis à disposition par des groupes vendant des models IP.
+C'est un moyens de se faire de la publicité.
+
+Un certain nombre de fonctions que nous souhaitons implémenter sont déjà
+écrites. Parfois elles le sont en Verilog. Ce qui nous demandera un travail
+d'adapation.
+www.opencores.org/project/
+
+\subsection{camera ov6620}
+C'est une caméra que nous commencons à connaitre, nous l'avons déjà
+utilisée l'an passé. Cette caméra est bon marché : \$60 la carte
+d'évaluation montée avec son optique. C'est une caméra numérique couleur
+sortant sur bus parallèle de 8 ou 16 bits. On peut effectuer divers
+réglages via un bus très similaire à de l'i2c.
+
+\begin{itemize}
+\item http://www.ovt.com/cc6620.html
+\item http://www-2.cs.cmu.edu/~cmucam/
+\end{itemize}
+
+\pagebreak
+\section {Conclusion}
+
+Ce projet a deux objectifs : faire le projet de VHDL prévu par le cursus et
+nous permettre de consacrer du temps sur le robot.
+
+Le projet nous permettra de mettre en pratique la conception de circuit,
+plus particulièrement le developpement de produit à base de FPGA. Nous en
+profiterons aussi pour acquérir une expérience dans le prototypage de
+carte en passant par un sous-traitant, puisque la technique mise en oeuvre
+n'est plus accessible avec les moyens disponibles à l'école.
+
+Ce projet nous permettra de revenir sur des points vu dans le \emph{cours
+d'architecture des ordinateurs}, avec la réalisation pratique d'un
+périphérique.
+
+Cette carte, si elle est bien réalisée, pourra être réutilisée par les
+personnes voulant réaliser le challenge de la coupe de Robotique les années
+suivantes. De par sa compacité et son niveau d'intégration, elle remplacera de
+nombreuse cartes, d'où un gain de place, et de temps de mise en oeuvre.
+
+
+\pagebreak
+\end{document}