b) diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · fs24...

28
1 I°) Présentation du flipper. A) Mise en situation L’objet technique que l’on se propose d’étudier est un flipper du fabricant Américain Gottlieb qui fonctionne grâce à l’alimentation électrique de 220V. A son origine au XVIII e siècle, le jeu du flipper n’était qu’une planche de bois inclinée avec des clous disposés sur celle-ci et sur laquelle on jouait grâce à une canne. Aujourd’hui après maintes améliorations, le flipper est principalement constitué d’électronique pour les éléments tel que la gestion des points, l’animation, la canne a été remplacé par un lanceur électronique, … Ces évolutions ont permis de toujours susciter l’intérêt des joueurs. Cependant le flipper tend à être remplacé par les nouveaux jeux vidéo qui apparaissent de nos jours, l’amélioration du flipper et sa production sont donc réduites, les flippers deviennent des pièces de collections. B) Diagramme sagittale. Flipper électronique JOUEUR Réseau E.D.F Exploitant Energie électrique Informations visuelles et sonores de gestion du flipper Informations visuelles et sonores (score, évolution de la partie …) Pièce de monnaie Position de la bille sur le plateau Action Sur la bille Action mécanique (déplacement du plateau,…) Configurations ( réglage du son, mode de jeux …) Gérant Argent ( location du flipper ) Communications : jeux ; dysfonctionnement du flipper Argent Contenu dans le monnayeur Choix du nombre de joueurs

Upload: buithuan

Post on 14-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

1

I°) Présentation du flipper.

A) Mise en situation

L’objet technique que l’on se propose d’étudier est un flipper du fabricant Américain Gottliebqui fonctionne grâce à l’alimentation électrique de 220V. A son origine au XVIIIe siècle, le jeu du flipper n’était qu’une planche de bois inclinée avec des clous disposés sur celle-ci et sur laquelle on jouait grâce à une canne. Aujourd’hui après maintes améliorations, le flipper est principalement constitué d’électronique pour les éléments tel que la gestion des points, l’animation, la canne a été remplacé par un lanceur électronique, … Ces évolutions ont permis de toujours susciter l’intérêt des joueurs. Cependant le flipper tend à être remplacé par les nouveaux jeux vidéo qui apparaissent de nos jours, l’amélioration du flipper et sa production sont donc réduites, les flippers deviennent des pièces de collections.

B) Diagramme sagittale.

Flipper électronique

JOUEUR

Réseau E.D.F

Exploitant

Energieélectrique

Informations visuelles et sonores de gestion du

flipper

Informations visuelles et sonores (score, évolution de

la partie …) Piècede

monnaie

Position de la bille sur

le plateau

ActionSur la bille

Action mécanique

(déplacement du plateau,…)

Configurations ( réglage du son,

mode de jeux …)

Gérant

Argent ( location du flipper )Communications : jeux ; dysfonctionnement du flipper

Argent Contenu dans le monnayeur

Choix du nombre de

joueurs

Page 2: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

2

C) Schéma fonctionnelle de niveau 2.

D) Fonction d’usage.

Du fait des nombreux actionneurs, lampes et interrupteurs, le système simulé sera réduit et diminuer par rapport au système réel

E) Dispositifs particuliers du flipper.

Le flipper à été conçu avec deux modes de fonctionnement différents, le mode test et le mode jeux. Le mode test accessible aux techniciens permet de vérifier que tous les composants fonctionnent correctement et de détecter les pannes. Le mode jeux permet tout simplement à l’utilisateur de jouer au flipper. Dans le cas ou des joueurs deviennent trop violents ou essayent de tricher, des processus ont été inventés pour protéger le flipper:

- Le TILT est constitué d’un poids suspendu par une tige, la tige est entourée d’un anneau métallique. Lorsque le contact se fait entre la tige et l’anneau, les raquettes du flipper deviennent inactives et la boule est perdu. Le TILT permet donc de détecter lorsque le joueur secoue trop fortement le flipper.

- Le dispositif anti-soulèvement est réalisé grâce à une bille placée dans un rail, lorsque le flipper est soulevé la bille tape dans un contacteur placé à une extrémité du rail. Ce contact déclenche ensuite la fin de la partie, le joueur doit lancer une nouvelle partie pour continuer à jouer.

- Le SLAM est ce qui permet la protection du monnayeur.

Déplacement de la bille

Gestion du plateau et application de la règle

du jeu

O.T

Pièce de monnaie

Score et déroulement de la

partie

Informations sur la position de la bille et de l’état

du plateau

Position de la billesur le plateau

Informationssonores

Animation lumineuse du jeu et commande des

différents actionneurs ( champignons , éjecteur , …)

Action mécanique sur la bille

Réglages et configuration

Argent contenu dans le monnayeur

Informations lumineuses du plateau

Choix du nombre de joueurs

Page 3: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

3

Page 4: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

4

II°) Étude de FP1: «gestion du flipper sur l'objet technique du flipper».

Les différents modules électroniques du flipper sont gérés par un microprocesseur, celui-ci dispose de deux différents types de mémoires pour fonctionner; la mémoire morte et la mémoire RAM.Le cahier des charges impose que cette mémoire RAM soit sauvegardée pendant plusieurs jours après une absence d’alimentation. Cette fonction sera réalisée par FP1.

A) Rôle et capacités des différentes mémoires

La mémoire morte est de type EPROM et a une capacité qui peut varier entre 64ko et 128ko (14 ou 15 fils d'entrées et 8bits de sorties) grâce à un cavalier JP1. Elle a en mémoire le programme de gestion du flipper. Elle est uniquement accessible en mode lecture.

La mémoire vive de type CMOS permet la sauvegarde des plus hauts scores, des tarifs, ... Ellea une capacité totale de 8ko (13fils et 8bits de sorties). Cette mémoire est accessible en lecture et en écriture. La sélection s’effectue grâce à un niveau haut sur CS2 et un niveau bas sur CS1/. Le modelecture ou écriture est commandé par /WE et /OE.

Traitement

Décodage d’adresses

Mémorisation du programme

Mémorisation des données

Alimentation

Génération du signal de référence

0

/RES

Surveillance du niveau de

l’alimentation

A0 à A15

D0 à D7

Interfaçage Mémorisation

Données à afficheret de commande des

actionneurs et des lampes :BD0 à BD7

Ret0 ,Ret1

àRet7

TestTilt

Slam

2

R/W

Donnéesà écouter

( SD0 à SD7 )

IRQ , NMI

LCLRLSTB

LDATA

DSTBLDS

SS0 à SS3 DS0 à DS3

A13 à A15 , A4 à A6

Csepro

Cscontrol

Csinterfaces

CsepromCscontrol

Csinterfaces

RES

CE0

Vcc0

RES

2

DX7 à CX2

Page 5: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

5

B) Etude de FS15 associé à FS24

Ces fonctions permettent de surveiller l’alimentation du flipper (FS25) et ainsi de sauvegarder les données dans le cas où l’alimentation deviendrait insuffisante (FS24). Cette fonction est réalisée grâce au composant DS1210, à la batterie LM2430 et à la mémoire RAM HT6264.

Quand l’alimentation est correct , CS1/ (actif au niveau bas=0,4V) et CS2 (actif au niveau haut=2,4V) permettent la sélection de la RAM selon les ordres envoyés par le microprocesseur. L’accès en écriture et en lecture est donc possible.

Puis lorsque l’alimentation chute en deçà de 4,6V, le DS1210 impose un niveau logique haut sur CS1/, le processeur n’a désormais plus aucun rôle, la mémoire est désactivé. Ici intervient la batterie qui permet de pallier à l’alimentation (VCCI sur DS1210) désormais absente. La tension aux bornes de la RAM passe ainsi de 5V à 2,8V (Vbat-0,2) mais permet cependant la conservation des données. Le fait que la RAM soit désactivée permet de ne pas endommager les données sauvegardéesmais aussi d’assurer une faible consommation de la mémoire HT6264. La mémoire est en mode veille (ou stand-by) et ne consomme alors que 50µA, ce qui permet une autonomie d’environ 6ans avec la LM2430 (capacité de 270mAh).

Tensiond’alimentation

CSCONTROL

V/CE0

VCCO

t

t

t

t

5v

1

0

5v

horstension

Etat du flipper

0v

0v

0v

mise sous tension

lecture message à afficher :"touchez pas à la drogue"

attentecrédit pièce

enregistrement du meilleur score

2,8v

2,7v

4,8v

Page 6: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

6

III°) FP2: « Initialisation et surveillance de l'alimentation et du programme ».

Le constructeur a mis en place un système de détection de baisse de tension (FS21) et un système de surveillance de l’animation (FS24). FS21 permettra de vérifier que le microprocesseur est bien alimenté dans sa plage de fonctionnement et devra dans le cas contraire délivré un signal de remise a zéro pour le microprocesseur. FS24 détecte que l’animation du plateau soit devenueincorrecte ou inexistante en vérifiant le signal LSTB. De plus nous étudierons une amélioration du flipper qui permet d’intégrer toutes ses fonctions dans un même composant afin d’effectuer une économie de spatiale et monétaire..

A) Détection de la baisse d’alimentation.

Pour réaliser la fonction le constructeur se sert d’un ADI LM339, de deux diodes 1N4148, d’une diode zener BZX55C3, de trois résistances et d’un condensateur.

L’ADI est placé en comparateur et est à collecteur ouvert, lorsque V+ supérieur à V-, la sortie de l’ADI (SALIM) est à 5V et dans le cas inverse SALIM est à 0V.La résistance de rappel R14 permet de réaliser correctement cette fonction.Afin de définir la tension de détection, on doit se servir de la droite d’attaque de la diode zener. Pour cela on utilise la valeur de la résistance R13 et les tensions que peut atteindre l’alimentation dans un fonctionnement correcte (variation entre 4,5V et 5V).On en déduit donc le courant qui circulera dans la diode et on pourra ensuite retrouver les points de fonctionnement de celle-ci.

V+ (=VR13) de l’ADI vérifie l’équation V+ = Vcc-Vz (Vz «étant la tension de la diode zener).V- = Vd4+Vd3.

Ainsi on peut dire que lorsque Vcc - Vz Vd3 + Vd4 la détection de baisse de tension sera active, le signal SALIM passera à 0V.

Détection d’une baisse de tension

Fs21

Mémorisation du défaut Fs25

Génération d’un signal

d’initialisation

Fs22

RES

MR

+5v( Alimentation )

2

LSTB SLSTBContrôle du fonctionnement des lampes Fs24

SALIM

InitPrise en compte des demandes d’initialisation Fs23

Page 7: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

7

Cette simulation nous montre qu’il a fallu modifier la structure d’origine pour réaliser une détection à environ 4,5V.On voit que lorsque la tension chute, INIT passe au niveau logique zéro. Ce qui déclenche une remise à zéro du microcontrôleur dans le flipper réel. Cependant, sur la carte éleve, ce signal n’est pas relié au microcontrôleur pour des raisons pratiques.

En réalisant cette étude nous avons rencontré certains problèmes tant en manipulation qu’en simulation. En simulation, les diodes qui étaient simulées (1N4148) étaient différentes de celle que nous utilisions réellement sur la « carte élève », la détection se faisait ainsi à 4V au lieu de 4,5V. De plus ces résultats se confirmaient en manipulation du fait que nous ne fassions chuter la tension que sur une seule alimentation de la carte. Afin de retrouver le seuil de détection de 4,5V il nous aurait fallu créer cette baisse de tension sur l’ensemble des composants de la structure FS21.

La caractéristique de la diode zener BZX55C3 avec les droites d’attaque à 4,5V et 5V nous montre les points de fonctionnement de la diode. Dans notre cas la diode est dans la zone verte, elle est câblée en inverse. Sitôt que la diode n’est plus alimentée en 5V, la tension au borne de celle-ci chute rapidement

Page 8: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

8

B) Surveillance du jeu de lumières.

Pour assurer la détection de l’animation, le constructeur se sert du signal LSTB. C’est un signalémis par le microprocesseur qui à une fréquence de 1Khz lorsque le microprocesseur est en fonctionnement normale 1KHz. La détection se fait donc en analysant la fréquence de se signal.

La structure est composée d’un générateur d’impulsion, d’un monostable redéclenchable (74HC123) et d’un compteur (74HC161). Le signal LSTB va créer des fronts montants qui commanderont le monostable et ainsi le diviseur de fréquence. La sortie du monostable (SLSTB) déclenchera une remise à zéro du microprocesseur lorsqu’elle sera au niveau logique bas. Lors d’un front montant, le monostable passe à l’état haut pendant 45ms (d’après la documentation constructeur T=0,45 x R18 x C17). Il faut donc que les impulsions générées aient une fréquence suffisamment élevée pour ne pas que PT15 passe au niveau logique 0. f = 1/T f = 1/45x10-3 f = 22Hz

Le compteur est câblé en diviseur de fréquence, la sortie utilisée étant la 4eme, il faudra 24

coup d’horloge (φ2) pour passer à «1 ».On en déduit donc que LSTB doit avoir une fréquence minimale de 22hz et que le

microprocesseur démarre en moins de (16φ2 + T) soit 45,016ms. Ainsi lorsque le fonctionnement est correct, SLSTB est à « 1 », PT17 à « 0 » et LSTB à une fréquence d’environ 1Khz, le compteur n’intervient donc pas dans cette partie car il est continuellement remis à zéro.

Lorsque l’animation devient incorrecte, cela veut dire que le microprocesseur est bloqué et donc que le signal LSTB est environ à 0Hz. La fréquence des impulsions sur l’entrée du monostable (entré B) devient donc très faible, SLSTB passera à « 0 » et PT16 à « 1 ». Une remise à zéro sera ensuite effectuée sur le microprocesseur car le monostable ne sera plus redéclenché. Cette remise à zéro sera « arrêtée » grâce au composant U7, qui est un compteur binaire et dont la 4eme sortie est reliée à l’entrée A du monostable. Après 16 coups d’horloge φ2 soit 16µs, la sortie Qd passera à « 1 » et le monostable sera redéclenché pendant 45ms. Cette opération se redéclenchera tant que LSTB ne sera pas revenu à sa fréquence initiale.

PT12 = signal LSTB

PT14 = signal de sortie du générateur d’impulsion

PT15 = sortie du monostable qui commande sur niveau bas la remise à zéro du microcontrôleur.

PT17 = sortie du compteur qui redéclenchera le monostable.

Ce relevé nous montre que lorsque la fréquence n’est pas correcte, le monostable est toujours redéclenché mais grâce au compteur. Le monostable sera toujours redéclenché, mais aura un temps à l’état bas de 16µs, ce qui permettra malgré tout de redémarrer le microcontrôleur. Ainsi le microcontrôleur est remis à zéro jusqu’à ce que le signal LSTB retrouve une fréquence normale et redéclenche lui-même le monostable.

Page 9: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

9

D°) Intégration de FS23, FS25 et FS61 dans le P22V10.

On décide d’apporter quelques améliorations au flipper en intégrant les fonctions de prise en compte des demandes d’initialisation ( FS23), de mémorisation du défaut (FS25), de conversion série parallèle (FS61) dans un seul composant programmable PLD.

1°) Décomposition des éléments à intégrer.

Les différentes fonctions que l’on veut intégrer sont composées de quatre bascules D (trois pour FS61 et une pour FS25), la fonction FS23 étant constituée d’une porte logique ET. D’après les caractéristiques du P22V10, on sait que tous les « resets » sont synchronisés or on sait aussi que la fonction FS25 ne doit pas avoir un reset identique à celui de FS61 et FS23. On réalise donc une bascule D grâce à des portes NON-ET. FS23 et FS25 seront donc dans la partie combinatoire du PLD et FS61 dans la partie séquentielle.

De plus on intègrera dans le P22V10 la fonction décodage d’adresse, mais celle-ci ne fait pas partie de notre étude.

2°) Programmation du Pal P22V10.

Afin de réaliser les fonctions désirées nous devons définir les équations de Qa, Qb, Qc, MRB, RESB, e1 et e2 car ils nous seront nécessaires pour réaliser la programmation en langage ABEL du composant P22V10. Les équations sont les suivantes

Qa = Ldata sur front Montant de Lstb MRB = e1.(RESB.e2.MRB)Qb = Qa sur front montant de Lstb e1 = ( Lstb . e2 ) Qc = Qb sur front montant de Lstb __RESB = INIT . Slstb . Vcc e2 = ( ( e1 . e2 ) . RESB ) . Lstb

Grâce à ces équations nous pouvons maintenant écrire et insérer le programme dans le PAL.

Page 10: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

10

flipper device ‘P22V10’

module flipper

flipper device 'P22V10' ;

"entreesINIT, SLSTB, LSTB, LDATA pn 13 , 11 , 1 , 10 ;A14 , A15 , A13 , WRB pin 3 , 4 , 2 , 9 ;

"sortiesRESB pin 16 istype 'com' ;QA,QB QC pin 14, 15, 17 istype 'reg' ;LDS , SSO , Cde_AFF pin 21 , 22 , 20 istype 'com' ;MRB pin 23 ;Q= [ QA , QB , QC ]

"noeudse1 , e2 node ;

equationsRESB= INIT&SLSTB ;e1= ! ( LSTB & e2 ) ;e2= ! ( ! ( ! ( e1 & e2 ) & RESB ) & LSTB ) ;MRB= ! ( e1 & ! ( RESB & e2 & MRB ) );

Q.clk = LSTB ;Q.ar = ! MRB ;QA:= LDATA ;QB:= QAQC:= QB

"decodage d'adressesCde_AFF = A15 & A14 & A13 & ! WRB ;LDS = A15 & ! A14 & ! A13 & WRB ;SS0 = A15 & A13 & ! A14 & WRB ;

end flipper

3°) Comparaison entre les deux structures.

La structure créée remplace parfaitement la structure originale du flipper, mais il y a cependant un petit décalage de l’ordre de 800µs entre le signal RES/ et MR/ qui étaient à l’original totalement synchrones. Cela provient du fait qu’une des bascules D à été remplacée par un ensemble de portes logiques. Ce retard n’entraîne cependant aucun dysfonctionnement sur le fonctionnement global de la structure.

Page 11: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

11

IV°) Étude de FP4 et FP6, Animation du plateau et contrôle des lampes et interrupteurs.

Le flipper est composé de nombreux capteurs, interrupteurs et lampes pour rendre le jeu dynamique et attractif. Quel solution technologique le constructeur à t’il utilisé pour pouvoir commander et gérer tous les signaux générés par ses actionneurs et capteurs?

A°) Sélection des colonnes.

Afin de réaliser l’animation du plateau le constructeur utilise le principe matriciel pour contrôler les nombreuses lampes qu’il doit animer. Cela permet de réduire le nombre de fils, transistors… Tout d’abord, un registre à décalage permet la sélection des colonnes et l’adaptation en tension, puis une autre partie permet la sélection des lignes.

Nous avons un registre à décalage qui permet de convertir un signal de données série en un signal de données parallèles. En entrée du registre à décalage nous avons sur la carte élève un signal LDATA qui est une donnée série trois bits, et un front d’horloge LSTB d’une fréquence d’environ1Khz. En sortie nous récupérons les signaux Qa, Qb et Qc qui permettent de commander les trois colonnes de lampes que comporte notre carte. Ces 3 signaux sont les signaux de commandes, une adaptation en tension est ensuite réalisée pour pouvoir alimenter correctement les lampes.Ceci est réalisé grâce une porte inverseuse 7406 et un transistor MOSFET canal P. Tous deux sont alimentés en 12V alors que les signaux du registre à décalage le sont en 5V.

Lorsqu’un des signaux est au niveau logique haut, la sortie de sa porte inverseuse passe au niveau logique bas, le transistor qui est de type P devient passant et un potentiel d’environ 12V se retrouve sur les colonnes de sélection des lampes ( LSO, LS1 ou LS2 ). Puis quand le signal repasse au niveau logique bas, la différence de potentiel sur VGS devient alors nul et le transistor devient bloquer, la colonne n’est alors plus commandée.

- Justification théorique de VGS en utilisant le signal Qa.

On sait d’après la documentation constructeur que pour que le 7406 devienne passant, VGSth = - 4V et que la tension aux bornes de R40 est celle est aux bornes du gain et source du transistorQuand Qa= « 1 », Vpt25= « 0 »

Ls0 à Ls2Conversion

série / parallèle

Fs61

Amplification

Fs62

LDATA

LSTB

Signaux de commande des lignes des lampes et des interrupteurs

QA , QB , QC

Page 12: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

12

On applique le diviseur de tension pour trouver la tension aux bornes de VGS.VGS = Vcc. R40 / ( R40 + R39 ) VGS = -9V

VGS<<VGSth Le transistor est donc passant.

Quand Qb=« 0 », VPT25= « 1 » ( la sortie du 7406 est de 12V)On applique la loi des mailles : Vcc-VR40-VR39 = 0

VGS = Vcc-R39 VGS = « 0 »

La fonction de commande de colonne et d’adaptation de tension est bien réalisée, cependant, seule une colonne pourra être sélectionnée à la fois en utilisant ce principe. Mais l’utilisation du registre à décalage nous permet d’économiser le nombre de fils, transistor sur la carte.

B) Sélection des lignes.

Conversion énergie

électrique / énergie

lumineuse

Fs43

LDS

BD0 , BD1Mémorisationde lacommandedes colonnes

Fs41

LCLR

LR0

LR1

Informationslumineuses

LS0 à LS2

Amplificationen

courant

Fs42

Détection d’un dépassement en

courant etblocage

Blocage des colonnes :

B0 , B1

Désactivation de la sécurité

en courant

Information image du

courant dans une lampe

Commande des colonnes mémorisés :

Commandesde

désactivationde la sécurité

( A , B )

MR

C0 , C1

Page 13: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

13

Cette fonction est réalisée principalement par une mémoire tampon ( une bascule D) qui va nous permettre de mémoriser les données envoyées par le programme du microcontrôleur. Quatre signaux nous permettent de réaliser correctement cette fonction : le signal LDS d’environs 1Khz et qui est le front d’horloge de la bascule, les signaux BD0 et BD1 qui sont les signaux provenant du programme du microcontrôleur et qui permettent ou non la sélection des lignes, puis le signal /MR est un signal de remise à zéro de la bascule.

On suppose que /MR est toujours à son niveau inactif, « 1 », si LDS est généré, les signaux BD0 et BD1 sont mémorisés et les signaux C0 et C1 sont créés. Ceux-ci sont reliés à la broche gain d’un transistor MOSFET canal P. Lorsque ces signaux sont au niveau haut, les transistors sont passants. Ainsi cela permet de commander la ligne désirée : - On prend le cas où C0 est au niveau 1 ainsi que Qa: on trouve la loi des mailles suivantes VPT26 - VD14 - VR47 - Vdel11 - VR54 – VDS = 0Idel11 = ( VPT26 - VD14 - VR54) / ( R54 + R47 )Idel11 = ( 12 – 0.6 – 2 ) / ( 33 + 1800 )Idel11 = 5,12 mA

- On prend maintenant le cas où C0 est au niveau 0 mais Qa au niveau haut.VPT26 – VD14 – VR47 – VR52 – VR53 = 0Idel11 = 12 – 06 – 2 / ( (1,8+100+47)x10^3)Idel11 = 63µA

D’après la documentation constructeur lorsque Idel11=5mA, l’éclairement est de 0,9µcd, il est nul avec l’intensité de 63µA.

C°) Programmation du microcontrôleur.

Le microcontrôleur que nous programmons est celui de la carte XEVA, nous utilisons le langage ABEL. Pour commander les lampes, nous nous servirons des signaux LDATA, LSTB et ADR_LDS. ADR_LDS est une variable de 8bits dont les deux poids faibles sont C0 et C1.De plus nous utiliserons la commande « delay » pour commander la durée d’éclairement des lampes.

Si ADR_LDS = 1, C0 est au niveau « 1 »Si ADR_LDS = 2, C1 est au niveau « 1 »Si ADR_LDS = 0, C0 et C1 sont aux niveau « 0 »Le programme suivant permet de créer une animation sur les leds et permet ainsi de vérifier le

bon fonctionnement des structures.

Page 14: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

14

/********************************/void main()/********************************/

{ initialisation(); do {

LDATA = 1; // Ldata au niveau 1LSTB = 1; // front montant sur LSTB qui permet de recopier LDATA sur QALSTB = 0;ADR_LDS = 1; // la valeur Hexadécimal 1 active C0delay(200); // la DEL 11 s’allume pendant 200ms

LDATA = 0; // Ldata au niveau 0LSTB = 1; // front montant sur LSTB qui permet de recopier Qb sur QALSTB = 0;ADR_LDS = 2; // la valeur Hexadécimal 2 active C1delay(200); // la DEL 13 s’allume pendant 200ms

LSTB = 1;LSTB = 0;ADR_LDS = 1;delay(200); // la DEL 9 s’allume pendant 200ms

LDATA = 1;LSTB = 1;LSTB = 0;ADR_LDS = 0; // aucune DEL ne s’allume

LDATA = 0;LSTB = 1;LSTB = 0;ADR_LDS = 1;delay(200); // la DEL 12 s’allume pendant 200ms

LSTB = 1;LSTB = 0;ADR_LDS = 2;delay(200); // la DEL 12 s’allume pendant 200ms

} while (1);}

Ce programme nous permet de réaliser une animation. On obtient l’éclairement des leds dans un ordre voulu pendant une durée de 200 ms. La structure est donc correcte, mais une contrainte logicielle se pose à cause du registre à décalage. En effet, si l’on veut allumer des lampes qui ne suivent pas l’ordre du registre à décalage ( Qa, Qb Qc ), il faudra prendre cela en compte dans la création du logiciel.

Le chronogramme qui suit nous montre l’animation créée par le logiciel précédent. De plus nous voyons la contrainte générée par le registre à décalage sur les lignes C0 et C1, le signal est inutilisé pendant la période ou l’on attend que l’activation de la sortie désirée se fasse.

Page 15: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

15

Le programme nous a permis d’allumer correctement les DEL voulues. On branche maintenant le mini-flipper à notre carte gestion afin d’identifier à quoi chaque DEL correspond.

Page 16: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

16

V) FP5 : Acquisition de la position de la bille et de l’état de fonctionnement du flipper.

Le flipper est constitué de nombreux capteurs ou interrupteurs qui donnent des informations sur l’état du flipper et sur la position de la bille sur le plateau. Cela permet par exemple de totaliser le nombre de points des joueurs ou de surveiller si les Tilts ne sont pas activés. Dans notre carte les capteurs seront remplacés par des interrupteurs. Nous verrons que selon les interrupteurs, les priorités varieront.

A) Détection du Tilt et du Test.

Cette détection permet au flipper de passer en mode test ou de détecter un Tilt. Ces boutons poussoirs ont un montage de détection séparé des autres, en effet il est primordial de détecter le tilt ou le mode test en priorité. Les montages de détection d’appuie sur les boutons poussoirs tilt est test sont identiques, nous porterons donc notre étude sur le bouton poussoir test.

Un Adi LM339 à collecteur ouvert permet de comparer sur V+ la tension au borne d’une résistance et sur V- la tension au borne d’un condensateur. Lorsque le bouton poussoir n’est pas enclenché, le condensateur est chargé, au démarrage, le condensateur se chargera à travers R26 et C21, il a donc besoin de 660µs pour atteindre la valeur de 5V. La tension sur V+, VREF1 est de 1,59V ( Vcc x ( R25 / (R24+R25) ). V- étant supérieur à V+, la sortie de l’ADI est à zéro.

Puis, lorsqu’un appui sur le bouton poussoir est effectué, le condensateur se décharge instantanément à travers la diode D7 jusqu’à une valeur finale d’environs 0,66V ( le seuil de la diode D7).

Cependant, les boutons poussoirs ne sont pas parfaits, des rebonds sont créés lorsque l’on appuie sur l’un d’eux, le dispositif anti-rebond R26 C21 permet de palier à ce problème. Ainsi si l’impulsion est trop brève sur l’interrupteur, il n’y aura aucun effet sur la sortie du comparateur.

- Étude du système anti-rebonds.

Lorsque l’on appuie sur Test, le condensateur se décharge jusqu’à 0,66, l’ADI bascule alors, cependant à cause des rebonds, l’ADI pourrait basculer plusieurs fois, ce que l’on ne veut pas. Lorsque le bouton poussoir est appuyé puis relâché, le condensateur se décharge puis se charge à travers R26. On détermine le temps que mettra le condensateur à se charger jusqu’à 1,59V. T = to ln ( Vf – Vi ) / ( Vf – Vc ) = R26 x C21 ln ( Vcc – VD ) / ( Vcc – VREF1 ) T = 53 µs

Le condensateur aura donc besoin de 53µs pour pouvoir repasser à VREF1

Conversion énergie mécanique/ énergie électrique Fs51

Conversion énergie mécanique/ énergie électrique Fs53

Ls0 à Ls2

Position des interrupteurs prioritaires( Tilt ,Test )

Retour 0

Retour 1

Adaptation et mise en forme Fs52

Adaptation et mise en forme Fs54

Information de position de la bille et de l’état du flipper

Ret0 Ret1

Tilt , Test

Informations électriques

sur la position des

interrupteurs

Page 17: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

17

Ce relevé nous montre que lorsque l’on appuie sur le bouton poussoir « test », la sortie de l’ADI passe au niveau bas. Les ADI sont à collecteurs ouverts, c’est pour cela qu’une résistance est placée derrière ceux-ci, c’est une résistance de rappel qui permet d’obtenir ces niveaux logiques. On voit aussi Le chronogramme suivant nous montre les rebonds que l’on peut avoir avec l’interupteur, on voit alors que les structures anti-rebond sont nécessaires au bon fonctionnement. Sans lui on risquerait d’avoir plusieurs basculement des ADI.

B) Acquisition de la position de la bille

Les interrupteurs Bump1, Bump2 permettent de simuler l’appui de la bille sur un bumper ; les interrupteurs « crédit » et « flip » permettent de simulé la détection d’insertion de monnaie et l’appui sur le bouton poussoir qui commande l’une des raquettes.

Le registre à décalage est une nouvelle fois utilisée ainsi que le principe matriciel, les lignes LS0, LS1 et LS2 sont commandées par les signaux Qa, Qb, Qc vu précédemment dans l’étude de FP4-FP6. Pour que la détection de l’appui sur un bouton poussoir soit possible, il faut que la colonne de celui-ci soit sélectionné. Prenons l’exemple de Bump2 commandé par LS0.Si sa colonne est sélectionnée et qu’il y a un appui sur le bouton poussoir, un potentiel de 12V se retrouvera au borne de la résistance R35, le condensateur pourra donc se charger à travers celui-ci en 235µs ( 5 x R35 x C23 ). Cependant le condensateur est relié à l’entrée V- d’un ADI. Sur l’entrée V+ se trouve une tension VREF1 de 1.59V ( étudié dans la paragraphe précédent ).Lorsque le condensateur aura atteint le seuil de 1.59V l’ADI basculera et aura sa sortie à –VSAT soit 0V.Le niveau actif des signaux RET est donc « 0 »

Puis lorsque la colonne ne sera plus sélectionnée, la détection sera impossible, en effet aucun potentiel ne se trouvera au borne du condensateur, sa tension sera donc nul et s’il était chargé, la résistance R36 lui permettra de se décharger, la diode D11 lui empêchant de se décharger vers sonsignal de commande LS0.

Il y a de nouveau un système anti-rebond. Lorsque l’on appuie sur l’un des boutons poussoirs, le condensateur aux bornes de V- se charge. Si l’impulsion est trop courte, le condensateur n’atteindra pas la valeur du seuil de basculement.

Page 18: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

18

On voit grâce à ce tableau les tensions que l’on aura aux bornes des différents composants.

C) Création d’un programme d’acquisition.

Les signaux étant générés et le fonctionnement étant vérifié, il nous faut désormais un programme capable de détecter et de « réagir » en fonction de l’appui sur les différents boutons. Ce programme nous permettra d’afficher sur une carte d’affichage le nom des boutons poussoirs sur lesquels nous appuierons.

Pour cela nous devons d’abord créer un masque, en effet les signaux ret0 et ret1 sont connectés sur le même port mais utilisent des bits différents.Le premier est sur le bit 3 et le second sur le bit 2. De plus on sait que le port 3 est composé de 8 bits.

Exemple de création de masquepour détecter ret0:

On voit donc que pour récupéré la valeur sur P3.3, on doit effectuer un ET entre la valeur du port 3 et la valeur 04 ( nous utilisons l’hexadécimal ). On fait de même pour ret1. Les signaux ret sont donc ceux présent sur la carte et RET0 et RET1 sont les variables utilisées dans notre programme.

Les tableaux suivant nous indiquent quels signaux utiliser pour réaliser la détection d’appui sur le bouton poussoir

Bumper Bump1 Bump2 Bump3 Bump4Ligne commandée LS1 LS0 LS2 LS2Sortie utilisée RET0 RET0 RET0 RET1

Bouton poussoir FLIP CREDITLigne commandée LS0 LS1

Sortie utilisée RET1 RET1

P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0Masque 0 0 0 0 1 0 0 0RET0 0 0 0 0 P3.3 0 0 0

Page 19: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

19

/******************************************************************Gestion de l'etat des boutons presents sur le flipper******************************************************************/void detection(int POINTEURBP) { bit ret0, ret1;

RET1 = ( P3 & 0x4 ) ;RET0 = ( P3 é 0x8 ) ;if (POINTEURBP==0) { if ( RET1 == 0 )

affiche_mot(FLIPPER) ; //bouton flip actionné donc affichage de FLIPPER// if (RET0 == 0)

affiche_mot(BUMPER2) ; //BUMPER2 actionné// }if (POINTEURBP==1) ; { if (RET1 == 0 );

affiche_mot(CREDIT) ; if (RET0 == 0);

affiche_mot(BUMPER1); }if (POINTEURBP==2) { if (RET1 == 0) ;

affiche_mot(BUMPER3) ; if (RET0 == 0) ;

affiche_mot(BUMPER4) ; }if (P5 & 0x08)

affiche_mot(TILT) ;if (P5 & 0x10);

affiche_mot(TEST) ;gestion_affichage() ;

}

Notre fonction de détection est bien réalisée, le nom des bumpers utilisés apparaît sur la carte d’affichage lorsque les bumpers ou les interrupteurs sont activés.

Page 20: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

20

VI) FP7 : Génération du message et de la musique

Le flipper est composé de modules qui génèrent des mélodies ou des messages. Cela permettra ainsi d’interpeller le joueur pendant la partie pour le guider dans le jeu mais aussi de lui signaler quels bumpers ont été activé. Cela permettra d’augmenter l’intérêt du jeu ainsi que son attractivité. Quels sont les moyens mis en œuvre pour assurer ces fonctions ?

A) Génération et filtrage de la chaîne musique

1) Génération de la musique ( FS75 - FS76 - FS74)

Pour réaliser cette fonction nous utilisons principalement un convertisseur binaire / fréquence une mémoire 28C64, et un compteur.

Il faut tout d’abord savoir qu’une note de musique n’est en fait qu’une sinusoïde de fréquence et amplitude variable.La fréquence définira la note et la gamme du son émis, l’amplitude elle ne changera que le niveau sonore d’écoute. Le convertisseur permet de lier un code binaire ( défini dans la documentation constructeur ) à une fréquence. Pour créer une mélodie il suffit donc d’enchaîner des codes binaires dans une mémoire. La mémoire que nous utilisons est la 28C64, celle-ci a une capacité de 8Ko ( 213 x 8 = 64Kbits ).

Le convertisseur est en mode parallèle, il acquièrt les données de son bus sur un front descendant de Strobe ( strobe qui est relié à l’horloge du compteur ). Le quartz lui est la fréquence de référence pour créer ensuite les fréquences voulues en sortie. Les fréquences qu’il doit jouer sont enregistrées dans la mémoire 28C64, celle-ci ayant ses trois bits de poids fort relié à un switch et les dix premiers reliés à un compteur. Le switch permet donc de se placer dans la partie mémoire allouéeau Bumper voulu.

Bumper actionné P42 P41 P40 Adresse début / fin (hexa) Note à lire (code sur D5 à D0)Bumper 1 0 1 1 $ 0C00 / $ 0FFF La4 ( 36h )Bumper 2 1 0 0 $ 1000 / $ 13FF Ré6 ( 06h )Bumper 3 1 0 1 $ 1400 / $ 17FF Mi4 ( 31h )Bumper 4 1 1 0 $ 1800 / $ 1BFF Mi5 ( 3Ch)

On voit donc que la mémoire est « divisée » en quatre parties, on a donc alloué à chaque bumper une capacité de 1Ko

Le compteur est présent pour créer les mélodies, en effet celui-ci va scruter périodiquement les bits A0 à A9 de la mémoire où sont stockées les notes. On peut définir le temps minimal de lecture des notes : On sait que la broche Qd du compteur a une fréquence de 4Hz, le temps à l’état haut de la sortie étant de T/2, le temps d’exécution sera de 125ms ( 1 / 8 ).

Il est à noter que les P40-P41-P42 sont, soit commandés par le switch 4 soit par la carte XEVA lorsque celle-ci est correctement programmée et branchée.

Stockagedes musiques

Fs75

Cadencement Fs74

Conversion binaire /

fréquence Fs76

Adaptation et

amplification Fs77

Choix des musiques :P40 à P42

D0 à D5 musique Musiqueamplifiée

Choix des notes :

A0 à A9validation

Page 21: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

21

On aura donc sur la sortie du convertisseur :

2) Filtrage et amplification ( FS77 ) .

Une structure de filtrage et une d’adaptation on été insérées en série afin de ne récupérer et d’amplifier qu’un signal sinusoïdale variable dans le temps, les composantes continues pouvant détériorer les composants postérieurs à se montage. Cela permet de traiter le signal avant que celui-ci ne soit envoyé vers la chaîne d’amplification. Les deux montages ont été séparés par un montage suiveur afin que l’un n’agisse pas comme charge sur l’autre et ne modifie pas, par exemple, son comportement en fréquence.

- A la sortie du convertisseur, est placé un filtre passe-bande qui permet de supprimer les composantes continues et les très hautes fréquences. On peut le vérifier en utilisant les équivalences du circuit aux fréquences extrêmes. En basse fréquence le condensateur se comporte en circuit ouvert et en haute fréquence en court-circuit. On à donc les schéma équivalents suivant :

- La structure composée de U7:B de deux résistances et de deux condensateurs peut être considéré comme un amplificateur inverseur, l’influence des condensateurs pouvant être négligée. On peut le vérifier en calculant leurs impédances dans la bande de fréquence où nous voulons travailler (entre 200Hz et 5Khz). Pour le condensateur en série avec la résistance, on trouve une impédance de 80 à la fréquence de 200hz et une impédance de 4 à la fréquence de 5KHz ce qui est négligeable face à la résistance R22 de 6,8K . Le condensateur en parallèle sera de même négligeable car il présentera une forte impédance dans la bande de fréquence où l’on travaille.

Calcul de l’amplification : V- = VPT11 . R23 / ( R22 + R23 ) + VPT12 . R22 / ( R23 + R22 ) V+ = 0On a une boucle négative donc V+ = V-VPT12 / VPT11 = - ( R23 / R22 )T = - 1.48

Le rôle de la structure est donc vérifié, on aura en sortie de FS77 le signal suivant, l’opposition dephase étant dû au signe de l’amplification T.

Page 22: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

22

B) Chaîne d’un message

1) Génération du message ( FS71 ).

Cette fonction est entièrement réalisée grâce au composant ISD2564. C’est une mémoire de 64 secondes qui à deux mode de fonctionnement, le mode lecture ( P / R = 1 ) et écriture ( P / R = 0 ).

Dans cette étude nous utiliserons seulement le premier mode. Une impulsion de niveau logique basse sur l’entrée /CE de se composant permet de lancer la lecture d’un son préalablement enregistré. Il faudra avoir au préalable avoir entré l’adresse à laquelle le son à été enregistré ; pour notre carte élève le switch 3 ou la carte XEVA assure cette fonction en plaçant au niveau voulu les bits P45, P46 et P47. Ce sont, comme pour l’étude précédente, les bits de poids fort du bus de donnée du composant. Le composant a donc quatre adresses différentes de possible ( le bit P47 est relié à la broche NC ), soit une possibilité d’enregistrer 4 messages d’une durée de 6,4 secondes. On détermine la durée du message grâce aux nombres d’adresses. Exemple pour le message 1 : 32 adresses sur 320 en tout. (32/320) x 64 = 6,4s

N°Message A7 (NC) A6 A5 A4…A0 Adresse de début / fin de message Durée disponible0 0 0 0 X X X X $ 000 / $ 01F 6,4 s1 0 0 1 X X X X $ 020 / $ 03F 6,4 s2 0 1 0 X X X X $ 040 / $ 05F 6,4 s3 0 1 1 X X X X $ 060 / $ 13F 44,9 s

Dans le cas de notre carte, lorsque l’on lancera un message, le 1 par exemple, il nous faudra appuyer sur le bouton « stop voix » pour arrêter la lecture, soit un niveau haut sur PD.

2) Filtrage et amplification ( FS72 ).

Nous avons trois filtres différents, le premier est un passe-bande qui à une bande passante très large ( de 5hz à 50Khz), elle permet de supprimer les très basses fréquences, on peut le considérer comme un passe-bas et un passe haut conjugués.Les deux autres filtres sont des filtres passe-bas de second ordre qui ont un gain nul de 5hz à environs 3KHz, puis qui atténue fortement dans les fréquences supérieures. Le gain total de ces trois filtres est égal à

GT = 20 log AVT

= 20 log (AV1 x AV2 x AV3

= GT = G1 + G2 + G3

On obtient la courbe de gain suivante pour le filtre passe-bande:

Génération du message

Fs71

Amplification et filtrage

Fs72

message Message amplifié

et filtré

Lancementdu message

Arrêt dumessage

Page 23: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

23

On s’aperçoit que le message à été amplifié et que la composante continue a disparu.

C) Chaîne d’amplification

1) Amplification différenciée

Un simple sommateur inverseur nous permet d’additionner le signal de la chaîne musique et le signal de la chaîne message. Il y aura une nouvelle fois des condensateurs de placer autour de cette structure pour ne pas que des fréquences continues soit amplifiées. Cela endommagerait la membrane du haut parleur.

On à une amplification différente selon que l’on soit sur la chaîne musique ou message, les messages doivent être plus audibles que la musique. On détermine l’amplification de chaque chaîne par le calcul suivant :V6 / R12 + V12 / R13 + V7 / R14 = V- V+ = 0 V+ = V-V7 = - R14 ( V6 / R12 + V12 / R13 )

Ames = R14 / R12 Amus = R14 / R13

= 1.22 = 0.33

2) Amplificateur de puissance

On réalise cette fonction grâce au composant TDA2040, le composant doit être déterminé de telle sorte que les signaux de sortie ne soient pas déformés et donc que le haut-parleur ne connaisse pas de saturation.

Page 24: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

24

On l’alimente entre 16,8V et -16,8V et on place à sa sortie une résistance de 4 . D’après sa caractéristique on voit qu’il pourra délivrer une puissance en sortie de 32W. La sortie de l’ADI aura donc les caractéristiques suivantes :P = Veff ² / Req Veff = ( P x Req ) Veff = 11,3VVmax = Veff x 2 Vmax = 16 VP= Req x Ieff ² Ieff = 2,82 A

On détermine désormais l’amplification entre PT7 et PT13 grâce au relevé suivant :

On relève Aampli = 14VPT13 = - Aampli x ( Ames x VPT6 + Amus x VPT12 )VPT6max = - ( VPT13max + Amus x VPT12max ) / Amess

= - 0,713 VLe signal ne doit donc pas dépasser 0,713V sinon le signal sera déformé.

Or on s’est aperçu en relevant les chronogrammes de la chaîne message que le signal sur PT6 atteignait 2,5V. On peut conclure que l’on aura un haut niveau sonore sur le haut parleur mais que les messages auront tendance à être détériorés à cause de la trop forte amplification qu’il subit.

D) Programmation

Le programme suivant nous permet de lancer un message après l’appui sur l’un des boutons poussoir de la carte gestion.

Page 25: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

25

VII) Mise en œuvre globale du flipper.

A) Mise en œuvre des différentes cartes.

Après avoir étudié et compris le fonctionnement des différentes fonctions, on relie les différentes cartes entre elles. Nous avons déjà eu l’occasion de tester les fonctions séparément, comme l’animation ou l’affichage, il nous reste maintenant à vérifier le fonctionnement de l’ensemble.

On charge le programme Flipper_complet.hex dans kit XEVA grâce au logiciel hyperterminal. On voit alors que le flipper fonctionne correctement, les modules réagissent correctement en fonction des capteurs activés.

L’algorithme du flipper est alors le suivant :

Page 26: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

26

On se rend compte alors qu’un ajout à été fait entre le flipper réel et notre carte : une variable triche a été ajouté. Lorsqu’elle est activée les points ne suivent alors plus la même logique, il devient plus facile de gagner des points.

Bumper Point gagné ( TRICHE = 0) Point gagné ( TRICHE = 1)Bumper 1 Score + 10 Score + 200Bumper 2 Score + 25 Score + 250Bumper 3 Score + 75 Score + 150Bumper 4 Score + 150 Score + 300

Cette variable est activé si l’on active le bouton poussoir flip puis que l’on appui sur crédit à la fin d’une partie.

B) Modification des structures de bases

Pour personnaliser et améliorer notre carte nous avons effectué des modifications sur certaines parties du flipper.

2) La carte son :

Nous avons modifié une note enregistrée dans le composant 28C64. Dans l’espace mémoire du Bumper 4 nous avons modifié la valeur afin qu’un Mi de la gamme 5 soit joué, le son qui était préalablement enregistré étant trop proche de celui sur le bumper 3.

Nous avons donc regardé le code hexadécimal correspondant à la note Mi5 dans la documentation constructeur du convertisseur. Nous avons ensuite placé celle-ci entre les adresses $ 1800 et $ 1BFF. Nous y avons entré la valeur 3Ch grâce à un éditeur hexadécimal et le kit de programmation du composant.

Page 27: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

27

Il nous était demandé de créer une courte mélodie et de l’insérer dans la zone mémoire alloué au bumper 1. Un membre de notre binôme ayant pratiqué la musique, nous avons tenté de recréer l’air de « au clair de la lune ». Malgré tous nos efforts l’air créé reste difficilement reconnaissable, du fait que nos connaissances en musique sont très limitées.

Nous avons inséré les notes suivantes entre les adresses $ 0C00 et $ 0FFF :

Lorsque l’on appuie sur l’interrupteur bumper 1, la mélodie est bien présente, la fonction est donc correctement remplie.

Nous avons de même apporté une modification sur le composant ISD2564. Nous y avons enregistré un message de quelques secondes sur l’adresse du quatrième message. Ce message comporte les noms de notre binôme à partir de l’adresse $ 060.

Nous avons utilisé pour cette modification une carte de programmation. Nous avions à régler le switch pour que l’enregistrement se fasse à la bonne adresse. Ceux-ci étaient les bits A6 et A5 qui devaient être placés en position « ON » pour que l’adresse soit bien configurée. Il fallait ensuite se mettre en mode enregistrement, alimenter la carte de programmation, puis appuyer sur le bouton …… pendant que nous parlions dans le microphone.

Nous avons ensuite replacé le composant sur notre carte son puis constaté les changements lorsque nous activions le quatrième message. La modification fut correcte.

2) Carte gestion

Nous avons programmé le pal P22V10 pour qu’il intègre les fonctions FS23, FS25 et FS61. Grâce au logiciel « Intelliflow » nous avons chargé le fichier Abel que nous avons créé dans le pal.

Les caractéristiques du PAL sont les suivantes- Design Target : PLD- Device name : P22V10- Manufacturer AMD- Device : P22V10- PLD Device datasheet : PALCE22V10H-15PC/4 de AMD

Nous avons remarqué après l’avoir programmé que son fonctionnement était correct et que nous retrouvions les mêmes chronogrammes avant et après la modification.

Page 28: B) Diagramme sagittale. - levrardthibaud.free.frlevrardthibaud.free.fr/bac/flipper.pdf · FS24 détecte que l’animation du plateau soit devenue incorrecte ou inexistante en vérifiant

28

VII) Conclusion.

En conclusion de ce thème BAC 2004, je dirais que malgré quelques erreurs dans des sujets de manipulation comme celle de la détection de baisse de tension, cette étude a été intéressante sur plusieurs points que je cite ci-dessous.

Premièrement, nous étudions un jeu que nous connaissons tous et que nous avons tous côtoyé. Je m’étais questionné sur le fonctionnement qu’il pouvait avoir et sur les éléments qu’un tel jeu pouvait comporter, cette étude m’a donc permis de répondre à certaines de mes interrogations.

Deuxièmement, ce thème nous a fait connaître de nouvelles notions de programmations et, voulant continuer mes études dans ce domaine, j’ai apprécié de pouvoir acquérir de nouvelles connaissances.

Troisièmement, il fut agréable de tester le bon fonctionnement du flipper et de pouvoir créer ses propres mélodies, l’attractivité des expérimentations était garantie.