pfe vhdl fpga
TRANSCRIPT
Ch
apit
re 3
: Le
s FP
GA
1
1. Introduction :
la dernière décade, les Field-programmable Gate Arrays (FPGAs)
sont devenue une clé véritable de l'implémentation des circuits numérique
.le crucial part de sa création et de son architecture donnera la nature de son
programmable fonctions et son programmable interconnexion
L’architecture de l'FPGA a un effet dramatique sur la qualité final de
performance de matériel, efficacité de la place, et la consommation
d'énergie.
Ch
apit
re 3
: Le
s FP
GA
2
2. Définition :
Les FPGA (Field Programmable GateArrays ou "réseaux logiques programmables") sont des
composants VLSI pré reconfigurables ce qui permet de les reprogrammer afin d'accélérer
notablement certaines phases de calculs.
L'avantage de ce genre de circuit est sa grande souplesse qui permet de les réutiliser dans des
algorithmes différents en un temps très court.
Le progrès de ces technologies permet de faire des composants toujours plus rapides et à plus
haute intégration, ce qui permet de programmer des applications importantes.
3. Historique
Les origines des FPGA est liée au développement des circuits intégrer au 1960s Après que les
appareils programmable employant des architecture régulier et des fonctions flexibles. Voici quelque
principales étapes qui ont archivée l’histoire des FPGA :
L’apparition des premières matrices bidimensionnelles des simples cellules logiques,
1960 la programmation sur place ou « Field-programmable », le pouvoir de changer la
fonction logique d'un circuit après sa fabrication, étais archivée par l'introduction des matrices
cellulaire a ‘point de rupture’ l'optimisation du réseau a permis à la simplification de la
fabrication des matrices et à élargement de ses utilisations
en 1970, des séries de mémoire a lecture seul (ROM)-basée programmables appareilles était
introduits et fournira une nouvelle méthode pour implémenter les fonctions logiques,
La premier (SRAM-basée FPGA) a étais proposé par Wallström en 1967 cette architecture a
permis a la configuration de la logique des interconnections par utilisation des flots des bits
configurables,
La modern FPGA a été introduite par "Xlinx" en 1984, il contient 64 bloc logique et 58 entrer
et 49 sortie, dès cette premier FPGA.,il ont grandis énormément en complexion ,les modern
FPGAs peuvent contenir 330.000 des bloc programmables et approximativement 1100 inputs
and outputs cette augmentation massive des capacité des FPGA a été accompagné d’un
changement signifiant de leurs architectures .
4. Fpga altéra cyclone II
4.1 Architecture
L'architecture, retenue par Altera, se présente sous forme de deux couches :
une couche appelée circuit configurable,
une couche réseau mémoire SRAM.
La couche dite 'circuit configurable' est constituée d'une matrice de blocs logiques
configurables CLB permettant de réaliser des fonctions combinatoires et des fonctions
séquentielles. Tout autour de ces blocs logiques configurables, nous trouvons des blocs
entrées/sorties IOB dont le rôle est de gérer les entrées-sorties réalisant l'interface avec les
Ch
apit
re 3
: Le
s FP
GA
3
modules extérieurs La programmation du circuit FPGA appelé aussi LCA (logic cells arrays)
consistera par le biais de l'application d'un potentiel adéquat sur la grille de certains transistors
à effet de champ à interconnecter les éléments des CLB et des IOB afin de réaliser les
fonctions souhaitées et d'assurer la propagation des signaux. Ces potentiels sont tout
simplement mémorisés dans le réseau mémoire SRAM.
Figure 1 : Architecture interne d'un FPGA.
Les circuits FPGA du fabricant Altera utilisent deux types de cellules de base :
les cellules d'entrées/sorties appelés IOB (input output bloc),
les cellules logiques appelées CLB (configurable logic bloc). Ces différentes cellules
sont reliées entre elles par un réseau d'interconnexions configurable.
4.1.1 Les CLB (configurable logic bloc)
Les blocs logiques configurables sont les éléments déterminants des performances du FPGA.
Chaque bloc est composé d'un bloc de logique combinatoire composé de deux générateurs de
fonctions à quatre entrées et d'un bloc de mémorisation synchronisation composé de deux
Ch
apit
re 3
: Le
s FP
GA
4
bascules D. Quatre autres entrées permettent d'effectuer les connexions internes entre les
différents éléments du CLB. La figure ci-dessous, nous montre le schéma d'un CLB.
Figure 2 : Cellule logique (CLB).
4.1.2 Les IOB (input output bloc):
La figure présente la structure de ce bloc. Ces blocs entrée/sortie permettent l'interface entre
les broches du composant FPGA et la logique interne développée à l'intérieur du composant.
Ils sont présents sur toute la périphérie du circuit FPGA. Chaque bloc IOB contrôle une
broche du composant et il peut être défini en entrée, en sortie, en signaux bidirectionnels ou
être inutilisé (haute impédance).
Ch
apit
re 3
: Le
s FP
GA
5
Figure 3: Input Output Block (IOB).
4.1.3 Configuration en entrée:
Premièrement, le signal d'entrée traverse un buffer qui peut détecter les seuils TTL 5V Il
peut être routé directement sur une entrée directe de la logique du circuit FPGA ou sur une
entrée synchronisée. Cette synchronisation est réalisée à l'aide d'une bascule de type D, le
changement d'état peut se faire sur un front montant ou descendant. De plus, cette entrée peut
être retardée de quelques nanosecondes pour compenser le retard pris par le signal d'horloge
lors de son passage par l'amplificateur. Le choix de la configuration de l'entrée s'effectue
grâce à un multiplexeur (program controlled multiplexer). Un bit positionné dans une case
mémoire commande ce dernier.
4.1.4 Configuration en sortie:
Nous distinguons les possibilités suivantes :
o inversion ou non du signal avant son application à l'IOB,
o synchronisation du signal sur des fronts montants ou descendants d'horloge,
o mise en place d'un " pull-up " ou " pull-down " dans le but de limiter la consommation
des entrées sorties inutilisées,
o signaux en logique trois états ou deux états. Le contrôle de mise en haute impédance et
la réalisation des lignes bidirectionnelles sont commandés par le signal de commande
Out Enable lequel peut être inversé ou non. Chaque sortie peut délivrer un courant de
12mA. Ainsi toutes ces possibilités permettent au concepteur de connecter au mieux
une architecture avec les périphériques extérieurs.
4.1.5 Les différents types d'interconnexions:
Ch
apit
re 3
: Le
s FP
GA
6
Les connexions internes dans les circuits FPGA sont composées de segments métallisés.
Parallèlement à ces lignes, nous trouvons des matrices programmables réparties sur la totalité
du circuit, horizontalement et verticalement entre les divers CLB. Elles permettent les
connexions entre les diverses lignes, celles-ci sont assurées par des transistors MOS dont l'état
est contrôlé par des cellules de mémoire vive ou RAM. Le rôle de ces interconnexions est de
relier avec un maximum d'efficacité les blocs logiques et les entrées/sorties afin que le taux
d'utilisation dans un circuit donné soit le plus élevé possible. Pour parvenir à cet objectif,
Altéra propose trois sortes d'interconnexions selon la longueur et la destination des liaisons.
Nous disposons :
o d'interconnexions à usage général,
o d'interconnexions directes,
o de longues lignes
A) LES INTERCONNEXIONS A USAGE GENERALE
Ce système fonctionne en une grille de cinq segments métalliques verticaux et quatre
segments horizontaux positionnés entre les rangées et les colonnes de CLB et de l'IOB.
Figure 4 : Connexions à usage général et détail d'une matrice de commutation.
Des aiguilleurs appelés aussi matrices de commutation sont situés à chaque intersection. Leur
rôle est de raccorder les segments entre eux selon diverses configurations, ils assurent ainsi la
communication des signaux d'une voie sur l'autre. Ces interconnexions sont utilisées pour
relier un CLB à n'importe quel autre. Pour éviter que les signaux traversant les grandes lignes
ne soient affaiblis, nous trouvons généralement des buffers implantés en haut et à droite de
chaque matrice de commutation.
B) LES INTERCONNECTIONS DIRECT:
Ces interconnexions permettent l'établissement de liaisons entre les CLB et les IOB avec un
maximum d'efficacité en terme de vitesse et d'occupation du circuit. De plus, il est possible de
connecter directement certaines entrées d'un CLB aux sorties d'un autre.
Ch
apit
re 3
: Le
s FP
GA
7
Figure 15: Les interconnexions directes.
C) LES LONGES LIGNES :
Les longues lignes sont de longs segments métallisés parcourant toute la longueur et la largeur
du composant, elles permettent éventuellement de transmettre avec un minimum de retard les
signaux entre les différents éléments dans le but d'assurer un synchronisme aussi parfait que
possible. De plus, ces longues lignes permettent d'éviter la multiplicité des points
d'interconnexion.
Figure 6: Les longues lignes.
D) PERFORMANCES DES INTERCONNEXIONS
Les performances des interconnexions dépendent du type de connexions utilisées. Pour les
interconnexions à usage général, les délais générés dépendent du nombre de segments et de la
quantité d'aiguilleurs employés. Le délai de propagation de signaux utilisant les connexions
directes est minimum pour une connectique de bloc à bloc. Quant aux segments utilisés pour
les longues lignes, ils possèdent une faible résistance mais une capacité importante. De plus,
si on utilise un aiguilleur, sa résistance s'ajoute à celle existante.
Ch
apit
re 3
: Le
s FP
GA
8
4.1.6 L'oscillateur à quartz:
Placé dans un angle de la puce, il peut être activé lors de la phase de programmation pour
réaliser un oscillateur. Il utilise deux IOB voisins, pour réaliser l'oscillateur dont le schéma est
présenté ci-dessous. Cette oscillateur ne peut être réalisé que dans un angle de la puce où se
trouve l'amplificateur prévu à cet effet. Il est évident que si l'oscillateur n'est pas utilisé, les
deux IOB sont utilisables au même titre que les autres IOB
5. Présentation de la carte de développement
5.1 Introduction
La carte de développement Cyclone II FPGA Starter ou II’ EP2C20’ (figure 1-1) est une FPGA de
chez Altera Comme elle est décrite dans son référence la cyclone II fournit des fonctions intégrées qui
permettent aux utilisateurs de développer et de tester les désignes qui peuvent varier de simples
circuits au multiple multimédia projets, tout sans le besoin d'implémenter des interfaces de
programmation complexes (APIs), sans programmes de contrôle et sans des contrôleurs mémoires
SRAM/SDRAM/FLASH.
Cette partie décrit les caractéristiques de la Catre FPGA cyclone II, ses méthodes de configuration et
de programmation ainsi que ses composants
Figure 7 : carte de développement II EP2C20
Ch
apit
re 3
: Le
s FP
GA
9
3.1 Caractéristiques matérielles
3.2 Diagramme-bloc de la carte de développement :
Figure 8 : diagramme bloc de la carte de développement
7. Programmation et configuration :
la carte de développement cyclone II a intégrer les circuit de programmation de la FPGA :le USB-
Blaster et aussi la carte EEPROM qui enregistre les donnes de configuration de FPGA . ses
données de configurations se chargent automatiquement de EEPROM a FPGA chaque fois la carte
est mise sous tension
7.1 Flot de conception
■ Altera Cyclone® II EP2C20 FPGA
■ Altera EPCS4 Configuration serie
■ USB-Blaster puce contrôleur fixé pour
la programmation et utilisation de l'API
de contrôle il support à la fois les
modes de programmation JTAG et le
mode de série active (AS) . ■ SRAM de 512-KByte
■ SDRAM de 8-MByte
■ Mémoire Flash de4-MByte
■ carte prise de SD Flash
■ 4 Boutons poussoirs
■ 10 Interrupteurs à bascule
■ 10 LEDs rouges
■ 8 LEDs verts
■ Oscillateurs pour les sources d'horloge
de 50 MHz, 27 MHz, et 24 MHz
■ CAD VGA (réseau de résistances 4-
bits) avec connecteur sortie VGA
■ RS-232 émetteur-récepteur et à 9
broches
■ connecteur PS / 2 souris / clavier ■ Deux têtes d'extension à 40 broches avec
résistance de la protection
■ 7.5V DC adaptateur ou un câble
Ch
apit
re 3
: C
on
clu
sio
n
10
Figure 9 : schéma représentant le flot de conception du programme
Les sections suivantes décrivent les deux modes de programmer la FPGA, programmation
JTAG et la programmation série active (AS) programmation :
7.2 Programmation JTAG
Dans cette méthode de programmation, nommé d'après des normes IEEE les téléchargements de
configuration de flux de bitsse fait directement dans leCyclone II FPGA à travers le circuit USB-
Blaster. La FPGA conserve cette configuration aussi longtemps que la tension est appliquée à la carte,
la FPGA perd la configuration lorsque l'alimentation est coupée.
7.3 Programmation AS
Dans le procédé de programmation série active, le train de bits de configuration se charge dans la
EEPROM de la FPGA La mémoire EEPROM fournit une mémoire non volatile en conservant les
informations même lorsque l'alimentation à l'Cyclone II FPGA Starter est éteint, Lorsque la carte de
développement est mise sous tension, les données de configuration de EPCS4 se chargent
automatiquement sur le FPGA Cyclone II.
8. Conclusion Dans ce chapitre on a cité quelque principale connaissances de bases sur les FPGA, ainsi on a
essaie de résumer les caractéristiques de la FPGA Altéra cyclone II qui sera utilisée dans notre
projet.
Compil
VHDL Synthèse
Pin
assign Config
Lib
VHDL
lib
FPGA
Ch
apit
re 3
: P
RO
CES
SUS:
11
1. Introduction :
ual Conveyor Plc Workcell 34-120, est une machine
complet fabriquée par feedback Inc. 2010
Ch
apit
re 3
: P
RO
CES
SUS:
12
2. Description du system
2.1 Présentation du Bank de trie
« Dual Conveyor Plc Workcell 34-120 » : Bank de trie avec double convoyeurs, est un
système complet qui peut être utilisée pour développer la tache de tri des pièces, dans un
premier temps les Composants plastiques et métalliques sont choisis par taille puis ils sont
amenés sur les goulottes de distribution en une tâche d'assemblage finale où ils sont combinés
avec un second composant. Le produit fini peut ensuite être triés par sa taille, sa nature ou son
type.
2.2 structure générale du système
Figure 1: schéma descriptif de fonctionnement général du système
2.3 Blocs fonctionnelles
2.3.1 ALIMENTATION ET INTERFACE
Les alimentations des convoyeurs, des capteurs et actionneurs sont logés dans la section à l'arrière de
la base, sous le convoyeur supérieur. L’interconnexion supérieure entre La FPGA et les capteurs sur
la cellule de travail nécessite des circuits d'interface. Ces se trouvent sur la carte de circuit imprimé
(PCB) à la gauche du convoyeur supérieur.
La machine requit une source d’alimentation alternative (220v 50/60 Hz)
2.3.2 PIECES POUR L’ASSEMBLAGE
Les composants à utiliser dans les tâches de trie sont de deux types: une "base" et une rondelle les
deux peuvent être assemblé.
La "rondelle" peut être soit en métal ou en plastique et peut avoir des hauteurs différentes (épaisseur)
Les tâches associées au système sont de sélectionné le type requis et la taille de la "rondelle" et de
l'assembler correctement sur une "base".
Carte
interface et
d’isolement
Carte FPGA
ALTERA
CYCLONE II
Bank de
Trie des pièces
Ch
apit
re 3
: P
RO
CES
SUS:
13
Figure 2 : les pièces pour triage et assemblage (rondelle et base)
Le tableau ci-dessous donne les tailles des pièces fournies
pièces (rondelle) hauteur (épaisseur)
standard, correcte 8mm
mauvaise hauteur 7mm et 9 mm
Figure 3 tailles accepté /non acceptés par la jauge de la hauteur
2.3.3 CONVOYEURS
Le système contienne deux convoyeurs utilisés pour le déplacement des pièces. Ces convoyeurs.
Contiennent des moteurs à courant continu Les, moteurs sont sous le contrôle de l'FPGA, via le circuit
d'interface.
Le convoyeur supérieur peut être considéré comme un convoyeur Signale avec ses différentes
opérations qui peuvent être explorées pour effectuer l'ensemble des taches de dimensionnement, la
détection matérielle, le tri des composants avant l’assemblage par le transporteur inférieur.
Le convoyeur supérieur dispose d'un réglage de contrôle de vitesse par un ajustement de RV1 situé
sur le coin en haut à gauche sur la carte de circuit imprimé. Cela est réglé en usine, mais elle peut
varier si l'alimentation principale en courant alternatif de l'unité différer de celle de l'usine
Figure 4 : convoyeur
2.3.4 DISTRIBUTEURS DES PIECES
les distributeurs de pièces utilisent des actionneurs électromagnétiques et ont été conçus pour gérer les
deux types de composants utilisés dans la tâche d'assemblage.
Ch
apit
re 3
: P
RO
CES
SUS:
14
il y a deux distributeurs : un pour la partie "base", l'autre pour la "rondelle". Les distributeurs sont sous
le contrôle de l'FPGA, via le circuit d'interface
Figure 5 distributeur des pièces
2.3.5 CAPTEURS
Le Bank de trie a un certain nombre des détecteurs pour détecter des composants à différentes parties
du système. Ces capteurs sont Photo-réfléchissants de type infrarouge. Le statut de chaque -détecteur
est indiqué par une LED intégrée monté sur le PCB de ce détecteur .Il est également équipé d'un
dispositif inductif qui est utilisé en conjonction avec un photo-capteur pour fournir un détecteur simple
pour détecter la différence entre le plastique et les composants métalliques .
Figure 6 capteurs photo-électriques de position
2.3.6 JAUGE DE LA HAUTEUR
Ce bloc utilise un moteur à courant continu pour déplacer la jauge de mesure de la hauteur, des
photo-détecteurs qui peuvent être ajustés pour donner une sortie quand un composant de taille correct
est détecté. En vertu, les composants surdimensionnés sont rejetés. L’état des détecteurs montés sur les
jauges de taille ont surveillés par des LED monté sur les unités..
Ch
apit
re 3
: P
RO
CES
SUS:
15
Figure 7 Jauge de mesure de la hauteur
2.3.7 MANIPULATEURS DES PIECES
Le manipulateur des pièces ou flippers ont pour fonction de déplacer les pièces d'un convoyeur à
l'autre, ou de sélectionner certaines pièces sur le même convoyeur Ils fonctionnent à forcer un
composant qui se déplace sur le convoyeur, soit à être éjecté ou stockés dans un endroit Particulier.
Figure 8 : manipulateur des pièces
3. Analyse fonctionnelle du system
3.1 Analyse fonctionnelle externe
3.1.1 FORMULATION DU BESOIN
Ch
apit
re 3
: P
RO
CES
SUS:
16
Pour répondre au besoin éprouvé, il faut répondre à trois questions, celles-ci sont généralement
regroupées dans un graphique appelé familièrement « bête à corne » .
Figure 9 Diagramme « bête à corne » du Bank de trie des pièces
3.1.2 DIAGRAMME PIEUVRE
Elle consiste à déterminer les relations du système étudié avec les milieux extérieurs
autrement dit trouver les fonctions de service. Les fonctions de service sont visualisées dans
un graphe appelé diagramme Pieuvre
FC4
FC2
FC5
BANK DE TRIE
DE PIECES
Opérateur
Isolation
HACCP
FPGA
Pieces d’essai
Bac
Energie
pneumaque
FP FC3
FC1
Environment
Sur quoi le système agit-il ?
Les pieces “rondelles”
A qui le système étudié
rend service ?
utilisateur
Système étudié ?
Bank de trie des pièces
Dans quel but ?
Trier les pièces
Ch
apit
re 3
: P
RO
CES
SUS:
17
Figure 10 : le diagramme Pieuvre de du Bank de trie
Caractérisation des fonctions de service :
FP1 : Trier les pièces « rondelles « selon leurs tailles et natures (métallique/plastique).
FC1 : s’adapter Communiquer et avec l’FPGA.
FC2 : être isolé électriquement.
FC3 : Ranger les pièces surdimensionnés.
FC4 : S’adapter à l’éclairage du laboratoire.
FC5 : Alimenter en énergie les composants électriques en toute sécurité.
3.2 Analyse fonctionnelle interne
L’analyse fonctionnelle interne s’inscrit dans le cadre d’une démarche visant à identifier le processus
du système. Dans cette optique, l’analyse fonctionnelle interne sera limitée à la fonction principale
FP1. Vue la complexité de FP1, il s’avère primordial de la découper en sous fonctions principales.
Figure 11 : sous fonctions de la fonction principale
3.2.1 DIAGRAMME FAST DE LA FONCTION PRINCIPALE
A ce stade, l’identification des fonctions techniques de chaque sous fonctions est nécessaire.
Ainsi, nous avons réalisé l’analyse FAST pour toutes les sous fonctions déterminées dans le
FP1 : Faire distribuer les pièces
FP : trier et assembler les pièces
FP3: mesurer les tailles des pièces
production
FP2 : faire déplacer les pièces
FP5 : sélectionner / rejecter les pieces
FP4 : détecter la nature (métallique/ plastique)
.
FP5 : assemblé et ranger
Ch
apit
re 3
: P
RO
CES
SUS:
18
paragraphe précédent. Ces diagrammes FAST sont regroupés en annexe A. Nous présentons
comme exemple l’analyse FAST de la sous fonction FP2 et FP3.
Sous fonction Solution technique Solution technologique
Figure 12 : Analyse FAST de FC3 et FC4
3.3 Modélisation avancée
Après l’analyse fonctionnelle du système il fallait le modéliser, il s’agissait de la définition d’un
modèle fonctionnelle de système, dans cette approche on va introduire des nouveaux concepts comme
l’analyse SADT, la décomposition des taches, et la définition des chaines d’actions et d’information
3.3.1 IDENTIFICATION DE SYSTEME
C’est un système automatique dont la partie commande est l’FPGA et la partie processus est le Bank
de trie, les deux sont liée au moyenne de l’interface.
L’FPGA envoie des commandes vers la partie opérative en fonction d’un processus préétablie, puis la
partie opérative assure l’assemblage et le tri des pièces et envoie un compte rendue sur l’état à
l’FPGA.
3.3.2 DIAGRAMME SADT
Le diagramme SADT représente le système comme une boite fermé, ayons pour entres la matière
première, les ordres de réglage, l’énergie..., et comme sortie le produit finale
Faire déplacer
les pièces
Créer un
mouvement
Transmettre
le mouvement
Mesurer la
taille
Déplacer la jauge de la
hauteur
Détecter la taille
Détecter la position
maximale de la jauge
Détecter la position finale
de la jauge
Moteur cc
Photo-détecteur de position
Photo-détecteur de position
Photo-détecteur de position
Mouteur CC
Conoyeur
Ch
apit
re 3
: P
RO
CES
SUS:
19
Figure 13: le modèle SADT du système de trie des pièces
3.3.3 TACHES ET SOUS-ENSEMBLES FONCTIONNELLE
D’après l’analyse de système on distingue deux principales sous ensemble fonctionnelles
Sous ensemble de détection (phase du premier convoyeur)
Ce sous ensemble regroupe les taches de mesure de la hauteur, l’identification des nature des
pièces et de sélection des chutes .il correspond au premier cycle.
Sous ensemble d’assemblage (phase de deuxième convoyeur)
Le sous ensemble d’assemblage correspond au cycle du deuxième convoyeur et regroupe les
taches d’assemblage et de déclassement.
Ses taches fonctionnelles seront décrites dans la partie décrivant le processus de fonctionnement
3.3.4 CHAINES D’INFORMATION
C’est la partie du système qui capte l'information et qui la traite. On peut découper cette chaîne en
trois blocs fonctionnels : acquérir, traiter et communiquer
Trier selon les tailles et la
nature
énergie capteurs
Arret/ marche
Déscription VHDL
Système de trie des pièces
Rondelles métalique et
plastique de diffirentes
tailles +
Bases des pièces
Pièces triée et
assembler
+piéces non
conforme
Ch
apit
re 3
: P
RO
CES
SUS:
20
Figure 14 : chaine d’information du système de trie des pièces
3.3.5 CHAINES D’ENERGIE
C’est L’ensemble des procédés qui vont réaliser une action
Figure 15 : chaine d’énergie du système de trie des pièces
1. fonctionnement du Processus
1.1 Mesure de la hauteur
La séquence d'opérations qui peuvent être exécutées par le système sont les suivante :
Premièrement la bande transporteuse est démarrée.
Suivant, le composant rondelle est distribué sur le convoyeur par l'actionnement du solénoïde
premier distributeur
la rondelle se déplace ensuite à une courte distance le long de la courroie jusqu'à ce que sa
présence est détectée par le premier capteur optique.
après une période de temps le convoyeur est arrêté avec la rondelle sous la jauge du hauteur.
la jauge de hauteur détermine maintenant si la rondelle est dans la hauteur prescrite (épaisseur)
des limites.
le convoyeur est redémarré, ce qui provoque le déplacement la rondelle
Acquérir Traiter Communiquer Présence
d’une pièce
Ordres au :
convoyeurs
flippers,
distributeurs …
Carte
d’interface
FPGA
Détecteur photo-électrique
Capteur inductif
Moteur CC
Transistors
+relais
Prise secteur +
interface 220 AC -> 24 DC
Alimenter Distribuer Convertir Alimentation
220v
Ordres au :
convoyeurs
flippers,
distributeurs
…
Convertir
Bande
transporteuse +
roues tournantes
Ch
apit
re 3
: P
RO
CES
SUS:
21
4. 3 Détection de la nature des pièces
Le processus se poursuit maintenant vers le détecteur inductif. L’objective de ce capteur consiste à
déterminer si la rondelle est en métal ou en plastique. le processus se poursuit comme suit:
la présence d'une pièce devant le détecteur inductif est déterminée par le second capteur
optique. lorsque cela se produit le convoyeur est arrêté.
le capteur inductif est activé afin de déterminer si la pièce est en métal ou en plastique
le convoyeur est redémarré et la pièce se déplace
4.4 Sélection et chutes
Après le détecteur inductif il y a deux chemins. L’un des pièces qui ont été déterminé métallique,
l'autre si la pièce était déterminée plastique. Toutefois, cela ne devrait se produire que si la pièce a
passé le premier test du hauteur.si la rondelle a échoué à l'initiale essai de hauteur, aucun flipper ne
devrais fonctionner, et la pièce continue à la fin de convoyeur et ranger dans le bac extrémité.
Lorsque l'un des flippers est commandé la pièce est forcée hors du convoyeur à la goulotte du chut est
maintenu prêt pour la phase d'assemblage du processus.
4.5 Phase de trie
Il utilise le convoyeur inférieur du Bank, Le processus se poursuit comme suit :
Premièrement, la bande transporteuse inférieure est démarrée.
lorsqu'une rondelle est disposée le composant de base est distribué sur le convoyeur par
l'actionnement du solénoïde second distributeur.
la partie de base se déplace le long du convoyeur, ramasse la rondelle disponible, qui est
ensuite assemblé sur la base.
les mouvements de montage résultant vers l'extrémité du convoyeur, lorsque le dernier opto-
détecteur détermine les sorties du guide d’assemblage un pour les pièces métalliques, l'autre
pour les plastiques.
4.6 Arrêter le système
à tout moment pendant le fonctionnement du système Lorsque le bouton "stop" du PCB
est utilisé, il devrait immédiatement arrêter le système l de telle sorte que pousser le vert
bouton "START" débutera le processus une fois de plus.
Pour ce faire, les étapes suivantes doivent être effectuées:
Arrêtez les convoyeurs du haut et du bas
Arrêtez le moteur en hauteur
Réinitialiser le distributeur des pièces
Réinitialiser les flippers
Ch
apit
re 3
: P
RO
CES
SUS:
22
4.7 Graphe d’états du système
Le graphe d’états du système regroupe les différentes états que le processus va atteindre en fonction des variables d’entrées du système et du temps , ce graphe sera utilisée autrement pour développer la description VHDL du processus . Voir l’annexe A
5 Conclusion
Apres l’analyse complète de ce système on a arrivé à le modéliser, et à construire une idée claire sur
les étapes de son cycle fonctionnement.,
Ch
apit
re 3
: V
HD
L
23
2. DÉFINITION Le VHIC Hardware Description Langage (VHIC = Very High Speed Integrated Circuit) :
est un langage de description destiné à représenter le comportement et l’architecture de circuits numér
1. INTRODUCTION
Lorsqu’ un circuit est disponible, il passe du monde des concepteurs de circuits
intégrés (concevaient les puces qui seraient intégrées sur des cartes) à celui des
concepteurs d’applications (étudier l’architecture de ses puces). La culture de ces
derniers n’a jamais vraiment englobé la simulation, mais plutôt poussé très loin
l’expérimentation : prendre des composants, composer une maquette, la tester,
l’adapter, la tester à nouveau, etc.
L’arrivée de VHDL va révolutionner ce secteur. Les descriptions VHDL des
composants d’une carte permettent de faire une simulation complète de
l’application à un niveau d’abstraction élevé. Et surtout, elles permettent de le
faire même si tous les boitiers n’existent pas (encore).
Ch
apit
re 3
: V
HD
L: P
rin
cip
es g
énér
aux
24
iques. Une spécification décrite en VHDL peut être simulée ou synthétisée sur un circuit programma
ble. Un langage de description, contrairement à un langage de programmation informatique, sert à dé
crire du matériel avec pour objectifs : la spécification, la modélisation, la simulation et la documentati
on.
Figure 1 : vue physique du VHDL
3. VHDL: PRINCIPES GENERAUX
3.1 Description descendante « TOP DOWN DESIGN »
Une application un tant soit peu complexe est découpée en sous-ensembles qui échangent des
informations suivant un protocole bien défini. Chaque sous-ensemble est, à son tour, subdivisé, et ainsi
de suite jusqu’aux opérateurs élémentaires.
Un système est construit comme une hiérarchie d’objets. Les détails de réalisation se précisant au fur
et à mesure que l’on descend dans cette hiérarchie.
3.2 L’extérieur de la boite noire une « ENTITE » :
Une fonction logique est vue,, comme un assemblage de « boites noires », dont, syntaxiquement
parlant, seules les modes d’accès sont nécessaires à l’utilisateur. La construction qui décrit l’extérieur
d’une fonction est l’entité (entity). La déclaration correspondante lui donne un nom et précise la liste
des signaux d’entrée et de sortie :
Circuit
entré 1 sortie 1
entré 2 sortie 2
entré 3 sortie 3
entré N sortie N
Ch
apit
re 3
: El
émen
ts d
e V
HD
L :
25
Figure 2 : schéma représentent une entité
3.3 Le fonctionnement interne une « ARCHITECTURE » :
L’architecture décrit le fonctionnement interne d’un circuit auquel est attachée une entité. Ce
fonctionnement peut être décrit de différentes façons :
Description comportementale
Description par un flot de données :
Description structurelle :
3.4 Algorithmes séquentiels décrivant un câblage parallèle les «PROCESSUS »
Un processus est une instruction concurrente qui définit un comportement qui doit avoir lieu quand ce
processus devient actif. Le comportement est spécifié par une suite d’instructions séquentielles
exécutées dans le processus.
Syntaxe générale :
3.5 Programmation modulaire
« Small is beautyfull », un gros programme ne peut être écrit, compris, testable et testé que s’il est
subdivisé en petits modules que l’on met au point indépendamment les uns des autres et rassemblés
ensuite. VHDL offre, bien évidement cette possibilité
4. ELÉMENTS DE VHDL :
4.1 signaux, variables et constants :
Signaux : les signaux représentent les données physiques entre blocs logiques d’un
circuit. chacun d’entre eux sera matérialisé dans le schéma final par une séquentielle
Ch
apit
re 3
: P
arti
e m
ater
iel
26
Variables : les variables sont des objets qui servent à stocker un résultat
intermédiaire pour facilité la construction d’un algorithme séquentiel.
Constantes : les constantes sont des objets dont la valeur est fixée une fois pour toute.
4.2 Types adaptés à l’électronique numérique :
Les entiers : VHDL manipule des valeurs entières qui correspondent à des mots de
32bits.
Les bits : un objet de type bit peut prendre deux valeurs : “0“ et “1“.
Les booléens : le types booléen peut prendre deux valeurs : “vrai “ et “faux“.
Les tableaux : à partir de chaque type de base on peut créer des tableaux, collection
d’objets du même type.
4.3 Fonctions :
Une fonctions retourne au programme appelant une valeur unique, elle a donc un type . elle peut
recevoir des arguments, exclusivement des signaux ou des constantes, dont les valeurs lui sont
transmises lors de l’appel. Une fonction ne peut en aucun cas modifier les valeurs de ses arguments
d’appel.
4.4 Les librairies :
Une librairie est une collection de modules VHDL qui ont déjà été compilés. Ces modules peuvent
être, des entités ou des architectures.
5 CONCLUSION
L’utilisation du langage VHDL dans notre projet nous a permis de découvrir sa puissance et ses larges
utilisations, on notera qu’on a utilisé que des principes de base pendant la conception de notre code
1. PARTIE MATERIEL
1.2 Problématique
Ch
apit
re 3
: P
arti
e m
ater
iel
27
L’interface I/O de l’FPGA est normalisée pour fonctionner aux niveaux de tension de la technologie
TTL (0 v-5v), mais la carte d’interface du processus est n’est pas adapter a fonctionner aux même
conditions. Le bank étant désigné pour être commander avec un automate (0v 24v) D’où la nécessité
d’adapter cette différence entre les deux côtés : commande et (FPGA) et l’interface du
processus(PCB).
Figure 1 : schéma décrivent le problème du liaison
1.3 Solution
Afin d’isoler la carte FPGA du Bank de trie et d’adapter leurs niveau de tension, on a proposé de
réaliser une carte électronique a base des photo-coupeurs et des transistors, ces derniers jouent le rôle
d’adaptation, les photo-coupleurs vont s’engager à l’isolation du système .cette carte devait isoler et
adapter en tension la différente les pins du (PCB) et ceux de la FPGA.
Figure 2: schéma décrivent le fonctionnement de la carte d’adaptation
1.4 Etude théorique
A l’état bas :
FPGA
Carte
d’interface et
d’isolation
PCB du Bank
de trie
3 ,3V 24 V
3 ,3V 24 V
FPGA
Carte
d’interface et
d’isolation
Ch
apit
re 3
: P
arti
e m
ater
iel
28
La sortie de la FPGA est à 0 V donc aucun courant ne travers la LED du photo-coupleur, alors
son le transistor est bloqué et par conséquence il donne un courant nulle à sa sortie qui ne
peut pas saturer le transistor de la commande donc à l’entrée du processus on a :
IE= 0 A VE=0 v.
A l’état haut :
La sortie de la FPGA est à 3.3 V donc un courant de
travers la LED du photo-
coupleur, alors son le transistor sera saturé et par conséquence il donne un courant à sa
sortie qui va saturer le transistor de la commande qui va a son tour d’attaque l’entrée du
processus , l’émetteur de ce dernier est relié à une alimentation de 24 v. et son collecteur est
relié a la masse par une résistance pour assurer sa saturation et d’éviter un court-circuit
Donc a l’entrée du processus IE=11,2 A (mesuré avec un ampèremètre) et VE=24 v.
D’après le document du fabriquant le courant maximal qui peut supporter la LED est de
IF=27mA donc pour ne pas le dépasser on a branché avec une résistance de 217 ohm.
1.5 Conception sur ordinateur
1.5.1 PRÉSENTATION DU LOGICIELLE ISIS
L’ISIS est un logiciel professionnel, utilisé dans l'électronique pour simuler des circuits et créer des
typons. Il est également capable de simuler le fonctionnement du PIC avec tous les périphériques de la
carte de commande.
L’utilisation du logiciel « ISIS » permet de mieux visualiser le bon déroulement du système ainsi que
d’avoir une idée claire sur la partie matérielle et la conception des circuits imprimés.
Il nous permet de limiter les essais réels.
1.5.2 SCHEMA ISIS DE CIRCUIT
Sortie FPGA Entrée processus
Sortie processus Entrée FPGA
Ch
apit
re 3
: P
arti
e m
ater
iel
29
Figure3 : schéma ISIS du circuit d’ataptation
1.5.1 GÉNERALISATION DE CIRCUIT
Cette schéma est réalisé pour adapter et isoler un seul pin, pour adapter tous les entrées/sorties il faut
réutiliser au nombre de ces entrée sortie
1.6 Routage
i. PRESENTATION ARES
C’est un logiciel permettant le routage des cartes électroniques en mode automatique ou manuel. Il est
possible d’utiliser ARES sans avoir créé au préalable un schéma dans ISIS.
Cette fonctionnalité permet de réaliser des circuits de faible complexité en plaçant les composants et
en traçant les pistes directement sur ARES. Une fois les connections établies, il est possible
d’effectuer un routage automatique des pistes.
i. TYPON DE LA CARTE
Figure 4: typon ARES de la carte d‘adaptation et d’isolation
Ch
apit
re 3
: P
arti
e m
ater
iel
30
Composantes de la cartes
22 Résistance 3.3K ,22 résistance 216 ohm
4 photo-coupleurs TLP521 16 branches,
1 photo-coupleurs TLP521 8 branches
connecteur DB 25 ,1 connecteur 40
22 transistors 2N 1893
1.7 Mode opératoire
Après la conception sur l’ordinateur on passe à la réalisation de la carte, cela passe par les étapes
suivantes :
Insolation:
On découpe la plaque à la taille du typon en laissant une marge de 1 cm au moins.
On Positionne le typon dans le bon sens sur la vitre de l'insoleuse.
On Retire la pellicule protectrice de la plaque
On Pose cette plaque avec le coté vert sur le typon dans l'insoleuse et on ferme le
capot.
Figure 5 : la machine d’insolation
REVELATION
On verse le révélateur dans une cuvette en plastique.
On plonger la plaque qui vient d'être insolé.
On Rince soigneusement la plaque sous le robinet en frottant avec les doigts jusqu'à ce
qu'elle ne soit plus 'grasse' au toucher.
Ch
apit
re 3
: P
arti
e m
ater
iel
31
Figure 6 : insolation de la carte
GRAVURE
On utilise règle la vitesse a 5 on lance le bouton marche du convoyeur de la
graveuse.
Lorsque tout le cuivre à disparu, on sorte le circuit et on le rince le sous l'eau.
On Frotte les pistes avec de l'acétone ou de l'alcool à brûler pour retirer la
résine et ainsi apparaît les pistes de cuivres.
Figure 7: la machine de gravure
Figure 7 : gravure de la carte
Ch
apit
re 3
: C
on
cep
tio
n d
u c
od
e V
HD
L e
t P
rogr
amm
atio
n d
e la
FP
GA
32
Après on passe au PERÇAGE et au Soudage
b. Conclusion
Nous avons étudié la conception détaillée de notre carte avec la bonne solution qui répond à la
spécification de notre étude théorique, nous passons maintenant à la conception du programme
2 Conception du code VHDL et Programmation de la FPGA
a. Introduction
La réalisation de la commande était le but principal de notre projet, avant que le problème d’adaptation
qui apparait pendant l’analyse du système, dans cette partie on va citer les étapes principales de la
conception de la commande.
L'écriture du programme ainsi que sa mise au point doivent suivre le diagramme suivant :
Assemblage ou
synthétisation
Simulation
Programmation
Essai
Saisie du programme en langage VHDL
Traduction du langage VHDL (entité / architectures) en circuit
numérique et définition des interconnections
Vérification du fonctionnement du programme avec :
- soit un logiciel simulant l’FPGA (ex MODELSIM)
- soit par la carte de développement
- soit une carte électronique, connectée à un PC et pilotée par
un logiciel, fonctionnant comme le microcontrôleur Enregistrement de l’architecture sur la mémoire EEPROM en
mode AS ou programmation direct en mode JTAG .
Vérification réelle du fonctionnement
Edition
Ch
apit
re 3
: C
on
cep
tio
n d
u c
od
e V
HD
L e
t P
rogr
amm
atio
n d
e la
FP
GA
33
Ch
apit
re 3
: C
on
cep
tio
n d
u c
od
e V
HD
L e
t P
rogr
amm
atio
n d
e la
FP
GA
34
b) Graphe d’états du banc de trie
Trié métal
Trié plastique
Arrêt
Initialisation
Détection de
la nature
Mesure de la
hauteur
Rejection
Assemblage
Stop start
htdc htdc
hbdc
hbdc
hgth
hbdc
hgth
ind
ind
Chut1
Chut2
T<6s
T>6s
Opt6
Opt5
T<3s
Ch
apit
re 1
: Co
nce
pti
on
du
co
de
VH
DL
et
Pro
gram
mat
ion
de
la F
PG
A
35
1.5 Description VHDL
On a implémenté la description VHDL issu du graphe d’état, on a aussi essayé de commenter ce code de
façon pour qu’il soit suffisamment lisible. Le code est décrit dans l’ANNEXE 4.
1.6 Simulation
1.6.1 PRESENTATION DU LOGICIEL MODELSIM
Modelsim est un logiciel de simulation dédiée à la conception de FPGA. Il permet la simulation
temporelle au niveau RT (transfert de registre) ou au niveau porte, à partir des langages VHDL
1.6.2 SIMULATION ET VERIFICATION
Les étapes qu’on a suivi pour la simulation notre code sont les suivantes :
Création des fichiers
Il contienne deux fichiers un fichier code « workcell_system « qui sera utiliser pour programmer
la FPGA, le deuxième est un test-bench qui sera utiliser pour la vérification du code
Compilation
On a effectué sur toutes les unités de compilation (entité, architecture) et sur tous
les composants du modèle (description-test bench).
Lancement de la simulation Après le lancement simulation on a obtenu le chronogramme suivant :
Voir ANNEXE 2
Ch
apit
re 1
: Co
nce
pti
on
du
co
de
VH
DL
et
Pro
gram
mat
ion
de
la F
PG
A
36
1.7 PROGRAMMATION
1.7.1 ENVIRONNEMENT DE DEVELOPPEMENT QUARTUS
Quartus est un environnement de développement et de conception des FPGA altera, il contienne a la fois
l’editeur de code ,le compilateur ,le simulateur et le programateur .Par utilisation de Quartus il est
possible de reprogrammer la FPGA a n'importe qu’il temps , et il est également possible de modifier
les données non-volatiles stockées dans le puce EEPROM
1.7.2 ETAPES DE PROGRAMMATION :
Pour configurer la FPGA on a suivis les étapes suivantes :
1. On a Créé un projet sous Quartus avec
L’assistant de création de projet
2. on Crée les fichiers décrivant le
projet
3. on a Choisis le dispositif FPGA
« EP2C20F484C7»
et le mode de programmation JTAG
Ch
apit
re 1
: Co
nce
pti
on
du
co
de
VH
DL
et
Pro
gram
mat
ion
de
la F
PG
A
37
4. On choisit l’assignement des pins
5. On Compile le programme Programmer à l’aide du programmateur
1.5 Conclusion
La réalisation de la commande, la partie la plus importante de notre projet a été archivée, pendant cette
partie, on a utilisé une diversité de matériels et logiciels que nous ont été utile pour notre projet ainsi que
pour l’approfondissement de nos connaissances.
Ch
apit
re 1
: Co
nce
pti
on
du
co
de
VH
DL
et
Pro
gram
mat
ion
de
la F
PG
A
38