Vous êtes sur la page 1sur 38

1.

Introduction :

la dernire dcade, les Field-programmable Gate Arrays (FPGAs) sont devenue une cl vritable de l'implmentation des circuits numrique .le crucial part de sa cration et de son architecture donnera la nature de son programmable fonctions et son programmable interconnexion Larchitecture de l'FPGA a un effet dramatique sur la qualit final de performance de matriel, efficacit de la place, et la consommation d'nergie.

Chapitre 3 : Les FPGA

2. Dfinition : Les FPGA (Field Programmable GateArrays ou "rseaux logiques programmables") sont des composants VLSI pr reconfigurables ce qui permet de les reprogrammer afin d'acclrer notablement certaines phases de calculs. L'avantage de ce genre de circuit est sa grande souplesse qui permet de les rutiliser dans des algorithmes diffrents en un temps trs court. Le progrs de ces technologies permet de faire des composants toujours plus rapides et plus haute intgration, ce qui permet de programmer des applications importantes. 3. Historique
Les origines des FPGA est lie au dveloppement des circuits intgrer au 1960s Aprs que les appareils programmable employant des architecture rgulier et des fonctions flexibles. Voici quelque principales tapes qui ont archive lhistoire des FPGA : Lapparition des premires matrices bidimensionnelles des simples cellules logiques, 1960 la programmation sur place ou Field-programmable , le pouvoir de changer la fonction logique d'un circuit aprs sa fabrication, tais archive par l'introduction des matrices cellulaire a point de rupture l'optimisation du rseau a permis la simplification de la fabrication des matrices et largement de ses utilisations en 1970, des sries de mmoire a lecture seul (ROM)-base programmables appareilles tait introduits et fournira une nouvelle mthode pour implmenter les fonctions logiques, La premier (SRAM-base FPGA) a tais propos par Wallstrm 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, ds cette premier FPGA.,il ont grandis normment 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 dun changement signifiant de leurs architectures .

4. Fpga altra cyclone II

4.1 Architecture L'architecture, retenue par Altera, se prsente sous forme de deux couches :

La couche dite 'circuit configurable' est constitue d'une matrice de blocs logiques configurables CLB permettant de raliser des fonctions combinatoires et des fonctions squentielles. Tout autour de ces blocs logiques configurables, nous trouvons des blocs entres/sorties IOB dont le rle est de grer les entres-sorties ralisant l'interface avec les

Chapitre 3 : Les FPGA

une couche appele circuit configurable, une couche rseau mmoire SRAM.

modules extrieurs La programmation du circuit FPGA appel aussi LCA (logic cells arrays) consistera par le biais de l'application d'un potentiel adquat sur la grille de certains transistors effet de champ interconnecter les lments des CLB et des IOB afin de raliser les fonctions souhaites et d'assurer la propagation des signaux. Ces potentiels sont tout simplement mmoriss dans le rseau mmoire SRAM.

Figure 1 : Architecture interne d'un FPGA.

Les circuits FPGA du fabricant Altera utilisent deux types de cellules de base :

les cellules d'entres/sorties appels IOB (input output bloc), les cellules logiques appeles CLB (configurable logic bloc). Ces diffrentes cellules sont relies entre elles par un rseau d'interconnexions configurable.

4.1.1 Les CLB (configurable logic bloc)

Les blocs logiques configurables sont les lments dterminants des performances du FPGA. Chaque bloc est compos d'un bloc de logique combinatoire compos de deux gnrateurs de fonctions quatre entres et d'un bloc de mmorisation synchronisation compos de deux

Chapitre 3 : Les FPGA

bascules D. Quatre autres entres permettent d'effectuer les connexions internes entre les diffrents lments du CLB. La figure ci-dessous, nous montre le schma d'un CLB.

Figure 2 : Cellule logique (CLB). 4.1.2 Les IOB (input output bloc):

La figure prsente la structure de ce bloc. Ces blocs entre/sortie permettent l'interface entre les broches du composant FPGA et la logique interne dveloppe l'intrieur du composant. Ils sont prsents sur toute la priphrie du circuit FPGA. Chaque bloc IOB contrle une broche du composant et il peut tre dfini en entre, en sortie, en signaux bidirectionnels ou tre inutilis (haute impdance).

Chapitre 3 : Les FPGA

Figure 3: Input Output Block (IOB).

4.1.3 Configuration en entre:

Premirement, le signal d'entre traverse un buffer qui peut dtecter les seuils TTL 5V Il peut tre rout directement sur une entre directe de la logique du circuit FPGA ou sur une entre synchronise. Cette synchronisation est ralise l'aide d'une bascule de type D, le changement d'tat peut se faire sur un front montant ou descendant. De plus, cette entre peut tre retarde 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'entre s'effectue grce un multiplexeur (program controlled multiplexer). Un bit positionn dans une case mmoire commande ce dernier.
4.1.4 Configuration en sortie:

Nous distinguons les possibilits suivantes :


o o o o

4.1.5 Les diffrents types d'interconnexions:

Chapitre 3 : Les FPGA

inversion ou non du signal avant son application l'IOB, synchronisation du signal sur des fronts montants ou descendants d'horloge, mise en place d'un " pull-up " ou " pull-down " dans le but de limiter la consommation des entres sorties inutilises, signaux en logique trois tats ou deux tats. Le contrle de mise en haute impdance et la ralisation des lignes bidirectionnelles sont commands par le signal de commande Out Enable lequel peut tre invers ou non. Chaque sortie peut dlivrer un courant de 12mA. Ainsi toutes ces possibilits permettent au concepteur de connecter au mieux une architecture avec les priphriques extrieurs.

Les connexions internes dans les circuits FPGA sont composes de segments mtalliss. Paralllement ces lignes, nous trouvons des matrices programmables rparties sur la totalit du circuit, horizontalement et verticalement entre les divers CLB. Elles permettent les connexions entre les diverses lignes, celles-ci sont assures par des transistors MOS dont l'tat est contrl par des cellules de mmoire vive ou RAM. Le rle de ces interconnexions est de relier avec un maximum d'efficacit les blocs logiques et les entres/sorties afin que le taux d'utilisation dans un circuit donn soit le plus lev possible. Pour parvenir cet objectif, Altra propose trois sortes d'interconnexions selon la longueur et la destination des liaisons. Nous disposons :
o o o

d'interconnexions usage gnral, d'interconnexions directes, de longues lignes


A) LES INTERCONNEXIONS A USAGE GENERALE

Ce systme fonctionne en une grille de cinq segments mtalliques verticaux et quatre segments horizontaux positionns entre les ranges et les colonnes de CLB et de l'IOB.

Figure 4 : Connexions usage gnral et dtail d'une matrice de commutation.

Des aiguilleurs appels aussi matrices de commutation sont situs chaque intersection. Leur rle 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 utilises pour relier un CLB n'importe quel autre. Pour viter que les signaux traversant les grandes lignes ne soient affaiblis, nous trouvons gnralement des buffers implants 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 entres d'un CLB aux sorties d'un autre.

Chapitre 3 : Les FPGA

Figure 15: Les interconnexions directes. C) LES LONGES LIGNES :

Les longues lignes sont de longs segments mtalliss parcourant toute la longueur et la largeur du composant, elles permettent ventuellement de transmettre avec un minimum de retard les signaux entre les diffrents lments 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

Chapitre 3 : Les FPGA

Les performances des interconnexions dpendent du type de connexions utilises. Pour les interconnexions usage gnral, les dlais gnrs dpendent du nombre de segments et de la quantit d'aiguilleurs employs. Le dlai de propagation de signaux utilisant les connexions directes est minimum pour une connectique de bloc bloc. Quant aux segments utiliss pour les longues lignes, ils possdent une faible rsistance mais une capacit importante. De plus, si on utilise un aiguilleur, sa rsistance s'ajoute celle existante.

4.1.6

L'oscillateur quartz:

Plac dans un angle de la puce, il peut tre activ lors de la phase de programmation pour raliser un oscillateur. Il utilise deux IOB voisins, pour raliser l'oscillateur dont le schma est prsent ci-dessous. Cette oscillateur ne peut tre ralis que dans un angle de la puce o se trouve l'amplificateur prvu cet effet. Il est vident que si l'oscillateur n'est pas utilis, les deux IOB sont utilisables au mme titre que les autres IOB
5. Prsentation de la carte de dveloppement 5.1 Introduction La carte de dveloppement Cyclone II FPGA Starter ou II EP2C20 (figure 1-1) est une FPGA de chez Altera Comme elle est dcrite dans son rfrence la cyclone II fournit des fonctions intgres qui permettent aux utilisateurs de dvelopper et de tester les dsignes qui peuvent varier de simples circuits au multiple multimdia projets, tout sans le besoin d'implmenter des interfaces de programmation complexes (APIs), sans programmes de contrle et sans des contrleurs mmoires SRAM/SDRAM/FLASH. Cette partie dcrit les caractristiques de la Catre FPGA cyclone II, ses mthodes de configuration et de programmation ainsi que ses composants

Figure 7 : carte de dveloppement II EP2C20

Chapitre 3 : Les FPGA

3.1 Caractristiques matrielles Altera Cyclone II EP2C20 FPGA Altera EPCS4 Configuration serie USB-Blaster puce contrleur fix pour la programmation et utilisation de l'API 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 (rseau de rsistances 4bits) avec connecteur sortie VGA RS-232 metteur-rcepteur et 9 broches connecteur PS / 2 souris / clavier Deux ttes d'extension 40 broches avec rsistance de la protection 7.5V DC adaptateur ou un cble

de contrle il support la fois les modes de programmation JTAG et le mode de srie active (AS) .
SRAM de 512-KByte SDRAM de 8-MByte Mmoire Flash de4-MByte carte prise de SD Flash 4 Boutons poussoirs

3.2 Diagramme-bloc de la carte de dveloppement :

Figure 8 : diagramme bloc de la carte de dveloppement

7. Programmation et configuration :
la carte de dveloppement cyclone II a intgrer les circuit de programmation de la FPGA :le USBBlaster et aussi la carte EEPROM qui enregistre les donnes de configuration de FPGA . ses donnes de configurations se chargent automatiquement de EEPROM a FPGA chaque fois la carte est mise sous tension 7.1 Flot de conception

Chapitre 3 : Les FPGA

Lib VHDL

lib FPGA

Compil VHDL

Synthse

Pin assign

Config

Figure 9 : schma reprsentant le flot de conception du programme

Les sections suivantes dcrivent les deux modes de programmer la FPGA, programmation JTAG et la programmation srie active (AS) programmation : 7.2 Programmation JTAG
Dans cette mthode de programmation, nomm d'aprs des normes IEEE les tlchargements de configuration de flux de bitsse fait directement dans leCyclone II FPGA travers le circuit USBBlaster. La FPGA conserve cette configuration aussi longtemps que la tension est applique la carte, la FPGA perd la configuration lorsque l'alimentation est coupe.

7.3 Programmation AS Dans le procd de programmation srie active, le train de bits de configuration se charge dans la EEPROM de la FPGA La mmoire EEPROM fournit une mmoire non volatile en conservant les informations mme lorsque l'alimentation l'Cyclone II FPGA Starter est teint, Lorsque la carte de

dveloppement est mise sous tension, les donnes 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 rsumer les caractristiques de la FPGA Altra cyclone II qui sera utilise dans notre projet.

1 0

Chapitre 3 : Conclusion

1. Introduction :

ual Conveyor Plc Workcell 34-120, est une machine complet fabrique par feedback Inc. 2010

1 1

Chapitre 3 : PROCESSUS:

2. Description du system 2.1 Prsentation du Bank de trie Dual Conveyor Plc Workcell 34-120 : Bank de trie avec double convoyeurs, est un systme complet qui peut tre utilise pour dvelopper la tache de tri des pices, dans un premier temps les Composants plastiques et mtalliques sont choisis par taille puis ils sont amens sur les goulottes de distribution en une tche d'assemblage finale o ils sont combins avec un second composant. Le produit fini peut ensuite tre tris par sa taille, sa nature ou son type. 2.2 structure gnrale du systme

Carte FPGA ALTERA CYCLONE II

Carte interface et disolement

Bank de Trie des pices

Figure 1: schma descriptif de fonctionnement gnral du systme

2.3 Blocs fonctionnelles 2.3.1 ALIMENTATION ET INTERFACE Les alimentations des convoyeurs, des capteurs et actionneurs sont logs dans la section l'arrire de la base, sous le convoyeur suprieur. Linterconnexion suprieure entre La FPGA et les capteurs sur la cellule de travail ncessite des circuits d'interface. Ces se trouvent sur la carte de circuit imprim (PCB) la gauche du convoyeur suprieur. La machine requit une source dalimentation alternative (220v 50/60 Hz) 2.3.2 PIECES POUR LASSEMBLAGE

La "rondelle" peut tre soit en mtal ou en plastique et peut avoir des hauteurs diffrentes (paisseur) Les tches associes au systme sont de slectionn le type requis et la taille de la "rondelle" et de l'assembler correctement sur une "base".

1 2

Chapitre 3 : PROCESSUS:

Les composants utiliser dans les tches de trie sont de deux types: une "base" et une rondelle les deux peuvent tre assembl.

Figure 2 : les pices pour triage et assemblage (rondelle et base) Le tableau ci-dessous donne les tailles des pices fournies pices (rondelle) standard, correcte mauvaise hauteur hauteur (paisseur) 8mm 7mm et 9 mm

Figure 3 tailles accept /non accepts par la jauge de la hauteur 2.3.3 CONVOYEURS

Le systme contienne deux convoyeurs utiliss pour le dplacement des pices. Ces convoyeurs. Contiennent des moteurs courant continu Les, moteurs sont sous le contrle de l'FPGA, via le circuit d'interface. Le convoyeur suprieur peut tre considr comme un convoyeur Signale avec ses diffrentes oprations qui peuvent tre explores pour effectuer l'ensemble des taches de dimensionnement, la dtection matrielle, le tri des composants avant lassemblage par le transporteur infrieur. Le convoyeur suprieur dispose d'un rglage de contrle de vitesse par un ajustement de RV1 situ sur le coin en haut gauche sur la carte de circuit imprim. Cela est rgl en usine, mais elle peut varier si l'alimentation principale en courant alternatif de l'unit diffrer de celle de l'usine

Figure 4 : convoyeur 2.3.4 DISTRIBUTEURS DES PIECES les distributeurs de pices utilisent des actionneurs lectromagntiques et ont t conus pour grer les deux types de composants utiliss dans la tche d'assemblage.

1 3

Chapitre 3 : PROCESSUS:

il y a deux distributeurs : un pour la partie "base", l'autre pour la "rondelle". Les distributeurs sont sous le contrle de l'FPGA, via le circuit d'interface

Figure 5 distributeur des pices

2.3.5

CAPTEURS

Le Bank de trie a un certain nombre des dtecteurs pour dtecter des composants diffrentes parties du systme. Ces capteurs sont Photo-rflchissants de type infrarouge. Le statut de chaque -dtecteur est indiqu par une LED intgre mont sur le PCB de ce dtecteur .Il est galement quip d'un dispositif inductif qui est utilis en conjonction avec un photo-capteur pour fournir un dtecteur simple pour dtecter la diffrence entre le plastique et les composants mtalliques .

Figure 6 capteurs photo-lectriques de position 2.3.6 JAUGE DE LA HAUTEUR Chapitre 3 : PROCESSUS:

Ce bloc utilise un moteur courant continu pour dplacer la jauge de mesure de la hauteur, des photo-dtecteurs qui peuvent tre ajusts pour donner une sortie quand un composant de taille correct est dtect. En vertu, les composants surdimensionns sont rejets. Ltat des dtecteurs monts sur les jauges de taille ont surveills par des LED mont sur les units..

1 4

Figure 7 Jauge de mesure de la hauteur 2.3.7 MANIPULATEURS DES PIECES

Le manipulateur des pices ou flippers ont pour fonction de dplacer les pices d'un convoyeur l'autre, ou de slectionner certaines pices sur le mme convoyeur Ils fonctionnent forcer un composant qui se dplace sur le convoyeur, soit tre ject ou stocks dans un endroit Particulier.

Figure 8 : manipulateur des pices

3.1 Analyse fonctionnelle externe 3.1.1 FORMULATION DU BESOIN

1 5

Chapitre 3 : PROCESSUS:

3. Analyse fonctionnelle du system

Pour rpondre au besoin prouv, il faut rpondre trois questions, celles-ci sont gnralement regroupes dans un graphique appel familirement bte corne .
A qui le systme tudi rend service ? utilisateur Sur quoi le systme agit-il ? Les pieces rondelles

Systme tudi ?
Bank de trie des pices

Dans quel but ?


Trier les pices

Figure 9 Diagramme bte corne du Bank de trie des pices

3.1.2 DIAGRAMME PIEUVRE Elle consiste dterminer les relations du systme tudi avec les milieux extrieurs autrement dit trouver les fonctions de service. Les fonctions de service sont visualises dans un graphe appel diagramme Pieuvre

FPGA Isolation Oprateur FC1 FP BANK DE TRIE DE PIECES FC2 HACCP FC3 Bac

Pieces dessai

FC5 Energie pneumaque Environment

1 6

Chapitre 3 : PROCESSUS:

FC4

Figure 10 : le diagramme Pieuvre de du Bank de trie Caractrisation des fonctions de service : FP1 : Trier les pices rondelles selon leurs tailles et natures (mtallique/plastique). FC1 : sadapter Communiquer et avec lFPGA. FC2 : tre isol lectriquement. FC3 : Ranger les pices surdimensionns. FC4 : Sadapter lclairage du laboratoire. FC5 : Alimenter en nergie les composants lectriques en toute scurit. 3.2 Analyse fonctionnelle interne Lanalyse fonctionnelle interne sinscrit dans le cadre dune dmarche visant identifier le processus du systme. Dans cette optique, lanalyse fonctionnelle interne sera limite la fonction principale FP1. Vue la complexit de FP1, il savre primordial de la dcouper en sous fonctions principales.

FP : trier et assembler les pices FP1 : Faire distribuer les pices FP2 : faire dplacer les pices FP3: mesurer les tailles des pices FP4 : dtecter la nature (mtallique/ plastique) production . : slectionner / rejecter les pieces FP5 FP5 : assembl et ranger

Figure 11 : sous fonctions de la fonction principale 3.2.1 DIAGRAMME FAST DE LA FONCTION PRINCIPALE

A ce stade, lidentification des fonctions techniques de chaque sous fonctions est ncessaire. Ainsi, nous avons ralis lanalyse FAST pour toutes les sous fonctions dtermines dans le

1 7

Chapitre 3 : PROCESSUS:

paragraphe prcdent. Ces diagrammes FAST sont regroups en annexe A. Nous prsentons comme exemple lanalyse FAST de la sous fonction FP2 et FP3. Sous fonction Solution technique Solution technologique

Faire dplacer les pices

Crer un mouvement Transmettre le mouvement

Mouteur CC

Conoyeur

Mesurer la taille

Dplacer la jauge de la hauteur Dtecter la taille

Moteur cc

Photo-dtecteur de position Photo-dtecteur de position

Dtecter la position maximale de la jauge Dtecter la position finale de la jauge

Photo-dtecteur de position

Figure 12 : Analyse FAST de FC3 et FC4 3.3 Modlisation avance Aprs lanalyse fonctionnelle du systme il fallait le modliser, il sagissait de la dfinition dun modle fonctionnelle de systme, dans cette approche on va introduire des nouveaux concepts comme lanalyse SADT, la dcomposition des taches, et la dfinition des chaines dactions et dinformation 3.3.1 IDENTIFICATION DE SYSTEME

3.3.2

DIAGRAMME SADT

Le diagramme SADT reprsente le systme comme une boite ferm, ayons pour entres la matire premire, les ordres de rglage, lnergie..., et comme sortie le produit finale

1 8

Chapitre 3 : PROCESSUS:

Cest un systme automatique dont la partie commande est lFPGA et la partie processus est le Bank de trie, les deux sont lie au moyenne de linterface. LFPGA envoie des commandes vers la partie oprative en fonction dun processus prtablie, puis la partie oprative assure lassemblage et le tri des pices et envoie un compte rendue sur ltat lFPGA.

Arret/ marche nergie capteurs Dscription VHDL

Rondelles mtalique et plastique de diffirentes tailles + Bases des pices

Trier selon les tailles et la nature

Pices trie et assembler +pices non conforme

Systme de trie des pices

Figure 13: le modle SADT du systme de trie des pices 3.3.3 TACHES ET SOUS-ENSEMBLES FONCTIONNELLE

Daprs lanalyse de systme on distingue deux principales sous ensemble fonctionnelles Sous ensemble de dtection (phase du premier convoyeur) Ce sous ensemble regroupe les taches de mesure de la hauteur, lidentification des nature des pices et de slection des chutes .il correspond au premier cycle. Sous ensemble dassemblage (phase de deuxime convoyeur) Le sous ensemble dassemblage correspond au cycle du deuxime convoyeur et regroupe les taches dassemblage et de dclassement. Ses taches fonctionnelles seront dcrites dans la partie dcrivant le processus de fonctionnement Chapitre 3 : PROCESSUS: 3.3.4 CHAINES DINFORMATION On peut dcouper cette chane en

Cest la partie du systme qui capte l'information et qui la traite. trois blocs fonctionnels : acqurir, traiter et communiquer

1 9

Prsence dune pice

Acqurir

Traiter

Communiquer

Ordres au : convoyeurs flippers, distributeurs

Dtecteur photo-lectrique Capteur inductif

FPGA

Carte dinterface

Figure 14 : chaine dinformation du systme de trie des pices 3.3.5 CHAINES DENERGIE Ordres au : convoyeurs flippers, distributeurs

Cest Lensemble des procds qui vont raliser une action

Alimentation 220v

Alimenter

Distribuer

Convertir

Convertir

Prise secteur + interface 220 AC -> 24 DC

Transistors +relais

Moteur CC

Bande transporteuse + roues tournantes

Figure 15 : chaine dnergie du systme de trie des pices 1. fonctionnement du Processus 1.1 Mesure de la hauteur La squence d'oprations qui peuvent tre excutes par le systme sont les suivante : Premirement la bande transporteuse est dmarre. Suivant, le composant rondelle est distribu sur le convoyeur par l'actionnement du solnode premier distributeur la rondelle se dplace ensuite une courte distance le long de la courroie jusqu' ce que sa prsence est dtecte par le premier capteur optique. aprs une priode de temps le convoyeur est arrt avec la rondelle sous la jauge du hauteur. la jauge de hauteur dtermine maintenant si la rondelle est dans la hauteur prescrite (paisseur) des limites. le convoyeur est redmarr, ce qui provoque le dplacement la rondelle

2 0

Chapitre 3 : PROCESSUS:

4. 3 Dtection de la nature des pices Le processus se poursuit maintenant vers le dtecteur inductif. Lobjective de ce capteur consiste dterminer si la rondelle est en mtal ou en plastique. le processus se poursuit comme suit: la prsence d'une pice devant le dtecteur inductif est dtermine par le second capteur optique. lorsque cela se produit le convoyeur est arrt. le capteur inductif est activ afin de dterminer si la pice est en mtal ou en plastique le convoyeur est redmarr et la pice se dplace 4.4 Slection et chutes Aprs le dtecteur inductif il y a deux chemins. Lun des pices qui ont t dtermin mtallique, l'autre si la pice tait dtermine plastique. Toutefois, cela ne devrait se produire que si la pice a pass le premier test du hauteur.si la rondelle a chou l'initiale essai de hauteur, aucun flipper ne devrais fonctionner, et la pice continue la fin de convoyeur et ranger dans le bac extrmit. Lorsque l'un des flippers est command la pice est force hors du convoyeur la goulotte du chut est maintenu prt pour la phase d'assemblage du processus. 4.5 Phase de trie Il utilise le convoyeur infrieur du Bank, Le processus se poursuit comme suit : Premirement, la bande transporteuse infrieure est dmarre. lorsqu'une rondelle est dispose le composant de base est distribu sur le convoyeur par l'actionnement du solnode second distributeur. la partie de base se dplace le long du convoyeur, ramasse la rondelle disponible, qui est ensuite assembl sur la base. les mouvements de montage rsultant vers l'extrmit du convoyeur, lorsque le dernier optodtecteur dtermine les sorties du guide dassemblage un pour les pices mtalliques, l'autre pour les plastiques. 4.6 Arrter le systme tout moment pendant le fonctionnement du systme Lorsque le bouton "stop" du PCB est utilis, il devrait immdiatement arrter le systme l de telle sorte que pousser le vert bouton "START" dbutera le processus une fois de plus. Pour ce faire, les tapes suivantes doivent tre effectues: Chapitre 3 : PROCESSUS: Arrtez les convoyeurs du haut et du bas Arrtez le moteur en hauteur Rinitialiser le distributeur des pices Rinitialiser les flippers

2 1

4.7 Graphe dtats du systme Le graphe dtats du systme regroupe les diffrentes tats que le processus va atteindre en fonction des variables dentres du systme et du temps , ce graphe sera utilise autrement pour dvelopper la description VHDL du processus . Voir lannexe A

Conclusion

Apres lanalyse complte de ce systme on a arriv le modliser, et construire une ide claire sur les tapes de son cycle fonctionnement.,

2 2

Chapitre 3 : PROCESSUS:

1. INTRODUCTION Lorsqu un circuit est disponible, il passe du monde des concepteurs de circuits intgrs (concevaient les puces qui seraient intgres sur des cartes) celui des concepteurs dapplications (tudier larchitecture de ses puces). La culture de ces derniers na jamais vraiment englob la simulation, mais plutt pouss trs loin lexprimentation : prendre des composants, composer une maquette, la tester, ladapter, la tester nouveau, etc. Larrive de VHDL va rvolutionner ce secteur. Les descriptions VHDL des composants dune carte permettent de faire une simulation complte de lapplication un niveau dabstraction lev. Et surtout, elles permettent de le faire mme si tous les boitiers nexistent pas (encore).

2. DFINITION
Le VHIC Hardware Description Langage (VHIC = Very High Speed Integrated Circuit) : est un langage de description destin reprsenter le comportement et larchitecture de circuits numr

2 3

Chapitre 3 : VHDL

iques. Une spcification dcrite en VHDL peut tre simule ou synthtise sur un circuit programma ble. Un langage de description, contrairement un langage de programmation informatique, sert d crire du matriel avec pour objectifs : la spcification, la modlisation, 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 dcoupe en sous-ensembles qui changent des informations suivant un protocole bien dfini. Chaque sous-ensemble est, son tour, subdivis, et ainsi de suite jusquaux oprateurs lmentaires. Un systme est construit comme une hirarchie dobjets. Les dtails de ralisation se prcisant au fur et mesure que lon descend dans cette hirarchie. 3.2 Lextrieur de la boite noire une ENTITE : Chapitre 3 : VHDL: Principes gnraux Une fonction logique est vue,, comme un assemblage de boites noires , dont, syntaxiquement parlant, seules les modes daccs sont ncessaires lutilisateur. La construction qui dcrit lextrieur dune fonction est lentit (entity). La dclaration correspondante lui donne un nom et prcise la liste des signaux dentre et de sortie : Circuit entr 1 sortie 1 entr 2 sortie 2 entr 3 sortie 3 entr N sortie N

2 4

Figure 2 : schma reprsentent une entit 3.3 Le fonctionnement interne une ARCHITECTURE : Larchitecture dcrit le fonctionnement interne dun circuit auquel est attache une entit. Ce fonctionnement peut tre dcrit de diffrentes faons : Description comportementale Description par un flot de donnes : Description structurelle :

3.4

Algorithmes squentiels dcrivant un cblage parallle les PROCESSUS

Un processus est une instruction concurrente qui dfinit un comportement qui doit avoir lieu quand ce processus devient actif. Le comportement est spcifi par une suite dinstructions squentielles excutes dans le processus. Syntaxe gnrale :

3.5 Programmation modulaire Small is beautyfull , un gros programme ne peut tre crit, compris, testable et test que sil est subdivis en petits modules que lon met au point indpendamment les uns des autres et rassembls ensuite. VHDL offre, bien videment cette possibilit Chapitre 3 : Elments de VHDL :

4. ELMENTS DE VHDL :
4.1 signaux, variables et constants : Signaux : les signaux reprsentent les donnes physiques entre blocs logiques dun circuit. chacun dentre eux sera matrialis dans le schma final par une squentielle

2 5

Variables : les variables sont des objets qui servent stocker un rsultat intermdiaire pour facilit la construction dun algorithme squentiel. Constantes : les constantes sont des objets dont la valeur est fixe une fois pour toute. 4.2 Types adapts llectronique numrique : Les entiers : VHDL manipule des valeurs entires qui correspondent des mots de 32bits. Les bits : un objet de type bit peut prendre deux valeurs : 0 et 1. Les boolens : le types boolen peut prendre deux valeurs : vrai et faux. Les tableaux : partir de chaque type de base on peut crer des tableaux, collection dobjets du mme 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 lappel. Une fonction ne peut en aucun cas modifier les valeurs de ses arguments dappel. 4.4 Les librairies : Une librairie est une collection de modules VHDL qui ont dj t compils. Ces modules peuvent tre, des entits ou des architectures. 5

CONCLUSION

Lutilisation du langage VHDL dans notre projet nous a permis de dcouvrir sa puissance et ses larges utilisations, on notera quon a utilis que des principes de base pendant la conception de notre code

1.

PARTIE MATERIEL

1.2 Problmatique

2 6

Chapitre 3 : Partie materiel

Linterface I/O de lFPGA est normalise pour fonctionner aux niveaux de tension de la technologie TTL (0 v-5v), mais la carte dinterface du processus est nest pas adapter a fonctionner aux mme conditions. Le bank tant dsign pour tre commander avec un automate (0v 24v) Do la ncessit dadapter cette diffrence entre les deux cts : commande et (FPGA) et linterface du processus(PCB).

FPGA

Carte dinterface et disolation

Figure 1 : schma dcrivent le problme du liaison

1.3 Solution
Afin disoler la carte FPGA du Bank de trie et dadapter leurs niveau de tension, on a propos de raliser une carte lectronique a base des photo-coupeurs et des transistors, ces derniers jouent le rle dadaptation, les photo-coupleurs vont sengager lisolation du systme .cette carte devait isoler et adapter en tension la diffrente les pins du (PCB) et ceux de la FPGA.

3 ,3V Carte dinterface et disolation 3 ,3V

24 V

FPGA

PCB du Bank de trie

24 V

Figure 2: schma dcrivent le fonctionnement de la carte dadaptation

1.4 Etude thorique


A ltat bas :

2 7

Chapitre 3 : Partie materiel

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 consquence il donne un courant nulle sa sortie qui ne peut pas saturer le transistor de la commande donc lentre du processus on a : IE= 0 A VE=0 v. A ltat haut : La sortie de la FPGA est 3.3 V donc un courant de travers la LED du photocoupleur, alors son le transistor sera satur et par consquence il donne un courant sa sortie qui va saturer le transistor de la commande qui va a son tour dattaque lentre du processus , lmetteur de ce dernier est reli une alimentation de 24 v. et son collecteur est reli a la masse par une rsistance pour assurer sa saturation et dviter un court-circuit Donc a lentre du processus IE=11,2 A (mesur avec un ampremtre) et VE=24 v. Daprs le document du fabriquant le courant maximal qui peut supporter la LED est de IF=27mA donc pour ne pas le dpasser on a branch avec une rsistance de 217 ohm.

1.5 Conception sur ordinateur


1.5.1 PRSENTATION DU LOGICIELLE ISIS

LISIS est un logiciel professionnel, utilis dans l'lectronique pour simuler des circuits et crer des typons. Il est galement capable de simuler le fonctionnement du PIC avec tous les priphriques de la carte de commande. Lutilisation du logiciel ISIS permet de mieux visualiser le bon droulement du systme ainsi que davoir une ide claire sur la partie matrielle et la conception des circuits imprims. Il nous permet de limiter les essais rels. 1.5.2 SCHEMA ISIS DE CIRCUIT

Sortie FPGA Sortie processus

Entre FPGA

2 8

Chapitre 3 : Partie materiel

Entre processus

Figure3 : schma ISIS du circuit dataptation 1.5.1 GNERALISATION DE CIRCUIT Cette schma est ralis pour adapter et isoler un seul pin, pour adapter tous les entres/sorties il faut rutiliser au nombre de ces entre sortie

1.6 Routage
i. PRESENTATION ARES Cest un logiciel permettant le routage des cartes lectroniques en mode automatique ou manuel. Il est possible dutiliser ARES sans avoir cr au pralable un schma dans ISIS. Cette fonctionnalit permet de raliser des circuits de faible complexit en plaant les composants et en traant les pistes directement sur ARES. Une fois les connections tablies, il est possible deffectuer un routage automatique des pistes.

i. TYPON DE LA CARTE

Figure 4: typon ARES de la carte dadaptation et disolation

2 9

Chapitre 3 : Partie materiel

Composantes de la cartes 22 Rsistance 3.3K ,22 rsistance 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 opratoire Aprs la conception sur lordinateur on passe la ralisation de la carte, cela passe par les tapes suivantes :

Insolation: On dcoupe 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 dinsolation

On verse le rvlateur 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.

3 0

Chapitre 3 : Partie materiel

REVELATION

Figure 6 : insolation de la carte GRAVURE

On utilise rgle 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'actone ou de l'alcool brler pour retirer la rsine et ainsi apparat les pistes de cuivres.

Figure 7: la machine de gravure

Figure 7 : gravure de la carte

3 1

Chapitre 3 : Partie materiel

Aprs on passe au PERAGE et au Soudage

b. Conclusion
Nous avons tudi la conception dtaille de notre carte avec la bonne solution qui rpond la spcification de notre tude thorique, nous passons maintenant la conception du programme

2 Conception du code VHDL et Programmation de la FPGA


a. Introduction

La ralisation de la commande tait le but principal de notre projet, avant que le problme dadaptation qui apparait pendant lanalyse du systme, 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 :

Saisie du programme en langage VHDL


Edition

Assemblage ou synthtisation

Traduction du langage VHDL (entit / architectures) en circuit numrique et dfinition des interconnections

Simulation

Vrification du fonctionnement du programme avec : - soit un logiciel simulant lFPGA (ex MODELSIM) - soit par la carte de dveloppement soit une carte lectronique, connecte un PCEEPROM et pilote en par Enregistrement de larchitecture sur la mmoire un logiciel, fonctionnant comme le microcontrleur mode AS ou programmation direct en mode JTAG .

Programmation

Essai

Vrification relle du fonctionnement

3 2

Chapitre 3 : Conception du code VHDL et Programmation de la FPGA

3 3

Chapitre 3 : Conception du code VHDL et Programmation de la FPGA

b) Graphe dtats du banc de trie

htdc Stop start Initialisation Arrt

htdc

hbdc Mesure de la hauteur Chapitre 3 : Conception du code VHDL et Programmation de la FPGA

Opt5 Opt6 T>6s

hbdc T<6s hgth

Assemblage

Chut1 Rejection

hbdc hgth Tri mtal Chut2 Tri plastique ind ind T<3s Dtection de la nature

3 4

1.5

Description VHDL

On a implment la description VHDL issu du graphe dtat, on a aussi essay de commenter ce code de faon pour quil soit suffisamment lisible. Le code est dcrit dans lANNEXE 4. 1.6 Simulation 1.6.1 PRESENTATION DU LOGICIEL MODELSIM Modelsim est un logiciel de simulation ddie 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 quon a suivi pour la simulation notre code sont les suivantes :

Cration des fichiers Il contienne deux fichiers un fichier code workcell_system qui sera utiliser pour programmer la FPGA, le deuxime est un test-bench qui sera utiliser pour la vrification du code

Compilation On a effectu sur toutes les units de compilation (entit, architecture) et sur tous les composants du modle (description-test bench). Lancement de la simulation
Aprs le lancement simulation on a obtenu le chronogramme suivant : Voir ANNEXE 2

35

Chapitre 1: Conception du code VHDL et Programmation de la FPGA

1.7 PROGRAMMATION 1.7.1 ENVIRONNEMENT DE DEVELOPPEMENT QUARTUS Quartus est un environnement de dveloppement et de conception des FPGA altera, il contienne a la fois lediteur de code ,le compilateur ,le simulateur et le programateur .Par utilisation de Quartus il est possible de reprogrammer la FPGA a n'importe quil temps , et il est galement possible de modifier

les donnes non-volatiles stockes 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 Lassistant de cration de projet

2. on Cre les fichiers dcrivant le projet 3. on a Choisis le dispositif FPGA


EP2C20F484C7 et le mode de programmation JTAG

36

Chapitre 1: Conception du code VHDL et Programmation de la FPGA

4. On choisit lassignement des pins 5. On Compile le programme Programmer laide du programmateur


1.5 Conclusion

La ralisation de la commande, la partie la plus importante de notre projet a t archive, pendant cette partie, on a utilis une diversit de matriels et logiciels que nous ont t utile pour notre projet ainsi que pour lapprofondissement de nos connaissances.

37

Chapitre 1: Conception du code VHDL et Programmation de la FPGA

38

Chapitre 1: Conception du code VHDL et Programmation de la FPGA