Circuiterie de RESET, flippers GOTTLIEB Séries 80/80A/80B

Répondre
Avatar du membre
pascal j
Dept: 38
Rech/Achete: 0 flip
Messages : 743
Enregistré le : 01/10/2002
Niveau : Expert
Pro / revendeur : oui
Localisation : Tullins
Contact :

Circuiterie de RESET, flippers GOTTLIEB Séries 80/80A/80B

Message par pascal j » sam. 10 07, 2004 21:16

Circuiterie de RESET, flippers GOTTLIEB Séries 80/80A/80B.

Article proposé par Pascal Janin.

Cette série de flippers utilise une circuiterie complexe de génération du signal /RESET.
(Note: au nom du signal on accole le symbole "'/"' car ce signal est actif à l'état bas, donc au repos -inactif- à l'état haut)

Certaines pannes peuvent provenir de cette circuiterie, comme par exemple un beau chiffre "'0"' bien lumineux affiché tout seul sur l'afficheur des parties. Je vous propose de la décrire en détails avec schémas et chronogrammes à l'appui pour faciliter tout dépannage futur.

FONCTIONNEMENT GENERAL
Ce signal /RESET est envoyé à la broche 40 du microprocesseur (CPU) 6502, ref. "'U1"' sur la carte. Il sert à initialiser correctement le microprocesseur après la mise sous tension, c'est-à-dire procéder à l'initialisation de tous ses registres internes dans un état CONNU, et notamment le compteur d'adresses pour faire démarrer le microprocesseur à une adresse de RESET bien définie et invariable (vecteur aux adresses 0xFFFC/0xFFFD).

Le signal /RESET actif à l'état bas maintient le microprocesseur dans un état d'initialisation tant qu'il n'est pas relâché; alors seulement le microprocesseur démarre l'exécution de son programme à son adresse de RESET.

Le signal /RESET est en général maintenu actif pendant une certain durée après la mise sous tension, qui dépend à la fois du microprocesseur (ici RESET doit par exemple rester actif pendant 2 coups d'horloge pour le 6502) et de son environnement (temps qu'il faut à l'alimentation pour générer un +5V bien stable par exemple), faute de quoi le microprocesseur pourra démarrer dans un état complètement inconnu et incontrôlé.
Ce sont les fameux plantages : il y a en effet fort peu de chances que le programme retombe sur ses pattes de lui-même suite à un RESET insuffisamment long ou absent.

PROTECTION DES DONNEES
Il faut également, si le +5V tombe en-dessous d'une tension donnée (ce qui est le cas quand le flipper est mis hors tension), protéger les accès à la mémoire RAM statique "'Z5"'. En effet tout accès notamment en écriture peut corrompre les données internes de cette mémoire si sa tension d'alimentation est trop basse. Le signal /RESET va donc dévalider les tous les accès à la RAM Z5 sous cette condition.

GENERATION DU SIGNAL
Trois étages distincts vont participer à la génération du signal /RESET qui ira vers le microprocesseur (cf schéma ci-dessous) :
Image
Image
A LA MISE HORS TENSION
* quand l'alimentation +5V tombe en-dessous de +3.6V :
étage à 1 transistor Q1 + étage à monostable Z1 (4528)

A LA MISE SOUS TENSION
* délai : étage à 3 transistors Q2 Q3 Q4
Chacun de ses 3 étages génère un signal actif à l'état bas. Ces 3 signaux sont combinés grâce à 2 des 4 portes logiques "'ET"' contenues dans Z4 (4081), voir plus loin.

ETAGE 1 : Q1 (MISE HORS TENSION)
Q1 est un transistor PNP, c'est-à-dire que pour qu'il conduise, il faut que la tension sur sa base soit environ de 0.6V inférieure à celle sur son émetteur : VE-VB=VEB>0.6V. Dans le cas contraire Q1 est bloqué, aucun courant ne circule à travers lui.

La base de Q1 est polarisée par la résistance R8 et la diode zener VR1. Cette diode zener génère à ses bornes une tension fixe de 3V sitôt que la tension générale d'alimentation dépasse 3V, sinon elle ne fonctionne pas. Par conséquent la tension appliquée à la base de Q1 se comporte comme suit :
Alimentation point nodal
+5V R8/VR1 = base Q1
--------------------------------
0...3V 0...3V
>3V 3V
On a vu précédemment que Q1 ne conduit que si VEB>0.6V. Comme la tension appliquée à son émetteur est celle de l'alimentation +5V, Q1 ne conduira que si (VE-VB>0.6V), soit (alimentation - 3V) >0.6V, soit pour finir (alimentation > 3.6V).

Si l'alimentation +5V est au-dessus de 3.6V, Q1 conduit, et sur son collecteur on retrouve l'alimentation (moins la chute de tension VEC de saturation, négligeable).

Si l'alimentation +5V chute en-dessous de 3.6V, Q1 est bloqué, et sur son collecteur on retrouve 0V grâce à la résistance R9.

Le signal sur le collecteur de Q1 est acheminé vers la 2ème porte "'ET"' de Z4, broche 5 :
Alimentation collecteur Q1
+5V = broche 5 de Z4
--------------------------------
0...3.6V 0V
>3.6V alimentation
ETAGE 2 : Z1 (MISE HORS TENSION)
Le signal généré par l'étage 1 précédent passe donc du niveau haut au niveau bas quand l'alimentation devient inférieure à 3.6V (mise hors tension), et du niveau bas au niveau haut quand l'alimentation dépasse 3.6V (mise sous tension).

Ce signal est également injecté à la broche 11 du circuit Z1 qui est un double monostable dont seule la moitié est utilisée. Z1 détecte le front DESCENDANT (haut vers bas) du signal envoyé par le transistor Q1, et génère en sortie (broche 9) une impulsion de niveau bas dont la durée est fixée (voir docs du composant) par la paire R10 / C14 selon la formule :
t = 0.2 x R10 x C14 x ln (alimentation) = 60ms environ
Pour cette formule on considère que l'alimentation a chuté à 3.6V environ (car Z1 est alimenté par l'accumulateur NiCd).

Cette impulsion est ensuite injectée à la broche 1 de la 1ère porte "'ET"' de Z4.

ETAGE 3 : Q2 Q3 Q4 (MISE SOUS TENSION)
Cet étage est indépendant des deux autres dans son fonctionnement, et se connecte entre l'alimentation +5V et la masse.

Au repos (mise en route du flipper), Q2 est bloqué (tension de base nulle car C36 est déchargé donc VBE=0), Q4 est bloqué (tension de base = tension d'alimentation par R47 donc VEB=0) et Q3 est bloqué (tension de base nulle VBE=0 par R50 car Q3 est bloqué ).

La résistance R43 et le condensateur C36 forment un réseau RC. Au démarrage, le condensateur C36 est déchargé (tension nulle à ses bornes) et va se charger progressivement à travers R43 jusqu'à atteindre la tension d'alimentation à ses bornes.

C36 est connecté à la base du transistor NPN Q2. Q2 est du type opposé à Q1 (PNP) étudié précédemment : cette fois-ci pour que Q2 conduise, il faut que la tension sur sa base VB soit environ 0.6V supérieure à celle sur son émetteur VE : VBE>0.6V. Dans le cas contraire Q2 est bloqué.

La tension de charge de C36 se retrouve sur la base de Q2 (VB) et suit la courbe classique de charge d'un condensateur :
VB = +5V x (1 - exp(-t/(R43 x C36)))
La tension VE sur l'émetteur de Q2 est fixée par la paire de résistances R45 et R44 qui forment un diviseur de tension. VE vaudra donc :
VE = +5V x R44 / (R45 + R44) = 2V
Donc quand la tension de charge de C36 dépasse VB = VE + 0.6V = 2.6V, Q2 se met à conduire. Une telle tension sera présente au bout d'un temps de charge de C36 de t = 45ms environ (voir formule VB précédente).

Quand Q2 conduit, un courant circule à travers la résistance R46 et polarise Q4 qui se met à conduire : la tension sur le collecteur de Q4 passe à +5V (tension d'alimentation). Cette tension polarise Q3 à travers la résistance R49, qui force la base de Q4 à la masse : ce rebouclage "'verrouille"' Q4 en mode passant, donc la tension sur le collecteur de Q4 reste à +5V quoi qu'il arrive.

Cette tension est finalement acheminée vers la broche 2 de la 1ère porte "'ET"' de Z4.
RESUME DES 3 ETAGES COMBINES
L'étage 1 génère donc un signal /RESET actif bas dès que l'alimentation tombe en-dessous de 3.6V : protection des données de la RAM Z5 à de trop faibles tensions de fonctionnement.

L'étage 2 génère donc un signal /RESET actif bas pendant les 60ms suivant le passage de l'alimentation en-dessous de 3.6V : but identique à l'étage 1. Cet étage sert aussi en cas de bruit excessif sur l'alimentation +5V qui entrainerait une conduction brève de Q1 : au retour à une valeur > 3.6V, Z1 génère une impulsion bien calibrée pour faire un RESET CPU bien franc.

L'étage 3 génère donc un signal /RESET actif bas pendant les 45ms suivant l'application de la tension d'alimentation générale : initialisation forcée du microprocesseur.

Les photos d'écran ci-jointes expliquent un peu plus chaque mise hors et sous tension :

MISE HORS TENSION
Imagecourbe 1 = alimentation +5V
courbe 2 = collecteur Q1
courbe 3 = sortie monostable Z1
courbe 4 = collecteur Q4
Dès que l'alimentation générale est coupée et tombe en-dessous de 3.6V, la sortie de Q1 tombe à zéro et la sortie de Z1 génère l'impulsion négative de ~60ms.

MISE SOUS TENSION
Imagecourbe 1 = alimentation +5V
courbe 2 = collecteur Q1
courbe 3 = sortie monostable Z1
courbe 4 = collecteur Q4
Dès que l'alimentation générale est mise en route, la sortie de Q4 reste au niveau bas pendant ~45ms, puis quand l'alimentation passe au-dessus de 3.6V, la sortie de Q1 monte au niveau haut.

La combinaison de ces 3 signaux par Z4 donne le signal /RESET final. Dans chaque cas, c'est le niveau bas qui dure le plus longtemps qui détermine le signal /RESET final, à cause des 2 portes "'ET"' cascadées de Z4 : toutes les entrées doivent être au niveau logique haut pour que la sortie soit aussi au niveau haut.

Le signal /RESET final délivré au microprocesseur est enfin disponible en broche 6 de Z4. Il est ensuite dirigé vers les 2 dernières des 4 portes logiques "'ET"' contenues dans Z4 pour empêcher tout accès à la RAM Z5 tant qu'il reste activé.

PANNES POSSIBLES
Voici une petite "'checklist"' des différentes pannes qui pourraient arriver à l'un de ces 3 étages :
  • VR1 grillée, court-circuit : 0V sur la base de Q1, donc Q1 conduit en permanence, aucune action sur le RESET
  • VR1 grillée, ouverte : VEB=0V sur Q1, donc Q1 bloqué en permanence, 0V sur son collecteur et sur la broche 5 de Z4, RESET permanent
  • Q1 grillé, court-circuit : tension sur son collecteur égale tension d'alimentation +5V, aucune action sur le RESET, monostable Z1 ne s'activera jamais non plus
  • Q1 grillé, ouvert : 0V sur son collecteur et sur la broche 5 de Z4, RESET permanent
  • Z1 grillé, sortie broche 9 toujours au +5V : +5V sur la broche 1 du Z4, aucune action sur le RESET
  • Z1 grillé, sortie broche 9 toujours au 0V : 0V sur la broche 1 de Z4, RESET permanent
  • Q2 grillé, court-circuit : 2V environ présents sur le collecteur de Q2, donc Q4 et Q3 conduisent aussi, aucune action sur le RESET
  • Q2 grillé, ouvert : base de Q4 toujours à +5V, collecteur de Q4 et broche 2 de Z4 toujours à 0V, RESET permanent
  • Q4 grillé, court-circuit : toujours +5V sur son collecteur ainsi que sur la broche 2 de Z4, aucune action sur le RESET
  • Q4 grillé, ouvert : toujours 0V sur son collecteur ainsi que sur la broche 2 de Z4, RESET permanent
  • Q3 grillé, court-circuit : base de Q4 toujours à 0V, collecteur de Q4 toujours au +5V, aucune action sur le RESET
  • Q3 grillé, ouvert : aucune action sur la base de Q4, situation peu critique (Q3 ne sert que de garde-fou)
  • Z4 grillé : accès à la RAM Z5 et signal RESET sans doute erratiques
SURVEILLANCE EXTERNE
Le signal /RESET peut aussi être généré alors que le microprocesseur tourne, quand un plantage a été détecté grâce à la petite platine auxiliaire qui se connecte au support "'TC-1"'.

Cette platine va en quelque sorte espionner l'activité du microprocesseur : elle détectera une condition de plantage dans 2 conditions bien précises (signal /INT inactif et/ou multiplexage de l'affichage inactif pendant un temps donné) et enverra son propre signal de /RESET pour "'débloquer"' le microprocesseur et le relancer.

Cette platine est indispensable quand le flipper tourne pendant de longues journées sans surveillance (salles de jeux, bars) car il peut se passer n'importe quel évènement (bruit sur l'alimentation, surchauffe ou autre) qui peut planter le microprocesseur. Dans ce cas, plutôt que de laisser celui-ci bloqué dans son état au moment du plantage (par exemple avec une bobine en conduction permanente !), il vaut mieux essayer de relancer l'électronique et repartir de zéro par activation du signal /RESET.

Si vous avez besoin d'aide n'hésitez pas à me contacter.

Cordialement, Pascal JANIN.
(26-Nov-99)

rarbellot
Dept: 000
Rech/Achete: 0 flip
Messages : 17
Enregistré le : 19/12/2005
Pas vu depuis plus de 10 ans
Niveau : Débutant
Pro / revendeur : non
Localisation : VONNAS

Message par rarbellot » lun. 19 12, 2005 10:34

je vois que vous connaissez bien les circuits de reset. je viens de découvrir dans une brocante un diamond lady qui croupissait depuis deux ou trois ans. j'achète (30 euros), et je commence la réparation.... l a zener de 3V est en cours jus, je remplace, le flipper démarre après quelques nettoyages de contacts, mais divers phénomènes se produisent au début : impossible de mettre plusieurs parties , temps très long pour délivrer le bonus (quelques dizaines de secondes et même jusqu'à une minute....etc..
je me suis rendu compte qu'en le laissant chauffer, cela allait mieux au moins pour mettre plusieurs parties. j'ai conclu sans doute trop rapidement que cela venait de la batterie qui était complètement à plat mais je ne vois finalement pas pourquoi...

par contre, de manière aléatoire (une balle sur 3) il est très très long après une balle pour donner le bonus (jusqu'à une minute) et passer à la balle suivante....

Avez vous une idée ?

merci.
rémy

lapince
Dept: 66
Rech/Achete: 0 flip
Messages : 1
Enregistré le : 12/09/2014
Pas vu depuis plus de 10 ans
Niveau : Débutant
Pro / revendeur : non

Re: Circuiterie de RESET, flippers GOTTLIEB Séries 80/80A/80

Message par lapince » ven. 12 09, 2014 17:16

salut
je vais bientôt être le propriétaire du même flipper "le diamond lady" et comme toi il a pas tourné depuis des années peut être une dizaine!! :9):
jusqu a la semaine derniere . tt c est allumer les test ok sauf que quand on introduit une piece rien ne se passe .
ton appel au secours date un peu mais depuis tt ces années a tu réussi a réparer la ou les pannes? combien ça ta couter ? et pourra tu m aider dans le futur proche pour le mien ?
cordialement

Répondre