Home

Description par machines à états

image

Contents

1. 3 E voit EO 4 E errtzo 5 W or di d II Output Table me Output Part 1 RAZ CRT 2 RNS 3 V NS 4 D REO 5 gt 0 EO 6 VEO 7 O NS R aliser la machine tat et le sch ma du gestionnaire de carrefour Le diff rentiel entre le temps du FPGA 20ns et le temps des feux du carrefour la seconde entraine une simulation tr s longue Pour tre pragmatique uniquement pour la simulation le diviseur par 50x10 est transform en diviseur par 50 et l horloge passe d une p riode de 20ns une p riode de 20ms Simulation GATE Cette simulation montre l volution des signaux apr s synth se dans le FPGA les glitchs ont la largeur d une p riode d horloge ge Wave fcarrefour_sch dock_50 EB carrefour_sch sw Eich RB crrefour_schjkey 1 Uu BR jcarrefour_sch edr 7 6 5 4 3 2 1 UU Les Bes ja Le on TT es Be TT es Co 7 TON ee D NH me Now 920000 ns croi Een La simulation fonctionnelle est r alis e partir de fichiers en langage de Project Navigator haut niveau VHDL VERILOG La machine tat ainsi que les compteurs sont d crits en VHDL Il est n cessaire de remplacer le sch ma du gestionnaire de carrefour par Files abo carrefour_sch vhd abo carrefour vhd sa description en VHDL RARE Afficher le sch ma puis file Create update Create HDL design file div50M gip for current file choi
2. Documents ressources http www altera com literature lit index html Introduction to Quartus II intro to_quartus2 pdf Documentation QUATUS quartusii_handbook pdf Documentation KIT DEZ DEZ UserManuall pdf Mode d emploi du simulateur ModelSim Tutorial modelsim tutorial ug pdf Data sheet http www altera com literature lit cyc2 isp Logiciels ALTERA QUARTUS Il et Mentor Graphic ModelSim https www altera com download software quartus ii we https www altera com download software modelsim Mat riel Carte ALTERA DE2 http www altera com education univ materials boards de2 unv de2 board html SIN3 FPGA Description par machine tats QUARTUS dispose d un outil de d veloppement graphique de description par machine tats Apr s le dessin la machine tats est cod e par QUARTUS en langage de haut niveau VHDL ou VERILOG La validation du comptage ou du d comptage des v hicules entrant dans le parking le projet support n cessite un s quencement particulier avec une r action sur front montant le transfert d une impulsion de comptage ou d comptage si le nombre de place le permet La description par machine tats est alors particuli rement adapt e et fera l objet du dernier exercice de ce TP Le TP fait appel des connaissances simples du langage VHDL Consulter le livre de J Weber et S Moutault htto books google fr books id AKolOwjcanUC 1 R soudre un probl me s quenti
3. m Ki BL RS be ke pn K bp 5 js Ki K Le rer Rent les signaux de commande du moteur pas pas ainsi que l tat de la machine et l tat suivant conform ment au code VHDL D christian dupaty ac aix marseille fr http genelaix free fr 3 SIN FPGA MAE doc 7 13 SIN3 FPGA Description par machine tats 6 Simulation temporelle de la machine tat La machine tats doit tre ins r e dans un sch ma qui permettra entre autre la d finition des broches du FPGA cible Cr er un nouveau composant partir du fichier motpp vhd Cliquer File Create Update Create Symbol File for Current File Cr er un nouveau sch ma motpp_MAE bdf mettant en uvre ce composant Charger les assignations par d faut Assignment Import assignments selectionner DE2_pin_assignments csv Voir CD accompagnant la carte DE2 http Wwww terasic com tw c gi bin page archive pl Language English amp CategoryNo 53 amp No 30 amp PartNo 4 Nommer ensuite les broches d E S comme suit KEYTO d T d EDRI DIN AC IN Ge ET Fraise 3 i PIN N25 le it LEDRO PN AF23 PIN_AEZ3 On peut v rifier par un double clic sur le composant quelle est sa description D finir ce sch ma comme description de plus haut niveau Dans le Project Navigator clic droit sur motpp_MAE bdf puis Set As Top Level Entity Lancer maintenant ModelSim en simulation GATE LEVEL S
4. l horloge est transmise trois fois sur la sortie train L onglet action de l tat comporte alors l information train horloge En raison de la division par 50M de l horloge 50Mhz la simulation sera effectu e sans le diviseur par 50 000 000 La division de l horloge du KIT DE2 par 50x10 entraine une simulation GATE tr s longue La simulation comportementale permet de simuler chaque description ind pendamment elle va permettre de valider le fonctionnement comportemental de la machine tats Lancer une simulation EDA RTL avec ModelSim Dans ModelSim Start Simulation work choisissez behavior de la MAE gene _train_ impulsions Design VYHOL Verilog Librari work HE div50m El gene_train_impusions Al behavior An D christian du aty ac aix marseille fr http genelaix free fr 3 SIN FPGA MAE doc 9 13 SIN3 FPGA Description par machine tats Avec une horloge 1us sur clock et horloge et une horloge 20ms rapport cyclique 20 sur pulse on doit obtenir ml Nee faene_train_impusions reset fgene_train_impusions dock fgene_train_impusions horloge fgene_train_impusions pulse fgene_train_impusions train faene_train_impusions fstate state state state jetatez fgene_train_impusions reg_fst State Jtate KLtated jstate5 s 8 125 ns Essayer ensuite le g n rateur de train d impulsion sur le KIT DEZ Une base de temps est ici n cessaire ell
5. 3 0 Un double clic sur l instance permet de voir sa structure fstate WideOr7 clock fe sk CPS reset GND ES MUX 1 DA Fe TEEN D christian du aty ac aix marseille fr http genelaix free fr 3 SIN FPGA MAE doc 6 13 SIN3 FPGA Description par machine tats 4 Structure synth tis e dans le FPGA de la machine tat Tools Netlist Viewvers Technologie Map Viewer affiche le sch ma de la structure synth tis e motppinst KEY 0 EE Ve ch Deg 2 E Cp 28 Double clic sur l instance affiche les LOGIC CELL et les bascules mises en uvre reg_fstate 1 fstate P4 Selector1 0 fstate P3 Bau Swi p LOGIC_CELL_COMB F000 LOGIC_CELL_COMB F0F3 KEY 0 La structure interne des LOGIC_CELL peut tre visualis e double clic fstate P3 swo KEY 0 5 Simulation fonctionnelle de la machine tats Le fichier VHDL g n r est simulable dans ModelSim Effectuer une simulation fonctionnelle RTL Cliquer Tools Run EDA simulation tools EDA RTL simulation Dans ModelSim Cliquer Simulate Start Simulation work behavior OK Ajouter tous les signaux forcer le RESET et DP 0 placer une horloge 1ms sur clock et effectuer une simulation de 10ms forcer DP 1 effectuer une simulation de 10ms imotpp reset fmotpp cock imotpp dp imotpp ba1 motpp ba2 imotpp bb1 motpp bb2 imotpp fstate imotpp reg_fstate p3 b S
6. LOGIC 0 i clock IN STD_LOGIC l DP IN STD_LOGIC 0 I l BAT OUT STD LOGIC I BA2 OUT STD LOGIC BEL OUT STD_LOGIC l l BB2 OUT STD_LOGIC I LU d END motpp D mmm wm E wm SO mmm DS OS DS mmm mm ARCHITECTURE BEHAVIOR OF motpp IS TYPE type _fstate IS P1 P2 P3 P4 P5 P6G P7 P8 SIGNAL fstate type _fstate SIGNAL reg_fstate type _fstate BEGIN DL nn mn ss PROCESS clock reg_fstate N BEGIN i i IF clock 1 AND clock event THEN i i fstate lt reg_fstate END IF i er PROCESS EEN http genelaix free fr 3 SIN FPGA MAE doc 4 13 SIN3 FPGA Description par machine tats PROCESS Li Shots LOS Ge DD a L IF reset 1 THEN l reg_fstate lt P1 BA lt 0 Il BA2 lt 0 d _ i Ge Hal DA BB2 lt 0 ELSE BAT lt 0 BA2 lt O BB1 lt 0 BB2 lt 0 CASE fstate In TETTEN WHEN P1 gt IF DP 1 THEN reg_fstate lt P2 l ELSIF NOT DE 1 THEN reg fstate lt P3 i j Inserting else block to prevent latch inference ELSE reg_fstate lt P1 l l END IF i Il BA1 lt O BA2 lt 0 EE EE ge BB2 lt 1 WHEN P2 gt reg_fstate lt P3 WHEN P3 gt BA lt 1 BA2 lt O BEL lt 07 BB2 lt 1 IF DP 1 THEN reg_fstate lt P4 ELSIF NOT DP 1 THEN reg_fstate lt P5 Inserting else block to prevent latch inference ELSE reg_f
7. a hi carrefour_sch raz_cptsec fcarrefour_sch synthesized_ carrefour _sch synthesized_ Cursor 1 200ns Ne pas oublier de changer le diviseur par 50 en diviseur par 50x10 avant de faire les essais sur le mat riel D christian du aty ac aix marseille fr http genelaix free fr 3 SIN FPGA MAE doc 12 13 SIN3 FPGA Description par machine tats 9 La machine tat dans le projet gestion de parking La d tection d un v hicule en entr e s il reste au moins une place dans le parking une impulsion en mode d comptage sur le compteur d compteur La d tection d un v hicule en sortie si le nombre de place restant n est pas au maximum provoque une impulsion en mode comptage sur le compteur d compteur La machine tat du d tecteur de v hicules Input Table EE eeeeEEeebe Input Port 1 E reset 2 B dock 3 BW E a E s 5 E max 6 E min Output Port 1 E UD 2 OK CPT Output Port Output Value In State i UD 0 DOWN E et S d tecteurs de v hicules actifs l tat bas a i i SE max 0 indique un parking plein x m i S LIL LUF min 0 indique un parking vide UD o Repos UD comptage d comptage comptage si UD 1 qe e JO CLKI ck pt horloge du compteur d compteur 6 UD o CLKD 7 CLK CP D DOWN amp CLE CPT g RAZ E H OK CFT g UF 19 OK RI g Repos 11 OK CFT 1 LIKE i2 CLK ORT 1 CLKD ic_m
8. ae reset gic_mae dock ic_mae e gic_mae s Hi r ta O flogic_mae max flogic_mae ud ic_mae cdk_cpt flogic_mae fstate flogic_mae reg_fstate reps LU TNemes J liens repos LU Ueges O S o es e e Li R aliser la machine tat dans le projet parking et effectuer une simulation fonctionnelle DE christian du aty ac aix marseille fr http genelaix free fr 3 SIN FPGA MAE doc 13 13
9. e est r alis e l aide d un compteur de secondes qui peut 8 Exercice gestionnaire de carrefour Le carrefour poss de deux axes de circulation La voie Nord Sud NS est prioritaire et au vert par d faut Un d tecteur de v hicules est plac sur la voie Est Ouest EO Lorsqu un v hicule se pr sente la voie NS passe l orange pour 2 secondes puis au rouge apr s 1 seconde la voir EO passe au vert pour 5 secondes cela pour acc l rer la simulation puis lorange pour 2 secondes puis au rouge apr s 1 secondes la voir NS passe au vert et le cycle peut recommencer Une commande or_cli permet de passer les deux voies l orange clignotant p riode 2 secondes tre remis z ro par la machine tats et dont la sortie peut tre utilis e dans les tests de transitions div50m TS er pgn i NU ME em PIN_AB21 PIN_AF23 aid e Sg g PIN_AE23 modulus 50000000 f LC PIN_AD23 Mee E E BE SE a aa e ME PNAC Lee en Se AE am em E DR AC BE WT KE D O we DEE em Lee JL E DS EE D christian du aty ac aix marseille fr http genelaix free fr 3 SIN FPGA MAE doc 10 13 SIN3 FPGA Description par machine tats Input Table e EE EE PEU EU OU PEN DR YEN LED OE EU SU DEN DEN ES EE PE E DEN EN EU PEU PEN DE DEN PEU DEN OAE DE SU SON Sen ES EC EU EN NN DEN Input Fort E EL EE CE EE S i AN Hr elek tee Gel e E E E E EE e y DREES e DEENEN 1 reset 2 dock
10. el par MAE dans QUARTUS II On d sire r aliser la logique d une commande de moteur pas pas avec la possibilit d effectuer la rotation en pas entier ou en demi pas Le moteur tournera uniquement dans le sens horaire http fr wikipedia org wiki Moteur pas pas Phases de commande des 4 bobines du moteur le probl me est similaire avec un moteur bipolaire Pas entier Ue CLOCK vouto T CJ OT OIJ OT OIJ LOT LOIT LNI LOI L vouto J LOT LOT OIJ LJ OIJ OT OJT LOT LOT o vouta OT L OT LJ LIS LOIT LNI LOIT OT N DA QQUT4 OCT LIT LJ LOIT OIT LOI OIT LT LT L 0 00 2 B 4 00 6 00 8 00 10 0 Demi pas Ue CLOCK roum JIL III T TL T TLT TL roum JIL III III III II amer IL T TE III III III Ir om II III III TI TE T ILN 9 00 2 00 4 00 6 20 8 90 18 0 Les chronogrammes ci dessus font apparaitre les quatre phases du mode pas entier et les huit phases du mode demi pas 2 Description par machine tat commande de moteur pas pas Cr er un projet Quartus appel motpp_mae pour un FPGA EP2C35672C6 quipant la carte DE2 Cliquer File New ou L puis s lectionner State Machine File Une fen tre de l diteur graphique de machine tat est cr D christian du aty ac aix marseille fr http genelaix free fr 3 SIN FPGA MAE doc 2 13 SIN3 FPGA Description par machine tats Input Table gl Input Port 1 E reset 2 E dock 3 B pF P m Output Table Outpu
11. low model Placer une horloge 1ms sur key 0 une horloge 40ms sur sw 0 effectuer une simulation de 80ms ge E eg L Msgs EB motpp_mae key s gt 0 D motpp mae sw 0 E motpp_mae jledr 3 2 E 1 0 WW E Mouv 80000000 ns Les signaux repr sentant les tats de la machine ne sont plus accessibles Quaxtus ayant optimis la description en temps et en ressource En revanche les retards et temps de propagation peuvent tre mesur s la simulation repr sentant un fonctionnement r el Il ne reste plus qu effectuer les essais sur le mat riel D christian du aty ac aix marseille fr http genelaix free fr 3 SIN FPGA MAE doc 8 13 SIN3 FPGA Description par machine tats 7 Exercice G n rateur de train d impulsions On se propose de r aliser un g n rateur de train de trois impulsions sur la LED LEDR 0 lors de l appui sur la touche KEY 0 du KIT DEI suivant le sch ma ci dessous Ir END A SZ C Sn ne ee Bee PN AE ees EE e SE UT DECHE t G TTT ae em ee E PN AF23 div50m DIN NZ divbealt2p Oo up counts modulus 500000 inst R aliser simuler et tester sur une carte DE2 le g n rateur de train d impulsions avec une p riode d une seconde et correspondant la description suivante Input Table Input Port 1 E reset E dock B pulse 4 E horloge Output Part 1 train Lors du front descendant sur pulse
12. sir VHDL Le fichier carrefour_sch vhd est cr Il cpt256 qip faut remplacer le sch ma par la description VHDL dans le Project Navigator D christian du aty ac aix marseille fr http genelaix free fr 3 SIN FPGA MAE doc 11 13 SIN3 FPGA Description par machine tats On peut maintenant r aliser une simulation fonctionnelle LES WW Verilog Dans ModelSim faire Simulate start simulation dans rtl_work il est possible de simuler la MAE carrefour ainsi que les deux compteurs NM work ind pendamment Pour simuler l ensemble s lectionner carrefour_sch OM gate_work TH work carrefour WE p HE carrefour sch A cpt236 SET div 50m La commande do test do lance la simulation Fichier test do vsim do Carrelour run msim SEL vhdl do l1 msim transcript gui rtl_work carrefour_sch add wave force freeze sim carrefour_sch clock_50 1 0 O 10000000000 ps r 20ms force freeze sim carrefour_sch key 1 1 0 force freeze sim carrefour_sch key 0 1 0 force freeze sim carrefour_sch sw 0 0 0 run 25000ms force freeze sim carrefour_sch key 0 0 0 run 1000ms force freeze sim carrefour_sch key 0 1 0 run 15000ms force freeze sim carrefour_sch sw 0 1 0 run 15000ms carrefour _sch dock_50 S carrefour_sch key 1 0 S carrefour_sch sw 0 carrefour _sch dk1s Das fo UR REECH e e yo y y yis he yis he W7 yie Jo So 12 b N D
13. state lt P3 END IF BA lt 1 BA2 lt 0 BB1 lt 0 BB2 lt 0 WHEN P4 gt reg_fstate lt PD WHEN P5 gt BAI lt 1 BA2 lt 1 BB1 lt 0 BB2 lt 0 IF DP 1 THEN reg_fstate lt P6 ELSIF NOT DP 1 THEN reg_fstate lt P7 Inserting else block to prevent latch inference ELSE reg_fstate lt D END IF BAT lt 0 BA2 lt 1 BB1 lt 0 BB2 lt 0 WHEN P6 gt reg_fstate lt P7 BAT lt 0 BA2 lt 1 BB1 lt 1 BB2 lt O WHEN P7 gt IF DP 1 THEN reg_fstate lt P8 ELSIF NOT DP 1 THEN reg_fstate lt Pl Inserting else block to prevent latch inference ELSE reg_fstate lt P7 END IF BAIL lt 0 BA2 lt 0 BB1 lt 1 I christian dupaty ac aix marseille fr http genelaix free fr 3 SIN FPGA MAE doc 5 13 SIN3 FPGA Description par machine tats BB2 lt 0 WHEN P8 gt reg_fstate lt P1 BAT lt 0 BA2 lt 0 BB1 lt 11 BB2 lt 1 WHEN OTHERS gt BAL lt X BA2 lt x BB1 lt X BB2 lt X report Reach undefined state END CASE END IF END PROCESS END BEHAVIOR 3 Structure logique de la machine tat Tools Netlist Viewvers RTL Viewer affiche le sch ma de la structure fonctionnelle comportementale ou behavior motpp inst 5w 0E KEYIO DIEN EN EDR
14. sus Output Port Output Value In State Double clic sur l tat puis onglet action a DG i EA Pi 3 B i 1 P3 Output Fort 4 BAI 1 P4 BAI a SE S BAJ 6 B i g D Sich g 7 B i O P7 BB o 8 BAI 0 P8 9 BAZ 0 Pi lt New gt 10 BA2 g P2 A E 1 i 17 La machine tats est termin e cr er le fichier VHDL correspondant LL pee me i 12 BAZ 1 F4 en cliquant sur 13 BA i p5 Le fichier g n r sera utilis lors de la simulation dans le cas d un 14 BA 1 DE projet ayant de multiples sources il est n cessaire de faire apparaitre 15 BAJ o p7 ce fichier dans le projet mE z Si Dans le project Navigator onglet Files Clic Droit sur Files puis ajouter vw z z le fichier motpp vhd Wa 5 Il est indispensable de v rifier la description VHDL des connaissances A 8 minimum du langage sont donc n cessaires L analyse d une machine 20 B81 0 ii tat est relativement simple identifier dans le programme ci 21 651 P dessous BB1 1 De 23 BE 1 P7 La d claration des entr es sorties et des signaux 24 ERI 1 ps La partie mise jour des tats 25 EE i pi L effet du RESET sur les sorties 26 BE H pa Pour chaque tat la ou les conditions de passage un autre 27 BB p3 tat l tat des sorties SE p4 LIBRARY ieee 29 BBZ 0 P5 USE ieee std_logic_1164 all 39 BB2 PE ee m Ia Es Sa Sa gt BW SE f ENTITY motpp IS N 31 BBZ o P7 i PORT 32 BB2 1 P8 I reset IN STD_
15. t Port 1 BA1 2 TE aa 3 S BEI 4 Chi 4 z Option Settng 1 Reset Mode Synchronous ii 2 Rese e Level Active High AIR Im E gei En suivant l architecture ci dessus Cr er l entr e DP qui permettra le choix entre pas entier et demi pas Symbole vert Cr er les quatre sorties pour les bobines Symboles jaunes Placer les 8 tats de la machines cercle rose et les renommer double clic l tat P1 poss de par d faut une fl che sur la gauche c est l tat apr s la remise z ro de la machine Placer les liens entre les tats ic ne lacet certaines transitions sont conditionnelles double clic sur le lien permet d diter les conditions ex DP la transistion est valide pour DP 1 DP la transistion est valide pour DP 0 Pour cr er un bus ex BDT en entr e ou en sortie BDT 7 0 donc ici 8bits Input Table Input Port 1 E reset 2 dock 3 E voit EO 4 ES E0T 7 0 Est gale ts Est different Il est alors possible de cr er des conditions de transition sur ce bus Ex BDT 128 ou BDT gt b010011100 8 d Be NAND o I NR NON Ou exclusif SO ENON D christian du aty ac aix marseille fr http genelaix free fr 3 SIN FPGA MAE doc 3 13 SIN3 FPGA Description par machine tats Indiquer l tat des sorties pour chaque tat de la machine State Table T conform ment aux chronogrammes ci des

Download Pdf Manuals

image

Related Search

Related Contents

intext:Bedienungsanleitung filetype:pdf  Husqvarna CTH2542 TWIN User's Manual    Ektron CMS400.NET Developer Reference Manual  Jan 2014 – English Revision v1  取扱説明書 FSLJ014-B  Elica Spot H6 ST IX A/90  User Manual for types of exercises only  

Copyright © All rights reserved.
Failed to retrieve file