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) :


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.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
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 :
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).Alimentation point nodal
+5V R8/VR1 = base Q1
--------------------------------
0...3V 0...3V
>3V 3V
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 :
ETAGE 2 : Z1 (MISE HORS TENSION)Alimentation collecteur Q1
+5V = broche 5 de Z4
--------------------------------
0...3.6V 0V
>3.6V alimentation
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 :
Pour cette formule on considère que l'alimentation a chuté à 3.6V environ (car Z1 est alimenté par l'accumulateur NiCd).t = 0.2 x R10 x C14 x ln (alimentation) = 60ms environ
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 :
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 :VB = +5V x (1 - exp(-t/(R43 x C36)))
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).VE = +5V x R44 / (R45 + R44) = 2V
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
![]() | courbe 1 = alimentation +5V courbe 2 = collecteur Q1 courbe 3 = sortie monostable Z1 courbe 4 = collecteur Q4 |
MISE SOUS TENSION
![]() | courbe 1 = alimentation +5V courbe 2 = collecteur Q1 courbe 3 = sortie monostable Z1 courbe 4 = collecteur Q4 |
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
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)