summaryrefslogtreecommitdiff
path: root/2004/n/fpga/doc
diff options
context:
space:
mode:
authorgalmes2004-03-25 22:50:04 +0000
committergalmes2004-03-25 22:50:04 +0000
commit3867d69a416b174790a6347be13682ece81b9d2a (patch)
tree8a2bce2d1bbcce8eb55ff19e325bb8d37b8e39bd /2004/n/fpga/doc
parentdce307df1d1763b46ee4dd53d0b3fe73a2a28d06 (diff)
Suppression du dossier de conception
Diffstat (limited to '2004/n/fpga/doc')
-rw-r--r--2004/n/fpga/doc/dossierconception/Makefile18
-rw-r--r--2004/n/fpga/doc/dossierconception/image.pngbin18419 -> 0 bytes
-rw-r--r--2004/n/fpga/doc/dossierconception/io.c171
-rw-r--r--2004/n/fpga/doc/dossierconception/io.h15
-rw-r--r--2004/n/fpga/doc/dossierconception/ov6620.fig200
-rw-r--r--2004/n/fpga/doc/dossierconception/ovcam.c47
-rw-r--r--2004/n/fpga/doc/dossierconception/ovcam.tex120
-rw-r--r--2004/n/fpga/doc/dossierconception/ovcam1.fig67
-rw-r--r--2004/n/fpga/doc/dossierconception/ovcam2.fig140
-rw-r--r--2004/n/fpga/doc/dossierconception/portserie.tex392
-rw-r--r--2004/n/fpga/doc/dossierconception/rapport.tex68
-rw-r--r--2004/n/fpga/doc/dossierconception/rdcam.c124
-rw-r--r--2004/n/fpga/doc/dossierconception/rdcam.h18
13 files changed, 0 insertions, 1380 deletions
diff --git a/2004/n/fpga/doc/dossierconception/Makefile b/2004/n/fpga/doc/dossierconception/Makefile
deleted file mode 100644
index 221bd36..0000000
--- a/2004/n/fpga/doc/dossierconception/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-SUBDIR=
-
-all: ovcam2.pdf ov6620.pdf
- for i in $(SUBDIR); do (cd $$i; $(MAKE) all); done
- $(MAKE) rapport.pdf
-
-%.pdf: %.tex
- pdflatex $<
- pdflatex $<
- pdflatex $<
-
-%.pdf: %.fig
- fig2dev -L pdf -p dummy $< $@
-
-clean:
- for i in $(SUBDIR); do (cd $$i; $(MAKE) clean); done
- rm -f *.dvi *.aux *.log *.toc *.eps *.pdf *.ps
-
diff --git a/2004/n/fpga/doc/dossierconception/image.png b/2004/n/fpga/doc/dossierconception/image.png
deleted file mode 100644
index 130b1f4..0000000
--- a/2004/n/fpga/doc/dossierconception/image.png
+++ /dev/null
Binary files differ
diff --git a/2004/n/fpga/doc/dossierconception/io.c b/2004/n/fpga/doc/dossierconception/io.c
deleted file mode 100644
index 0fd6d21..0000000
--- a/2004/n/fpga/doc/dossierconception/io.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/* io.c contient la procedure pour configurer la camera
- * (I2C)
- */
-
-#include "io.h"
-#include <sys/ports.h>
-
-#include <sys/sio.h>
-#include <sys/interrupts.h>
-
-#define I2CCLK BITN(3)
-#define I2CDATA BITN(4)
-
-void
-i2c_init (void)
-{
- // 1 ---> ouput
- // 0 ---> input
- // configuration des lignes en sortie
- _io_ports[M6811_DDRA] = I2CCLK | I2CDATA;
- // mise à 1 des lignes dans (libération du bus
- _io_ports[M6811_PORTA] |= I2CCLK |I2CDATA;
-}
-
-/*
- * Start procedure
- * Data ---------------\________________
- * Clk --------------------\___________
- *
- */
-
-void
-i2c_start(void)
-{
- _io_ports[M6811_PORTA] &= ~I2CDATA;
- wait_2v5us();
- _io_ports[M6811_PORTA] &= ~I2CCLK;
- wait_2v5us();
-}
-/*
- * End procedure
- * Data ___________________/-----
- * Clk _________/---------------
- *
- */
-
-void
-i2c_end(void)
-{
- _io_ports[M6811_PORTA] |= I2CCLK;
- wait_2v5us();
- _io_ports[M6811_PORTA] |= I2CDATA;
- wait_2v5us();
-}
-
- void
-wait_2v5us(void)
-{
- unsigned char i;
- for (i=0;i<200;i++)
- {
- __asm__("nop");
- }
-}
-
-void
-i2c_send_charnl (unsigned char data)
-{
- unsigned char cmpt;
- for (cmpt=0;cmpt<8;cmpt++)
- {
- if (data & 0x80) // si le bit de poids fort est 1, il faut mettre 1 sur la ligne
- {
- _io_ports[M6811_PORTA] |= I2CDATA;
- }
- else
- {
- _io_ports[M6811_PORTA] &= ~I2CDATA;
- }
- wait_2v5us();
- wait_2v5us();
- // on s'occupe de produire un front d'horloge
- _io_ports[M6811_PORTA] |= I2CCLK;
- wait_2v5us();
- _io_ports[M6811_PORTA] &= ~I2CCLK;
- wait_2v5us();
- _io_ports[M6811_PORTA] &= ~I2CDATA;
- /* Nous avons traité le bit de poid le plus fort
- * continuons */
- data = data << 1;
- }
- wait_2v5us();
- _io_ports[M6811_PORTA] |= I2CCLK;
- wait_2v5us();
- _io_ports[M6811_PORTA] &= ~I2CCLK;
- wait_2v5us();
-}
-
-unsigned char
-i2c_read_char (void)
-{
- char cmpt;
- unsigned char data = 0;
- // configuration de la ligne data en entré
- _io_ports[M6811_DDRA] &= ~I2CDATA;
- for (cmpt=0; cmpt<8;cmpt++)
- {
- _io_ports[M6811_PORTA] |=I2CCLK;
- wait_2v5us();
- _io_ports[M6811_PORTA];
- if (_io_ports[M6811_PORTA] & I2CDATA) //si ligne data est à 1
- data++;
- wait_2v5us();
- _io_ports[M6811_PORTA] &=~I2CCLK;
- wait_2v5us();
- data = data<<1;
- }
- // traitement de l'ack dans le cas d'une derniere lecture
- _io_ports[M6811_DDRA] |= I2CDATA;
- _io_ports[M6811_PORTA] |= I2CDATA;
- wait_2v5us();
- _io_ports[M6811_PORTA] |= I2CCLK;
- wait_2v5us();
- _io_ports[M6811_PORTA] &= ~I2CCLK;
- wait_2v5us();
- _io_ports[M6811_PORTA] &= ~I2CDATA;
- return data;
-}
-
-void
-i2c_send (unsigned char reg,unsigned char data)
-{
- // on déclanche un procedure de start
- i2c_start();
- // C0 est l'adresse d'ecriture de l'ov6620
- i2c_send_charnl(0xc0);
- // On specifie le registre
- i2c_send_charnl(reg);
- // on donnee la valeur
- i2c_send_charnl(data);
- // procedure de stop
- i2c_end();
-}
-
-unsigned char
-i2c_recv(unsigned char reg)
-{
- unsigned char data;
-
- /* pour lire un registre particulié, il faut commencer par
- * ecrire le registre que l'on veut lire
- */
-
- i2c_start();
- i2c_send_charnl(0xc0);
- i2c_send_charnl(reg);
- i2c_end();
-
-
- i2c_start();
- i2c_send_charnl(0xC1);
- data = i2c_read_char();
- i2c_end();
- return data;
-
-}
-
-void
-i2c_dump(unsigned char * tab)
-{
-}
diff --git a/2004/n/fpga/doc/dossierconception/io.h b/2004/n/fpga/doc/dossierconception/io.h
deleted file mode 100644
index 8ea9221..0000000
--- a/2004/n/fpga/doc/dossierconception/io.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef IO_H
-#define IO_H
-
-#define BITN(x) (1<<(x))
-
-void i2c_init (void);
-void i2c_send_charnl (unsigned char mot);
-unsigned char i2c_read_char (void);
-void i2c_start (void);
-void i2c_end (void);
-void wait_2v5us (void);
-void i2c_send (unsigned char reg, unsigned char data);
-unsigned char i2c_recv ( unsigned char reg);
-void i2c_dump (unsigned char * tab);
-#endif
diff --git a/2004/n/fpga/doc/dossierconception/ov6620.fig b/2004/n/fpga/doc/dossierconception/ov6620.fig
deleted file mode 100644
index bd11f82..0000000
--- a/2004/n/fpga/doc/dossierconception/ov6620.fig
+++ /dev/null
@@ -1,200 +0,0 @@
-#FIG 3.2
-Landscape
-Center
-Inches
-Letter
-100.00
-Single
--2
-1200 2
-0 32 #c6b694
-0 33 #eff7ff
-0 34 #decba5
-0 35 #424142
-0 36 #848284
-0 37 #bdbebd
-0 38 #dedfde
-0 39 #8c8e8c
-0 40 #adaaad
-0 41 #525552
-0 42 #424142
-0 43 #848284
-0 44 #bdbebd
-0 45 #848284
-0 46 #bdbebd
-0 47 #dedfde
-0 48 #8c8e8c
-0 49 #8c8e8c
-0 50 #424142
-0 51 #848284
-0 52 #bdbebd
-0 53 #dedfde
-0 54 #424142
-0 55 #848284
-0 56 #bdbebd
-0 57 #dedfde
-0 58 #848284
-0 59 #bdbebd
-0 60 #dedfde
-0 61 #c6b694
-0 62 #eff7ff
-0 63 #decba5
-0 64 #c6b694
-0 65 #eff7ff
-0 66 #decba5
-0 67 #adaaad
-0 68 #525552
-0 69 #8c8e8c
-0 70 #d6d7d6
-0 71 #8c8e8c
-0 72 #424142
-0 73 #848284
-0 74 #bdbebd
-0 75 #dedfde
-0 76 #adaead
-0 77 #424142
-0 78 #848284
-0 79 #bdbebd
-0 80 #dedfde
-0 81 #848284
-0 82 #bdbebd
-0 83 #dedfde
-0 84 #424142
-0 85 #848284
-0 86 #bdbebd
-0 87 #adaead
-0 88 #8c8e8c
-0 89 #8c8e8c
-0 90 #8c8e8c
-0 91 #424142
-0 92 #bdbebd
-0 93 #dedfde
-0 94 #424142
-0 95 #848284
-0 96 #bdbebd
-0 97 #8c8e8c
-0 98 #424142
-0 99 #848284
-0 100 #bdbebd
-0 101 #dedfde
-0 102 #424142
-0 103 #848284
-0 104 #bdbebd
-0 105 #dedfde
-0 106 #bdbebd
-0 107 #525152
-0 108 #e7e3e7
-0 109 #00004a
-0 110 #525152
-0 111 #bdbebd
-0 112 #7b797b
-0 113 #313431
-0 114 #525152
-0 115 #bdbebd
-0 116 #7b797b
-0 117 #313431
-0 118 #525152
-0 119 #424142
-0 120 #c6b694
-0 121 #bdbebd
-0 122 #7b797b
-0 123 #313431
-0 124 #525152
-0 125 #313431
-0 126 #525152
-0 127 #8c8e8c
-0 128 #424542
-0 129 #8c8e8c
-0 130 #bdbebd
-0 131 #7b797b
-0 132 #313431
-0 133 #525152
-0 134 #bdbebd
-0 135 #7b797b
-0 136 #313431
-0 137 #525152
-0 138 #7b797b
-0 139 #313431
-0 140 #525152
-0 141 #424142
-0 142 #848284
-0 143 #bdbebd
-0 144 #dedfde
-0 145 #c6c3c6
-0 146 #6b6d6b
-0 147 #c6c3c6
-0 148 #6b6d6b
-0 149 #424542
-0 150 #8c8e8c
-0 151 #6b6d6b
-0 152 #8c8e8c
-0 153 #737173
-0 154 #adaead
-0 155 #313431
-0 156 #949294
-0 157 #737173
-0 158 #525552
-0 159 #b5b2b5
-0 160 #c6c3c6
-0 161 #424542
-0 162 #6b6d6b
-0 163 #424542
-0 164 #6b6d6b
-0 165 #c6c3c6
-0 166 #6b6d6b
-0 167 #424542
-0 168 #8c8e8c
-0 169 #c6c3c6
-0 170 #6b6d6b
-0 171 #c6c3c6
-0 172 #424542
-0 173 #8c8e8c
-# Camcorder
-# drawn by W. Chimiak
-6 1275 2400 2250 3675
-6 1504 2963 1952 3400
-1 2 0 1 -1 7 2 0 0 0.000 1 0.0000 1728 3182 224 219 1504 2963 1952 3400
--6
-1 4 0 1 -1 7 0 0 20 0.000 1 0.0000 1839 3262 238 238 1814 3026 1864 3499
-1 4 0 1 -1 150 1 0 20 0.000 1 0.0000 1837 3262 338 338 1499 2924 2175 3600
-2 3 0 1 -1 149 4 0 20 0.000 0 0 -1 0 0 5
- 2015 3475 2015 2794 1462 2794 1459 3475 2015 3475
-2 3 0 1 0 148 4 0 20 0.000 0 0 -1 0 0 5
- 2015 2798 1455 2798 1275 2438 1775 2438 2015 2798
-2 3 0 1 0 7 4 0 20 0.000 1 0 -1 0 0 5
- 1463 2794 1283 2442 1283 3072 1465 3470 1463 2794
-2 2 0 1 -1 7 3 0 5 0.000 0 0 -1 0 0 5
- 1515 2918 1965 2918 1965 3371 1515 3371 1515 2918
--6
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
- 600 1800 3000 1800 3000 4350 600 4350 600 1800
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 1800 825 1800 1800
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 1575 5775 1575 4350
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 3000 2625 4200 2625
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 3000 3075 4200 3075
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 3000 3525 4125 3525
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 3000 3900 4200 3900
-4 0 0 50 -1 0 12 0.0000 4 135 1950 750 2025 Carte d'\351valuation ov6620\001
-4 0 0 50 -1 0 12 0.0000 4 135 225 1950 825 5V\001
-4 0 0 50 -1 0 12 0.0000 4 180 1260 1725 5175 configuration via\001
-4 0 0 50 -1 0 12 0.0000 4 135 270 1725 5400 I2C\001
-4 0 0 50 -1 0 12 0.0000 4 180 900 3225 3450 Vsync_cam\001
-4 0 0 50 -1 0 12 0.0000 4 180 750 3225 3000 Href_cam\001
-4 0 0 50 -1 0 12 0.0000 4 180 735 3225 2550 Pclk_cam\001
-4 0 0 50 -1 0 12 0.0000 4 180 1140 3225 3825 data_cam [7-0]\001
-4 0 0 50 -1 0 12 0.0000 4 180 5490 4575 2550 L'horloge, \340 chaque front montant les donn\351es sur data_cam sont valides\001
-4 0 0 50 -1 0 12 0.0000 4 180 4950 4575 3000 L'orsque c'est 1 \340 chaque Pclk_cam correspond un pixel d'un ligne\001
-4 0 0 50 -1 0 12 0.0000 4 180 2835 4575 3375 Passe \340 1 lorsque l'on change d'image\001
-4 0 0 50 -1 0 12 0.0000 4 135 2295 4575 3825 donn\351e de la camera sur 8 bits\001
diff --git a/2004/n/fpga/doc/dossierconception/ovcam.c b/2004/n/fpga/doc/dossierconception/ovcam.c
deleted file mode 100644
index f5ddfd8..0000000
--- a/2004/n/fpga/doc/dossierconception/ovcam.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Programme ovcam.c pour 68hc11f1
- * compile avec gcc pour 68HC11 et la librairy GEL
- */
-
-#include <sys/sio.h>
-#include <sys/interrupts.h>
-#include <unistd.h>
-#include "io.h"
-#include "rdcam.h"
-
-int main (void);
-
-void
-_start (void)
-{
- set_bus_expanded ();
- _io_ports[M6811_CSCTL] &= 1<<3;
- main();
-}
-
-unsigned char tab[25344];
-
-int
-main (void)
-{
- int i, j, k;
-
- serial_init ();
- i2c_init();
- cam_init();
- /*configuration*/
- i2c_send(0x12,0x80);
- i2c_send(0x11,0x3f);
- //i2c_send(0x12,0x26);
- cam_skip_frames (2);
- /*attrappe l'image et l'envoie*/
- for (i = 0; i < 4; i++)
- {
- for(j=0;j<25344;j++)
- tab[j] = 0;
- cam_get(tab, i);
- for(j=0;j<25344;j++)
- serial_send (tab[j]);
- }
- while(1);
- return 0;
-}
diff --git a/2004/n/fpga/doc/dossierconception/ovcam.tex b/2004/n/fpga/doc/dossierconception/ovcam.tex
deleted file mode 100644
index b686b02..0000000
--- a/2004/n/fpga/doc/dossierconception/ovcam.tex
+++ /dev/null
@@ -1,120 +0,0 @@
-
-\section{Gestion de la caméra}
-u
-
-\subsection{Comment fonctionne la caméra ?}
-
-La camera produit un flot de donnée incessant. elle fournit aussi des
-signaux de synchronisation. Ceux-ci nous permettent de savoir quand est-ce
-qu'une nouvelle image commence, quand est-ce que l'on change de ligne. De
-cette manière nous pouvons reconstitué une information cohérente avec
-notre vision.
-
-\begin{figure}[htbp]
-\caption{La camera}
-\includegraphics[width=\textwidth]{ov6620.pdf}
-\label{schema1}
-\end{figure}
-
-Pour vérifier que nous avions bien compris le fonctionnement de la camera,
-nous avons écrit un programme pour micro-contrôleur qui saisie une image.
-
-Pour réaliser cette application teste, nous avons utilisé une carte à base
-de 68HC11F1 à 8MHz doté de 64Ko de mémoire. Voici le résultat: figure
-\ref{image_test} page \pageref{image_test}.
-
-\begin{figure}[htbp]
-\caption{L'image test}
-\includegraphics[]{image.png}
-\label{image_test}
-\end{figure}
-
-Pour obtenir cette image nous avons écrit un programme en C avec gcc pour
-68HC11. Ce programme prend 72 lignes d'une première image puis les envoie
-à l'ordinateur à 9600 baud (c'est très lent) puis attend une nouvelle
-image, saute les 72 premières lignes et enregistre les 72 lignes
-suivantes puis les envoie. Ainsi de suite 4 fois par image car Le
-microcontroleur n'a pas assez de mémoire pour enregistrer l'image entière.
-Il faut donc la "tronçonner". En effet l'image fait normalement 352
-par 288 pixel et chaque pixel est codé sur 8 bits.
-
-La caméra dispose d'un réglage de gain automatique c'est pour cela que les 4
-parties ont des contrastes différents.
-
-Bien que l'on ait ralenti au maximum la fréquence de Pclk, nous
-n'arrivons à obtenir que 72 point par lignes au lieu de 288.
-Comme l'image reste "compréhensible" nous pouvons croire que le
-microcontroleur n'est pas assez rapide pour lire plus de points. Et du
-coups il fait un "sample régulié" de la ligne, ce qui nous donne cette
-impression d'image comprimé en largeur.
-
-Tout ceci nous laisse croire que nous maitrisons la capture d'une image.
-
-\subsection{Comment implémenter la récupération d'image dans un fpga ?}
-
-Le principe utilisé est simple, il s'agit de remplir une mémoire avec les
-données provenant de la caméra. Un compteur peut incrémenté l'adresse et
-ainsi parcourir la mémoire. Nous allons utilisé les macros que fournit
-Xilinx pour réaliser des DPRAMs : qui sont des mémoires ram à double
-ports, permettant une lecture et une écriture sur deux ports differents.
-
-Nous utiliserons 2 DPRAM afin que l'ordinateur puisse lire un bank mémoire
-alors que l'automate de récupartion de donnée caméra en remplit un autre.
-
-\begin{figure}[htbp]
-\caption{Synopitque d'implémentation}
-\includegraphics[width=\textwidth]{ovcam2.pdf}
-\label{ovcam}
-\end{figure}
-
-Ce système est ordonné par un séquenceur. Cette machine d'état aura la
-charge de choisir le bank à remplir, la gestion de la ligne d'interruption
-( moyen d'avertir d'ordinateur pour qu'il vienne lire) et le registre de
-contrôle avec ses quelques bits:
-\begin{itemize}
-\item Un bit disant quel bank doit être lu.
-\item Un bit disant si l'interruption est levé, c'est dire si le bit
-précédant est valide.
-\item Un bit disant s'il y a eu un écrasement d'un bank, dans le cas ou
-l'ordinateur ne serait pas venu suffsament tôt.
-\item un bit de reset pour remettre à zero la machine d'état les diffrents
-compteurs et convertisseur.
-\item Un bit servant à dire que l'odinateur va bientot lire un bank et
-donc, que le sequenceur doit baissé sa ligne d'interruption. Cette
-dernière fonction pourrait être remplacer par un système qui détecte la
-lecture du bank.
-\end{itemize}
-
-
-D'autres indicateurs pourraient être donné, par exemple : un flag pourrait se
-levé pour marqué que le bank de remplissage est déjà à moitier rempli.
-
-\subsection{Le driver}
-
-Avec le fonctionnement décrit si dessus, Le driver devra réaliser la
-sous-routine suivante:
-\begin{itemize}
-\item Détecter une interruption camera
-\item Lire le registre de la camera pour savoir si il y a bien eu une
-interruption, et connaitre le bank à lire.
-\item Ecrire dans le registre le bit correspondant à "lecture imminante"
-\item Lire le bank, le placé en mémoire, incrémenté une variable. Lorsque
-cette variable sera égal à 50, l'ordinateur aura récupéré une image
-complete.
-\end{itemize}
-
-Bien sûr, si la cadence des images est trop rapproché dans le temps, Une
-fois que l'on a récupérer une image complete, on peut ne pas écrire le bit
-"lecture imminante", ce qui aura pour conséquence de ne pas baissé la
-ligne d'interruption et de ne plus être déranger.
-Pour reprendre la capture, il suffit de faire un reset avec le bit prévu
-dans le registre de controle.
-\pagebreak
-
-\section{Réalisation de la carte }
-
-La principale difficulté provient du logiciel. Toutes fois cela avance,
-à en voir les documents produits. Ceux-ci encore tres incomplet. Toutes
-fois ils permettent de déceller les premières grosses erreurs.
-
-
diff --git a/2004/n/fpga/doc/dossierconception/ovcam1.fig b/2004/n/fpga/doc/dossierconception/ovcam1.fig
deleted file mode 100644
index 8fb8bb4..0000000
--- a/2004/n/fpga/doc/dossierconception/ovcam1.fig
+++ /dev/null
@@ -1,67 +0,0 @@
-#FIG 3.2
-Portrait
-Flush left
-Metric
-A4
-100.00
-Single
--2
-1200 2
-2 2 0 1 0 7 50 0 -1 4.000 0 0 7 0 0 5
- 1425 1200 3325 1200 3325 2138 1425 2138 1425 1200
-2 2 0 1 0 7 50 0 -1 4.000 0 0 7 0 0 5
- 1438 2375 3313 2375 3313 3313 1438 3313 1438 2375
-2 2 0 1 0 7 50 0 -1 4.000 0 0 7 0 0 5
- 6637 4013 8287 4013 8287 6151 6637 6151 6637 4013
-2 2 0 1 0 7 50 0 -1 4.000 0 0 7 0 0 5
- 6625 1400 8275 1400 8275 3538 6625 3538 6625 1400
-2 2 0 1 0 7 50 0 -1 4.000 0 0 7 0 0 5
- 1438 4025 4025 4025 4025 6375 1438 6375 1438 4025
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 3338 1888 6613 1888
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 5450 1913 5450 4725 6638 4725
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 250 1888 1438 1888 1425 1888
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 3313 2825 6638 2825
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 1
- 5200 2838
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 5200 2813 5200 5175 6638 5175
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 238 1425 1425 1425
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 250 4263 1438 4263 1425 4275
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 238 4725 1425 4725
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 225 5200 1438 5200 1413 5200
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 1886 4013 1886 3322 1894 3322
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 2833 3330 2833 4013 2833 4028
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 5
- 1545 4005 1545 3648 1094 3648 1094 2010 1413 2010
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 248 2833 1428 2833 1335 2724
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1420 2833 1343 2934
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1420 1420 1343 1327
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1420 1428 1358 1521
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1413 1878 1343 1762
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1413 1894 1343 1948
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1428 4253 1312 4145
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1428 4261 1319 4346
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1420 4727 1343 4626
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1413 4735 1327 4789
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1428 5192 1327 5076
diff --git a/2004/n/fpga/doc/dossierconception/ovcam2.fig b/2004/n/fpga/doc/dossierconception/ovcam2.fig
deleted file mode 100644
index beb374d..0000000
--- a/2004/n/fpga/doc/dossierconception/ovcam2.fig
+++ /dev/null
@@ -1,140 +0,0 @@
-#FIG 3.2
-Portrait
-Flush left
-Metric
-A4
-100.00
-Single
--2
-1200 2
-0 32 #636163
-0 33 #cecbce
-0 34 #cecbce
-0 35 #6b6d6b
-# Right brace
-6 8370 2206 8910 9405
-3 4 0 1 0 7 50 0 -1 0.000 0 0 0 7
- 8370 9405 8640 9405 8640 5806 8910 5806 8640 5806 8640 2206
- 8370 2206
- 0.000 1.000 1.000 0.000 1.000 1.000 0.000
--6
-2 2 0 1 0 7 50 0 -1 4.000 0 0 7 0 0 5
- 1425 1200 3325 1200 3325 2138 1425 2138 1425 1200
-2 2 0 1 0 7 50 0 -1 4.000 0 0 7 0 0 5
- 1438 2375 3313 2375 3313 3313 1438 3313 1438 2375
-2 2 0 1 0 7 50 0 -1 4.000 0 0 7 0 0 5
- 6637 4013 8287 4013 8287 6151 6637 6151 6637 4013
-2 2 0 1 0 7 50 0 -1 4.000 0 0 7 0 0 5
- 6625 1400 8275 1400 8275 3538 6625 3538 6625 1400
-2 2 0 1 0 7 50 0 -1 4.000 0 0 7 0 0 5
- 1438 4025 4025 4025 4025 6375 1438 6375 1438 4025
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 3338 1888 6613 1888
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 5450 1913 5450 4725 6638 4725
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 3313 2825 6638 2825
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 1
- 5200 2838
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 5200 2813 5200 5175 6638 5175
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 238 1425 1425 1425
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 250 4263 1438 4263 1425 4275
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 238 4725 1425 4725
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 225 5200 1438 5200 1413 5200
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 1886 4013 1886 3322 1894 3322
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 2833 3330 2833 4013 2833 4028
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 5
- 1545 4005 1545 3648 1094 3648 1094 2010 1413 2010
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 248 2833 1428 2833 1335 2724
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1420 2833 1343 2934
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1420 1420 1343 1327
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1420 1428 1358 1521
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1413 1878 1343 1762
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1413 1894 1343 1948
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1428 4253 1312 4145
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1428 4261 1319 4346
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1420 4727 1343 4626
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1413 4735 1327 4789
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 2
- 1428 5192 1327 5076
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 4050 4365 6615 3105
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 4050 5580 6615 5580
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 315 5805 1395 5805
-2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3
- 0 0 1.00 60.00 120.00
- 2430 6390 2430 9900 4320 9900
-2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
- 3015 6615 7830 6615 7830 8865 3015 8865 3015 6615
-2 1 0 1 0 7 50 0 -1 4.000 0 0 0 0 0 3
- 250 1845 1438 1845 1425 1845
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 1620 765 1620 1215
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 765 2475 1440 2475
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
- 0 0 1.00 60.00 120.00
- 630 6165 1440 6165
-2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 3
- 1440 5220 1260 5355 1260 5400
-4 0 0 50 -1 0 12 0.0000 4 135 1110 1575 1440 Convertisseur \001
-4 0 0 50 -1 0 12 0.0000 4 135 1125 1575 1665 8bits to 16 bits\001
-4 0 0 50 -1 0 12 0.0000 4 180 735 450 1305 Pclk_cam\001
-4 0 0 50 -1 0 12 0.0000 4 180 1110 1800 2745 compteur 1024\001
-4 0 0 50 -1 0 12 0.0000 4 180 780 3915 1800 data[15-0]\001
-4 0 0 50 -1 0 12 0.0000 4 180 690 4230 2745 addr[9-0]\001
-4 0 0 50 -1 0 12 0.0000 4 135 480 6885 1935 Bank0\001
-4 0 0 50 -1 0 12 0.0000 4 135 660 6885 2385 DPRAM\001
-4 0 0 50 -1 0 12 0.0000 4 135 630 6885 2610 1024x16\001
-4 0 0 50 -1 0 12 0.0000 4 135 870 1890 4320 sequenceur\001
-4 0 0 50 -1 0 12 0.0000 4 135 480 6975 4320 Bank1\001
-4 0 0 50 -1 0 12 0.0000 4 135 660 6975 4770 DPRAM\001
-4 0 0 50 -1 0 12 0.0000 4 135 630 6975 4995 1024x16\001
-4 0 0 50 -1 0 12 0.0000 4 180 750 4410 5490 En_bank1\001
-4 0 0 50 -1 0 12 0.0000 4 180 600 1890 3510 enb_cpt\001
-4 0 0 50 -1 0 12 0.0000 4 135 390 2880 3780 carry\001
-4 0 0 50 -1 0 12 0.0000 4 180 735 405 4185 Pclk_cam\001
-4 0 0 50 -1 0 12 0.0000 4 180 750 405 4590 Href_cam\001
-4 0 0 50 -1 0 12 0.0000 4 180 900 405 5130 Vsync_cam\001
-4 0 0 50 -1 0 12 0.0000 4 180 1530 3105 6840 Registre de controle\001
-4 0 0 50 -1 0 12 0.0000 4 180 2175 3105 7290 BK : bit indique le bank \340 lire\001
-4 0 0 50 -1 0 12 0.0000 4 180 3525 3105 7515 INT : indique qu'il y a un bank \340 lire. bit est \340 1 \001
-4 0 0 50 -1 0 12 0.0000 4 180 3225 3105 7740 lorsque la ligne d'interruption est \340 1.\001
-4 0 0 50 -1 0 12 0.0000 4 180 3555 3105 7965 ERR : indique qu'il y a eu ecrasement d'un bank\001
-4 0 0 50 -1 0 12 0.0000 4 180 3090 3105 8190 RST : permet de faire un reset du system\001
-4 0 0 50 -1 0 12 0.0000 4 180 4620 3105 8415 RDB : doit etre mis \340 1 avant de lire un bank. Le sequenceur \001
-4 0 0 50 -1 0 12 0.0000 4 180 4470 3105 8640 utilisera ce signal pour baisser la ligne d'interruption.\001
-4 0 0 50 -1 0 12 0.0000 4 180 885 2610 9810 Interruption\001
-4 0 0 50 -1 0 12 0.0000 4 135 360 8865 4680 BUS\001
-4 0 0 50 -1 0 12 0.0000 4 135 300 8865 5130 ISA\001
-4 0 0 50 -1 0 12 0.0000 4 180 2010 4545 9900 Gestionnaire d'interruption\001
-4 0 0 50 -1 0 12 0.0000 4 180 1095 180 1800 data_cam[7-0]\001
-4 0 0 50 -1 0 12 0.4363 4 180 720 4320 4140 en_bank0\001
-4 0 0 50 -1 0 12 0.0000 4 180 660 450 5760 Chip_clk\001
-4 0 0 50 -1 0 12 0.0000 4 180 735 315 2790 Pclk_cam\001
-4 0 0 50 0 0 12 0.0000 4 135 270 1665 900 Rst\001
-4 0 0 50 0 0 12 0.0000 4 135 270 720 2430 Rst\001
diff --git a/2004/n/fpga/doc/dossierconception/portserie.tex b/2004/n/fpga/doc/dossierconception/portserie.tex
deleted file mode 100644
index 944ed60..0000000
--- a/2004/n/fpga/doc/dossierconception/portserie.tex
+++ /dev/null
@@ -1,392 +0,0 @@
-\section{Le TXserie}
-\subsection{Cahier des charges}
-Le cahier des charges du transmetteur série est le suivant :
-
-\begin{itemize}
-\item Transmission série 8 bits, 1 start, 2 stop
-\item Vitesse : paramétrable 9600 et 115200 bauds
-\item Fifo de stockage avant transmision
-\item Interruption activable signalant que la pile est pleine
-\end{itemize}
-
-
-\subsection{Schéma-bloc}
-
-\begin{figure}[htbp]
-\caption{Schéma-bloc du TXserie}
-\includegraphics[width=\textwidth]{images/txserie.pdf}
-\label{schematxserie}
-\end{figure}
-
-Le schéma modulaire est visible sur la figure \ref{schematxserie} page \pageref{schematxserie}.
-
-\subsection{Descritpion des modules}
-\label{descriptmodules}
-
-\subsubsection{La fifo}
-
-C'est une fifo générée avec coregen. Elle contient des mots de 8 bits en
-mémoire distribuée (car les BRAMs du FPGA seront utilisés à d'autres fins).
-
-Elle possède une entrée avec son horloge ckin, une sortie avec son horloge
-ckout, et un pannel de flags en sortie.
-
-L'entrée ckin est la combinaison du csData et de la clock du bus. Ainsi, dès
-qu'on écrit à son adresse mémoire, la fifo charge la donnée présente sur le
-bus.
-
-
-\subsubsection{Le TXcever}
-
-C'est un transmetteur série qui reçoit en entrée les données provenant de la
-fifo. Dès qu'il est vide, il agit sur le signal ckout de la fifo, ce qui
-dépile un élément, et le charge dans le transmetteur, qui peut alors le
-transmettre.
-
-\subsubsection{Le générateur de clock}
-
-C'est un prédiviseur de la fréquence d'horloge du fpga. Il a pour but de
-fournir l'horloge de référence pour le transmetteur (égale à 16 fois le
-baudrate).
-
-Il est paramétrable, pour pouvoir choisir la fréquence utilisée parmis les 4
-baudrates disponibles.
-
-Pour avoir la bonne fréquence en sortie, on doit avoir en entrée une fréquence
-multiple de 16 fois 115200 (le baudrate maxi). Les quartz qui sont utilisables
-sont : 14.7456MHz, 29.4912MHz (14.7456*2), et 44.2368MHz (14.7456*3),
-
-\subsubsection{Registre config}
-
-C'est un registre de 8 bits branché sur le bus, en lecture/écriture, dans
-lequel le PC vient déposer les bits de configuration du port série.
-La sortie du registre controle le générateur de clock (pour fixer le
-baudrate), et le gestionaire d'IRQ.
-
-\subsubsection{Registre flag}
-
-C'est un registre de 8 bits branché sur le bus en lecture seule dans lequel le
-PC vient lire l'état des flags de la fifo. Son entrée est branchée sur les
-sorties flag de la fifo.
-
-\subsubsection{IRQ}
-
-Le gestionaire d'IRQ est tout simplement un activateur d'interruptions. Il
-déclenche des IRQ sur front montant, et ceci à condition que le signal IntEn
-soit activé.
-
-
-\subsection{Fonctionalités et utilisation}
-Ce port série utilise 3 registres : TxData, Flag, et Config
-
-\subsubsection{Txdata}
-Ce registre 8 bits sert à recevoir les données à envoyer. On les écrit
-séquentiellement, et chaque écriture dans ce registre empile la donnée en haut
-de la fifo.
-
-\subsubsection{Flag}
-C'est le registre d'état. il donne essentiellement des informations sur l'état
-de remplissage de la pile de transmision.
-
-Structure :
-\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|}
-\hline
-bit & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0
-\\ \hline
-nom & x & x & x & x & Empty & Full/Int & FLI1 & FLI0
-\\ \hline
-\end{tabular}
-
-\begin{description}
-\item [FL1/FL0] : Fifo Level 1/0. Ces bits donnent le niveau de remplissage de
-la fifo.\\
- \begin{tabular}{|c|c|c|}
- \hline
- FL1/FL0 & Tx de remplissage
- \\ \hline
- 00 & < 25\%
- \\ \hline
- 01 & 25\% < Tx < 50\%
- \\ \hline
- 10 & 20\% < Tx < 75\%
- \\ \hline
- 11 & 75\% < Tx
- \\ \hline
- \end{tabular}
-\item [Full/Int] : indique que la pile est pleine, ce qui déclenche une
-interruption
-\item [Empty] : indique que la pile ET le transmetteur sont vides, que la
-transmission est donc terminée.
-\end{description}
-
-\subsubsection{Config}
-Ce registre sert de configuration pour la transmission.
-
-Structure :
-\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|}
-\hline
-bit & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0
-\\ \hline
-nom & x & x & x & On/Off & Purge & IntEn & BdR1 & BdR0
-\\ \hline
-\end{tabular}
-
-\begin{description}
-\item [BdR1/BdR0] : BaudRate1/0. Ces bits paramètrent la vitesse de
-transmission. \\
- \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|}
- \hline
- BdR1/BdR0 & Vitessse
- \\ \hline
- 00 & 9600
- \\ \hline
- 00 & 9600
- \\ \hline
- 01 & 19200
- \\ \hline
- 10 & 57600
- \\ \hline
- 11 & 115200
- \\ \hline
- \end{tabular}
-\item [Int/En] : active ou non l'interruption de fifo pleine
-\item [Purge] : vide la fifo de toutes ses données
-\item [On/Off] : active ou non la transmission
-\end{description}
-
-\subsection{Procédure d'utilisation}
-Pour utiliser ce port série, on doit pouvoir effectuer les actions suivantes :
-
-\begin{itemize}
-\item Mettre le bit On/Off à 1 pour activer la transmission
-\item Paramétrer la vitesse à l'aide des bits BdR1/0
-\item Il est conseillé d'activer l'interruption de fifo pleine en mettant à 1
-le bit IntEn.
-\item Ecriture dans txdata pour charger les données dans la fifo. Elles sont
-alors automatiquement transférées, au plus tôt. Dès que le registre à décalage
-est vide, il dépile le dernier élément de la fifo et le transmet à nouveau.
-\item On peut lire en permanence l'état de la fifo grâce aux bits FL1/0.
-\item Quand la fifo est pleine, le flag Full/Int passe à 1, et le front
-montant de ce bit génère une interruption.
-\item Il est possible de vider la fifo en mettant Purge à 1. Il faut le
-remettre à 0 pour qu'il puisse être à nouveau actif, car la purge de la fifo
-ne s'effectue que sur front montant de ce bit.
-\end{itemize}
-
-
-\subsection{Interfaçage vhdl}
-
-Voici le code vhdl de l'entité txserie :
-\begin{verbatim}
-entity txserie is
-generic(adr : integer);
-constant adr_w : integer :=10;
-port(
- databus: inout std_logic_vector(7 downto 0);
- rw: in std_logic;
- busck: in std_logic;
- rst: in std_logic;
- masterck: in std_logic;
- txout: out std_logic;
- intout: out std_logic;
- csData: in std_logic;
- csFlag: in std_logic;
- csConfig: in std_logic;
- );
-end txserie;
-\end{verbatim}
-
-Voici une description de ces signaux :
-
-\begin{description}
-\item [databus] : bus de données
-\item [rw] : ligne Read/Write\_
-\item [busck] : horloge bus
-\item [rst] : patte de reset
-\item [masterck] : horloge générale du fpga
-\item [txout] : patte de sortie série
-\item [intout] : sortie d'interruption
-\item [csData] : chip select du registre de data
-\item [csFlag] : chip select du registre de flag
-\item [csConfig] : chip select du registre de configuration
-\end{description}
-
-
-
-
-
-% Deuxième partie : le RXserie
-
-\section{Le RXserie}
-\subsection{Cahier des charges}
-Le cahier des charges du récepteur série est le suivant :
-
-\begin{itemize}
-\item Réception série 8 bits, 1 start, 2 stop
-\item Vitesse : paramétrable 9600 et 115200 bauds
-\item Fifo de stockage des données reçues
-\item Interruption activable signalant que la fifo est pleine
-\item Interruption activable signalant qu'on a reçu une donnée
-\end{itemize}
-
-
-\subsection{Schéma-bloc}
-
-Le schéma modulaire est visible sur la figure \ref{schemarxserie} page \pageref{schemarxserie}.
-
-\begin{figure}[htbp]
-\caption{Schéma-bloc du RXserie}
-\includegraphics[width=\textwidth]{images/rxserie.pdf}
-\label{schemarxserie}
-\end{figure}
-
-
-\subsection{Descritpion des modules}
-\subsubsection{Le RXcever}
-
-C'est un récepteur série qui présente ses données à l'entrée de la fifo
-Dès qu'il a reçu un octet, il agit sur le signal fifockin de la fifo
-ce qui empile l'octet reçu.
-
-\subsubsection{Autres modules}
-
-Les autres modules utilisés sont les mêmes que pour le transmetteur. Voir
-chapitre \ref{descriptmodules}.
-
-
-\subsection{Fonctionalités et utilisation}
-Ce port série utilise 3 adresses mémoire :
-\subsubsection{Rxdata}
-Ce registre 8 bits permet de récupérer les données reçues. On les lit
-séquentiellement, et chaque lecture dans ce registre dépile la donnée en bas
-de la fifo.
-
-\subsubsection{Flag}
-C'est le registre d'état. Il donne essentiellement des informations sur l'état
-de remplissage de la pile de réception.
-
-Structure :
-\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|}
-\hline
-bit & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0 \\
-\hline
-nom & x & x & x & x & DR & FFull & FL1 & FL0 \\
-\hline
-\end{tabular}
-
-\begin{description}
-\item [FL1/FL0] : Fifo Level 1/0. Ces bits donnent le niveau de remplissage de
-la fifo. \\
- \begin{tabular}{|c|c|c|}
- \hline
- FL1/FL0 & Tx de remplissage
- \\ \hline
- 00 & < 25\%
- \\ \hline
- 01 & 25\% < Tx < 50\%
- \\ \hline
- 10 & 20\% < Tx < 75\%
- \\ \hline
- 11 & 75\% < Tx
- \\ \hline
- \end{tabular}
-\item [FFull] : indique que la pile est pleine. Chaque front montant de ce
-bit déclenche l'interruption FifoFullInt
-\item [DR] : DataReady. Indique que la fifo n'est plus vide, et donc qu'une
-donnée est arrivée dans le récepteur. Chaque front montant de ce bit déclenche
-l'interruption DRInt
-\end{description}
-
-\subsubsection{Config}
-Ce registre sert de configuration pour la transmission.
-
-Structure
-\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|}
-\hline
-bit & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 0
-\\ \hline
-nom & x & x & x & On/Off & DRIE & FFIE & BdR1 & BdR0
-\\ \hline
-\end{tabular}
-
-\begin{description}
-\item [BdR1/BdR0] : BaudRate1/0. Ces bits paramètrent la vitesse de
-transmission. \\
- \begin{tabular}{|c|c|c|}
- \hline
- BdR1/BdR0 & Vitessse
- \\ \hline
- 00 & 9600
- \\ \hline
- 01 & 19200
- \\ \hline
- 10 & 57600
- \\ \hline
- 11 & 115200
- \\ \hline
- \end{tabular}
-\item [FFIF] : FifoFull-Int-Enable. Active ou non l'interruption FifoFull
-(actif à 1)
-\item [DRIE] : DataReady-Int-Enable. Active ou non l'interruption
-DataReady (actif à 1)
-\item [On/Off] : active ou non la réception de données
-\end{description}
-
-\subsection{Procédure d'utilisation}
-Pour utiliser ce port série, on doit pouvoir effectuer les actions suivantes :
-\begin{itemize}
-\item Mettre le bit On/Off à 1 pour activer la réception des données.
-\item Paramétrer la vitesse à l'aide des bits BdR1/0
-\item Il est conseillé d'activer l'interruption de fifo pleine (FFInt) en
-mettant à 1 le bit FFIE.
-\item On peut également activer l'interruption de donnée reçue DRInt en
-mettant à 1 le bit DRIE.
-\item Tester si une donnée est présente dans le buffer en testant le bit DR.
-S'il est à 1, lire la donnée dans rxdata. La donnée est alors automatiquement
-dépilée de la fifo.
-\item On peut lire en permanence l'état de la fifo grâce aux bits FL1/0.
-\item Quand la fifo est pleine, le flag FFI passe à 1, et le front
-montant de ce bit génère une interruption. Il faut alors lire les 512 octets
-de la fifo pour la vider.
-\end{itemize}
-
-
-
-\subsection{Interfaçage vhdl}
-
-Voici le code vhdl de l'entité rxserie :
-\begin{verbatim}
-entity rxserie is
-generic(adr : integer);
-constant adr_w : integer :=10;
-port(
- databus: inout std_logic_vector(7 downto 0);
- rw: in std_logic;
- busck: in std_logic;
- rst: in std_logic;
- masterck: in std_logic;
- rxin: in std_logic;
- DRIout: out std_logic;
- FFIout: out std_logic;
- csData: in std_logic;
- csFlag: in std_logic;
- csConfig: in std_logic
- );
-end rxserie;
-\end{verbatim}
-
-\begin{description}
-\item [databus] : bus de données
-\item [rw] : ligne Read/Write\_
-\item [busck] : horloge bus
-\item [rst] : patte de reset
-\item [masterck] : horloge générale du fpga
-\item [rxin] : patte de sortie série
-\item [DRIout] : sortie d'interruption DRInt
-\item [FFIout] : sortie d'interruption FFInt
-\item [csData] : chip select du registre de data
-\item [csFlag] : chip select du registre de flag
-\item [csConfig] : chip select du registre de configuration
-\end{description}
-
-
diff --git a/2004/n/fpga/doc/dossierconception/rapport.tex b/2004/n/fpga/doc/dossierconception/rapport.tex
deleted file mode 100644
index bef1baa..0000000
--- a/2004/n/fpga/doc/dossierconception/rapport.tex
+++ /dev/null
@@ -1,68 +0,0 @@
-\documentclass[a4paper,dvips,pdftex]{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}
-
-\usepackage{listings}
-\lstset{language=C,
- basicstyle=\footnotesize, %diminue la taille de listings
- numbers=left, % nombre à gauche
- numberstyle=\tiny,
- stepnumber=5,
- %numbersep=10pts
- xleftmargin=30pt
- }
-
-% 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
-
-%}}}1
-
-% Entête de page :
-\lhead{\small{TB - PP - PAG - FG}}
-\rhead{I2 ET\\ Mars 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{Mars 2004}
-\maketitle
-\pagebreak
-\tableofcontents
-\pagebreak
-
-\section{Introduction}
-
-Notre projet s'articule autour de plusieurs modules.
-Dans ce rapport, nous exposerons l'architecture de chacun de ces modules.
-
-\input{ovcam.tex}
-\pagebreak
-
-\input{portserie.tex}
-\pagebreak
-
-
-\end{document}
diff --git a/2004/n/fpga/doc/dossierconception/rdcam.c b/2004/n/fpga/doc/dossierconception/rdcam.c
deleted file mode 100644
index 8584282..0000000
--- a/2004/n/fpga/doc/dossierconception/rdcam.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/* rdcam.c contient les fonctions qui enregistre l'image
- */
-
-#include "rdcam.h"
-#include <sys/ports.h>
-#include <sys/sio.h>
-#include <sys/interrupts.h>
-
-#define CAM_PCLK BITN(1)
-#define CAM_HREF BITN(2)
-#define CAM_VSYNC BITN(3)
-
-void
-cam_init(void)
-{
- // configuration des lignes en entrée;
- //_io_ports[M6811_DDRA] &= ~0x07 ;
- _io_ports[M6811_DDRG] = 0;
-}
-
-unsigned char
-test_portcam(unsigned char bit)
-{
- if ((_io_ports[M6811_PORTA] & bit) !=0)
- return 1;
- else
- return 0;
-}
-
-/* 352*288 = 101376 octect
- * le 68 hc ne dispose que de 64ko de RAM !!! PB --> on segmente en 4
- * parties :
- * 288 /4 = 72
- *
- * 352 * 72
- */
-
-void
-cam_get(unsigned char * tab, unsigned char part)
-{
- unsigned char ligne;
- unsigned char *p;
- // attend que CAM_VSYNC passe à 1
- while (!(_io_ports[M6811_PORTA] & 0x04))
- ;
- for (ligne=0;ligne < 72 * part;ligne++)
- {
- // attend que CAM_HREF passe à 1
- while(!(_io_ports[M6811_PORTA] & 0x02))
- ;
- // attend que CAM_HREF passe à 0
- while((_io_ports[M6811_PORTA] & 0x02))
- ;
- }
- for (ligne=0;ligne<72;ligne++)
- {
- p = tab;
- // attend que CAM_HREF passe à 1
- while(!(_io_ports[M6811_PORTA] & 0x02))
- ;
- // tant que CAM_HREF est à 1
- while(_io_ports[M6811_PORTA] & 0x02)
- {
- // si CAM_PCLK passe à 1
- if(_io_ports[M6811_PORTA] & 0x01)
- {
- *p++ = _io_ports[M6811_PORTG];
- // attend que CAM_PCK passe à 0
- while(_io_ports[M6811_PORTA] & 0x01)
- ;
- }
- }
- tab += 352;
- }
-}
-
-void
-cam_count_href_pclk(int *tab)
-{
- int i = 0;
- int c;
- // attend que CAM_VSYNC passe à 1
- while (!(_io_ports[M6811_PORTA] & 0x04))
- ;
- // attend que CAM_HREF passe à 1
- while(!(_io_ports[M6811_PORTA] & 0x02))
- ;
- // attend que CAM_HREF passe à 0
- while(_io_ports[M6811_PORTA] & 0x02)
- ;
- // attend que CAM_HREF passe à 1
- while(!(_io_ports[M6811_PORTA] & 0x02))
- ;
- for (i = 0; i < 288; i++)
- {
- c = 0;
- // tant que CAM_HREF est à 1
- while(_io_ports[M6811_PORTA] & 0x02)
- {
- // attend que PCLK passe à 1
- while(!(_io_ports[M6811_PORTA] & 0x01))
- ;
- // attend que PCLK passe à 0
- while(_io_ports[M6811_PORTA] & 0x01)
- ;
- c++;
- }
- *tab++ = c;
- }
-}
-
-void
-cam_skip_frames(int n)
-{
- int i;
- for (i = 0; i < n; i++)
- {
- // attend que CAM_VSYNC passe à 1 puis 0
- while (!(_io_ports[M6811_PORTA] & 0x04))
- ;
- while ((_io_ports[M6811_PORTA] & 0x04))
- ;
- }
-}
diff --git a/2004/n/fpga/doc/dossierconception/rdcam.h b/2004/n/fpga/doc/dossierconception/rdcam.h
deleted file mode 100644
index 1544641..0000000
--- a/2004/n/fpga/doc/dossierconception/rdcam.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef RDCAM_H
-#define RDCAM_H
-
-#define BITN(x) (1<<(x))
-
-
-void
-cam_init(void);
-void
-cam_get(unsigned char * tab, unsigned char part);
-unsigned char
-test_portcam(unsigned char bit);
-void
-cam_count_href_pclk(int *tab);
-void
-cam_skip_frames(int n);
-
-#endif