Pagina 1 di 2

Introduzione alla riparazione schede PCB

Inviato: 09/12/2015, 18:33
da Barito
La guida/introduzione che vi linko è, ad oggi, semplicemente la più chiara e concisa per chi volesse approcciare il mondo della riparazione delle schede arcade (o PCB).

E' estremamente istruttiva perchè l'autore, Brian Brzezicki, non si limita a vomitarvi addosso nozioni generali (che, tipo, dopo due capoversi già l'attenzione senn'è andata sulle tette della vicina di casa...), ma incentra le sue lezioni su una PCB reale, la scheda di Centipede ... (che, tipo, meglio comunque le tette della vicina, ma se sei cascato qui ti interessa anche altro!) [bash.gif]

A parte gli scherzi, puro e semplice oro colato!

(siccome in passato ho contribuito alla correzione delle lezioni, ho un canale aperto con l'Autore e posso chiedergli se ci permette di upparle qui, eventualmente [angle.gif] )

Esiste (o meglio esisteva visto che ad oggi il link originario è down) inoltre una guida introduttiva, molto generica ma istruttiva, scritta da un certo Mike Dean nel 2001. Fortunatamente l'avevo salvata nel PC e ve la posso riportare di seguito. E' scritta in inglese, ma se mai avrò un po' di tempo ve la tradurrò.

First steps
You have a game board. It's not fully working. For now, we don't care quite how; the salient point is that there is some fault and you've already ascertained that it's not due to the monitor, controls, speakers, etc, probably by testing the setup with a known-good board.

The four usual suspects below are some of the most common causes of arcade board faults, yet are the easiest to diagnose and fix. Furthermore, when examining more tricky repairs we need to be sure that the possible causes below can be discounted:

1) Test that the power supply voltages are good
In general, games have the following power connections:
5 Volts - this is the most critical power input to the board, feeding all the logic chips. Though some games are more fussy than others, this input must usually lie within 0.25V either side of +5V. Virtually all boards have a voltage regulator IC to give better tolerance to inaccurate input voltage, but there are exceptions among quite old boards, for whom even a small voltage discrepancy can cause a wide variety of different symptoms.
A poor +5V input is a likely suspect if the board is suffering from multiple, unrelated problems. For example, startup tests may fail, but citing a different ROM/RAM each time; at the same time the video sync may be erratic, incorrect sounds may be played, controls act on their own or fail altogether, and the behaviour of the game program generally is a little mad. As a general rule of thumb when repairing boards, assume that the most simple possible explanation for the symptoms is the most likely. Should you encounter a game exhibiting many of the problems just described, the power supply should be considered the most likely culprit as the chances of components going faulty in all the separate systems affected is highly unlikely.
It's best not to measure the 5V line near the harness or power supply as the voltage will be less by the time it actually reaches the components. Instead choose an arbitrary logic chip and apply a voltmeter across its power pins (the 'bottom left' and 'top right' pins, if the chip's notch is considered 'top').

12 Volts - usually the 12V line is only used to power the sound amplifier. Some boards I've seen use it to also drive the video output signals.

-5 Volts - this input is often not used. However some old RAM chips require a -5V input and will eventually be damaged if this power line is not received.

2) Test for touching bent pins on underside
When boards have been pressing against each other in storage the pins on the 'solder side' can bend and touch each other, causing all manner of malfunctions.
(I've noticed that Capcom CPS1 boards (Street Fighter II, Final Fight etc) are particularly prone to this happening as they frequently have long component legs and no mounting feet).

3) Test for broken tracks
Boards which have been scraping against each other due to bad storage conditions may suffer from PCB tracks being cut. A careful visual inspection is required to identify such occurrences, which usually only affect the boards' solder sides.
This problem occurs very frequently and the physical damage can sometimes be extremely subtle.

4) Test that socketed components are inserted correctly
Inter-board connectors and socketed ICs which are not inserted correctly can cause a very wide range of problems. Test that all such components of your board are making good contact.
Occasionally (though quite seldom in my experience), accumulated grime on the legs of socketed components will result in a poor connection being made. For these occasions a small pencil eraser is regarded as a good tool for cleaning the legs.

If you've tested against all these but still haven't found the fault the chances are one of the components on the board has died. The focus of much of the rest of this guide will be on pinpointing exactly which one. This can be quite an involved task and often assumes some knowledge of basic computer architecture.

Depending on how involved your board repair job may be, the following tools may all be necessary at some point.

Multimeter - must be able to read voltages to at least one decimal place for power supply checking, and have a continuity test bleeper for tracing and testing PCB tracks. Any extra features aren't particularly necessary.

Soldering iron - for circuit board repair work, the smaller and lighter the better. Your iron really shouldn't need to be particularly high powered. For touching up soldering on surface-mount chips you'll really appreciate having something small and light with a sharp pointy tip (and also a scalpel and magnifying glass). I use a 12W Antex iron from Maplin, which turns out to be one of the cheapest available. I'd also usually recommend using as thin a solder as you can get. For desoldering and making harnesses I use thicker solder and a more powerful iron with a larger tip.

Solder sucker - (a spring-powered syringe for sucking up excess solder). Inexpensive and absolutely invaluable. Desoldering braid (fine braided copper wire for mopping up mess) is also useful for delicate work, but buy the sucker first.

Other small hand tools - small pliers, snips and small screwdrivers are pretty essential.

Aerosols - contact cleaner and Fluxclene can often come in handy. Fluxclene is a strong solvent used for removing the flux in solder which over time can rot, damaging the PCB. It's also invaluable for removing marker pen and residues of sticky labels. Occasionally it can be too strong for certain boards and can itself attack the solder mask (PCB coating, usually green) so use carefully.

Wire-wrapping wire- wire for patching tracks on boards or re-routing signals should ideally be very thin, solid-core insulated wire. 'Wire-wrapping wire' (not to be confused with Maplin's wire-wrapping pen system which is too fine to be practical) is ideal for these applications.

Video probe - read on...
If you want to delve deeper it'll usually mean spending a little more cash. However, the following tools are really worthwhile:

EPROM programmer- old EPROMs can be prone to failure. A programmer isn't cheap but is pretty essential.

Oscilloscope- although a video probe is often the only visualisation tool you'll need, there are some occasions (such as probing the sound and video sync systems) where an oscilloscope may be necessary. Appropriate old, second-hand scopes can be picked up reasonably inexpensively.

The source code to MAME
- The MAME source code gives a fantastic insight into how the various systems that compose a game board work together. Although MAME is more focussed on appearing correct to the player than accurately representing the behind-the-scenes game workings, its source code can give a lot of information that just wouldn't be available elsewhere. Furthermore by playing about with the code you can attempt to recreate by simulation the hardware problems your game is facing. And best of all it's free!

If you've got all these, you should be kitted-up pretty well for finding most commonly-occurring board problems. But not all. It can be extremely difficult identifying malfunctioning devices which output on common signal lines (eg. CPU busses) in a non-destructive manner. Sadly, lots of components fall into this category. The final tool in the chest would be a logic analyser and/or CPU emulator, which sadly would probably set you back a small fortune and yet still wouldn't be a silver bullet for tracking down faults.

The video probe
Detach the red, green or blue video output from your JAMMA harness and source the newly-orphaned monitor input from a loose wire via a protection resistor (I once heard 470 ohms recommended). What you'll just have made is known as a video probe, one of the most useful tools for diagnosing board faults.

Holding the loose wire(s) against component legs allows signals from the board to be visualised. The effective 5 MHz sample resolution, huge 16 ms capture window and three channel display provided by the existing game monitor gives far more powerful visualisation abilities than those of most oscilloscopes. The format of the signal representation is also (usually) more convenient, especially as it enables signal values to be correlated with positions of the raster display.

A video probe relies on a good sync signal being output from the game. Some monitors (and especially TVs) cut off the display if the sync signal is missing or bad, rendering the tool useless. In these situations you'll need to use a logic probe, or better still an oscilloscope, to identify the cause of the broken sync.

One last point to make - the tool will draw a tiny amount of current from the line it's touching. This isn't usually an issue, but if you touch one of the pins of the crystal from which the sync signal is derived its timing will be affected and your monitor will make a horrible noise trying to adjust. This probably isn't very healthy for your monitor (I disclaim all responsibility) and should be avoided!

Pinpointing faulty components
Having eliminated the usual suspects as the cause of the board's problem, we conclude that the fault is caused by a broken component and will attempt to pinpoint the culprit by considering the symptoms. Needless to say, hunting for a faulty component is a much easier task if you happen to have a known good copy of the game with which you can swap component boards and socketed chips or observe the correct behaviour of certain relevant signals.

Most arcade boards comprise three systems: CPU, graphics and sound. Since the latter two are entirely controlled by the CPU, we need to be sure that the CPU system is fully working before trying to solve problems which impact on the graphics or sound. The question of whether the game is indeed 'running' is usually easily answered - many faults manifest themselves as video or audio glitchiness, where the game can clearly be seen playing. For severe graphic problems (either no display or a completely meaningless one), we may need to coin the game up to hear if the sounds indicate that behind-the-scenes it's actually playing OK. And if we suspect a multiple fault in which both video and audio systems are severely affected, the question of whether the game is running may only be answered by holding a video probe to a CPU bus line and judging if the signal looks typical of a running game. But such cases are very rare.

A game which appears to run fine but locks up or resets occasionally, or a game which fails a self-diagnostic test of the CPU system (through RAM/ROM checks) should be considered 'not running'.

Game is running but inputs are faulty
Input systems are not typically very complicated. For most games which use only buttons and joysticks, a buffer/bus driver chip is used to connect inputs (up to eight at a time per chip) directly to the CPU. If this chip is blown a number of inputs will die. Simple.

There's a very good reason why this interfacing chip is vulnerable: as well as serving joystick and button inputs, the chip also interfaces the coin input. If a coin counter is to be connected to this input it must be through a diode; without it the surge of back EMF caused by de-energising the coils in the counter can zap the input chip. Some arcade proprietors are either not aware of this danger or don't consider the protection to be worth the effort.

Repairing a board which has suffered this fault is a straightforward task. Trace the PCB track of an affected input from the edge connector and replace the first chip you come to (not mistaking it for the filters and pull-up resistor arrays that the signal passes through first, which can sometimes be in a similar but distinctively different DIL package).

Games which use more sophisticated controls can rely on the same principle, but with a level of indirection to decode the input before passing it to the buffer chip, such as analog-to-digital conversion for games using analog joysticks, steering wheels connected to potentiometers, etc. Games which use spinners, trackballs etc. must feature circuitry to count the number of pulses received by the sensors as this is likely to be greater than the once-per-video-frame polling rate which is convenient for the game software.

While the simple bus-driver solution is adequate for a large number of games, some choose instead to use a custom I/O chip for interfacing. (Checking the source code for MAME can indicate when this is the case - look for comments indicating that the memory-mapped I/O is fake).

Game is running but has graphic problems
Floating inputs
Unconnected inputs to graphic-related chips (usually caused by broken tracks on the PCB) can cause graphical elements to exhibit a characteristic 'static' effect. To locate the 'floating' input, gently run your fingers/hands over the legs of all the components on the underside of the board/s. This can require great patience and a little care to not cause undue lacerations. When the floating input is touched, the stray EMF generated by your body will drive the input and a noticeable change to the pattern of the static should be seen on-screen.

When the individual pin has been identified (which can require quite a bit of dexterity), trace its PCB track back to the input component. Verify the continuity of the track using a continuity checker (note: not all broken tracks are visibly damaged). If the continuity is broken, install a patch wire. Otherwise it looks like the output driver from the input chip has died - use a video probe to find out.

Thermal failures
Graphical glitches which occur when the game has been left on for a while may be caused by a component whose failure is influenced by heat. Applying aerosol-coolant to different regions of the board should enable the affected part to be identified.

Bad ROMs
A bad graphics ROM should cause a well-defined subset of graphical elements to be disturbed. The easiest way to identify the problem chip is by running the game on MAME with a good set of ROMs and systematically ruin each graphic ROM image in turn (renaming some other random file is easiest) until the same subset of graphical elements is affected as your faulty board. The MAME source code will tell you which of the image files are related to graphics elements and will usually further help by suggesting whether they're characters, tiles or sprites.

Once the target chip has been identified try reseating it in its socket. If this doesn't work, try cleaning its legs with a pencil eraser and reseating. If this still doesn't work chances are you'll have to burn the known-good image onto a fresh EPROM. And if that doesn't work, check the integrity of the ROM sockets and the PCB tracks leading to it.

Bad RAMs
The telltale sign of a ROM being bad is that detail within a character, sprite or tile is incorrect. The telltale sign of a RAM being bad is that the character is correctly drawn, but in a place where it shouldn't be. Or lots of places it shouldn't be. Or it's missing altogether, as are all the other characters. Or sprites. Or tiles. Etc.

Most games use a double-buffering technique to ensure smooth animation, under which display RAMs are divided into two banks. As one set is being written to by the CPU to 'draw' the next frame, the other is being read by the video hardware to 'display' the current frame. A failure of a RAM chip in one of these banks can lead to a very characteristic rapid flickering (30 Hz) of some display elements.

Identifying which of a number of display RAM chips on a board is faulty is not an easy task. A useful technique that can sometimes help is 'piggybacking' a known good chip on top of a candidate suspect one. If a good RAM is held on top of a faulty one, the outputs should fight each other and some change to the fault pattern should be visible on-screen. It's probably worth mentioning that having the good chip's outputs fight those of the faulty one isn't going to do the good chip any good.

The problem with ROMs and RAMs
...and bus-contributing devices in general is that they can develop a fault which causes them to output at the wrong time. When a shared signal is being permanently pulled down by one device it can be impossible to identify the culprit without pulling devices out of the circuit. This is fine if the chips are socketed and an absolute pain if they're not.

Game is running but has sound problems
Dead amplifier
Failure of the sound amplifier is a common fault, probably related to the fact that these things can get extremely hot when the board is on. To test the amplifier, turn the volume control all the way up. If you can hear a background humming/buzzing then the amplifier's fine. Otherwise it's probably blown, though other causes could include a broken volume control or a bad +12V power line.

Some sounds are missing
A large number of games feature more than one sound-generator IC (PSG). If a subset of sounds is missing, the chances are one of these PSGs has died. Common chip numbers for sound generators include AY-3-891x, and YMxxxx (plus dozens of others - see sndintrf.h of the MAME sources).

Amplifier is OK but there are no sounds

Assuming your board has more than one sound generator IC, the complete absence of sounds implies that the circuitry that drives the PSGs has gone. For the vast majority of boards, these generators are driven by a separate CPU (very often a Z80). Assuming this is the case, use a video probe and proceed to examine the sub-CPU system as you would the main CPU system (see 'Game is not running').

The wrong sounds are being played
Most likely an address bus line to a samples ROM is being lost somewhere, possibly inside the ROM itself. Verify the sound ROMs with an EPROM burner and ROMIDENT, or swap them for ones from a known good board.

Sounds are all present but there's some background nois
In my experience this is usually caused by physical damage to an analog component such as a capacitor having an amputated leg. Poor grounding or power supply noise could also be a factor, but analog electronics ain't my thing. Sorry!

Game is not running
The same common causes of failure for video systems (bad ROM, bad RAM, broken tracks, thermal failure, etc.) can equally apply to the CPU system, but since code execution is an all-or-nothing affair, identifying the faulty component is a much more difficult task.

Bad CPU control signals
A number of elementary support signals must be provided to a CPU before it can execute code, notably clock, interrupt and reset lines. If a video probe shows no activity taking place on the CPU's data or address busses you should first suspect these support signals. If the support signals check out OK but the bus signals are static, the CPU itself is likely to have died.

Verifying that the interrupt lines (names such as INT, IRQ, NMI) are not held down is an easy task. The reset line is more difficult since it should be pulsed once very briefly when the game is first powered up. Verifying that it's not being held down is easy*, but testing whether it was pulsed in the first place isn't. Use a patch wire to ground it yourself momentarily, and see if that brings the game up. If it does, try to figure out the logic that's supposed to drive the signal and look for faulty components along the way. If it doesn't the signal's not the problem so probably isn't suspect.

Clock signals meanwhile are in the order of several MHz, so video probes and cheap oscilloscopes often can't display a sufficiently high bandwidth to adequately visualise them. However, a mid-brightness pattern on a video probe indicates that the clock is probably OK, especially if a vague moire pattern can be seen. If a valid clock signal cannot be seen as input to the CPU, trace the signal back through the components that generate it until you hit a device whose output does not correspond to its input.

* Before completely leaving the subject of the reset line, it's worth mentioning watchdog timers. There are countdown circuits which pulse the reset line after a fixed unit of time. If the game code is executing OK, a signal is regularly sent to the watchdog timer to reset the countdown and stave off the reset. Watchdog counters serve both to boot-up the game on power-up, and to reset it if it crashes due to a bug in the program code. If you see that the reset line has a regular pulse, it's just the watchdog timer doing its job; the failure of the CPU to read valid code is the likely cause, not the reset line logic.

Code ROM failure

Most boards perform a self-diagnostic test on bootup in which the integrity of the code ROMs is verified. Others (and often bootlegs) don't. And a self-check of code ROMs is only going to work if the ROM which contains the code for the tests is not faulty itself.

Having established that the CPU's bus signals look as if it is at least trying to execute code, you should conduct a thorough test of the code ROMs (use an EPROM burner and ROMIDENT or swap with ROMs from a known good board). Symptoms of a faulty code ROM include a completely meaningless (usually frozen) display on startup, or consistent crashes at the same point during gameplay. Or if you're lucky, a message on bootup which reads something like 'BAD ROM 3' :)

Be aware that the results of self-diagnostic tests can often be incorrect. That it identifies a problem with a particular chip means either that the chip itself is faulty, or that the internal data pathway to the chip is bad. As an example, the sound ROMs/RAMs are often included in the tests and might not be directly accessible by the CPU bus. Verifying these chips entails passing a request to the sound hardware to self-verify and reporting the results. If the path to the sound hardware is damaged, or the ROM on the sound hardware which performs the test is faulty, the display can report that *all* the sound ROMs and RAMs are bad. (Konami boards seem to frequently suffer from this). As said before, multiple failures are relatively rare. If a diagnosis reports numerous problems, suspect a deeper cause.

Suicide batteries

As an anti-piracy measure, some manufacturers encrypt certain game ROMs and use a key held in battery-backed RAM to perform decryption. Once the battery runs out of juice the contents of the RAM are lost and the game stops working. For some affected boards a set of decrypted ROM images have been obtained which together with some minor board modifications can bring the game back to life.

Affected boards include most Gaelco games, late Capcom pre-CPS1 games (Pang etc.), late CPS1 games (Cadillacs & Dinosaurs, Punisher, etc.), all CPS2 games, many Sega games from System 16 onwards, and a small number of assorted others.

For an excellent guide to reincarnating dead-battery games, see the Dead Battery Society.

Other possible causes
Repairing non-running games is a painful task as any of a large number of possible devices may have broken. Consider the case of the dead bus driver which had been zapped by a coin counter, mentioned in 'Game is running but inputs are faulty'; if the chip had died in such a way that it held one of the output lines low, the entire game would be brought to a halt. Identifying which of the numerous bus devices was ruining the common signal would mean butchering the board, replacing each candidate chip with a known good one until the faulty chip was eventually found.

Still not working?
Oh well, never mind. You win some, you lose some.
Mike Dean, October 2001

Re: Guida semplice alla riparazione schede PCB (in Inglese)

Inviato: 09/12/2015, 21:36
da bisus
ottimo Barito
guarda per me lo puoi anche invitare e facciamo una sottosezione in inglese, non sarebbe male, oppure con il suo permesso le uppi tu e poi piano piano le traduciamo

grazie mille

Re: Guida semplice alla riparazione schede PCB (in Inglese)

Inviato: 09/12/2015, 22:06
da janniz
Sconsiglierei la sottosezione in inglese, di forum in lingua albionica ne esistono già molti e di molto validi...
Peccato che le lezioni richiedano per forza che uno abbia un fluke 9010 (e relativi pod) il che equivale a vendere un rene, la milza e forse anche altri organi più o meno vitali... :(

Re: Guida semplice alla riparazione schede PCB (in Inglese)

Inviato: 10/12/2015, 9:14
da Barito
No, non serve necessariamente avere un fluke: la guida spiega come usarlo, ma a parte un caso é sempre appendice della lezione ;)
Anche io credo che sia meglio non aprire sottosezioni in altra lingua, specie adesso che il forum deve prendere forma.

Dimenticavo: Brian ci ha dato l'autorizzazione all'upload qui; mi ha scritto che sta per pubblicare qualche nuova lezione e che ha fatto (e fa regolarmente) modifiche alle "vecchie" quindi consiglia comunque il download dal link che ho postato.

Re: Guida semplice alla riparazione schede PCB (in Inglese)

Inviato: 10/12/2015, 18:41
da giuppo
Ottimo barito , +1 di stima [thumbup.gif]

Re: Guida semplice alla riparazione schede PCB (in Inglese)

Inviato: 25/12/2015, 15:38
da bisus
[clap2.gif] [clap2.gif] [clap2.gif] Speriamo di vedere qualche bel recupero uscire fuori da questa guida

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 05/03/2019, 8:37
da Romoletto
Scusate se mi permetto di riaprire questa discussione ma sono parecchio interessato alla cosa.
Ho scaricato tramite l'apposita pagiana, il pdf firmato da Brian Brzezicki. Sembra veramente ben fatto e soprattutto accessibile anche a chi come me non ha studiato integrati o roba simile [w00t-anim.gif] . Ho subito iniziato a leggerlo ma il mio inglese rallenta di parecchio la lettura e la comprensione.
Senza google traduttore non penso ci riuscirei, quindi oltre a rallentare la lettura sono costretto a leggerlo solo quando sono davanti al pc, aumentando quindi i tempi di lettura.
Pertanto volevo sapere se esistesse qualche traduzione in italiano o materiale simile, sempre in italiano.

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 05/03/2019, 9:54
da Barito
Ad oggi, che io sappia, non esiste niente in italiano di attinente alla materia di nostro interesse. Cercando un po' in rete potresti trovare qualche corso di elettronica digitale, ma non applicata al tema.

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 05/03/2019, 9:57
da saturnshadow
@Barito un po' alla volta, visto che il nostro amico polacco ha scritto il tutorial in "lingua morta" (cit. [joint.gif] ) potrei anche azzardarne la traduzione [whistling.gif]

mi riferisco, nello specifico, alla parte testo delle "7 lezioni" per il capitolo:
  • Introduction to arcade PCB repair

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 05/03/2019, 10:05
da Barito
Guarda, che io sappia Brian aggiorna continuamente e frequentemente quelle guide, quindi potrebbe diventare un lavoro molto impegnativo volendole tenere aggiornate.
Inoltre, in generale, i datasheet dei componenti sono in inglese, quindi se non mastichi un po' la lingua, sei tagliato fuori.

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 05/03/2019, 10:12
da saturnshadow
aggiornato non lo so, ma intanto una traccia in italiano ci potrebbe essere
se poi qualcun altro si prende anche la briga di fare, di tanto in tanto, segnalazioni sulle variazioni a seguito di aggiornamenti, meglio [coolio.gif]
almeno non si parte completamente da zero [icon_wink.gif]

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 05/03/2019, 11:13
da Barito
Vedi tu: se ti va di farlo, procedi ;)
Prima però devi sentire l'autore (molto disponibile) e vedere se ha qualcosa in contrario (dubito)

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 05/03/2019, 11:37
da saturnshadow
sarà fatto (era comunque in cima alla lista delle cose da fare) [up.gif]

pubblicherò a puntate qui, poi magari con calma, stacchiamo il tutto e facciamo il topic apposito

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 05/03/2019, 13:08
da Romoletto
[thanks.gif] [thanks.gif] [thanks.gif]
Semplicemente fantastico.... GRAZIEEEEEE
Ovviamente, se posso aiutare in qualsiasi modo, non esitare a chiedere.
[emoticon-games-018.gif] [emoticon-games-018.gif]

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 05/03/2019, 15:46
da saturnshadow
il buon Brian mi ha risposto giusto ora: ho il permesso di utilizzare la sua guida, il suo materiale e predisporre la traduzione (spero comprensibile [whistling.gif] )!
vi rimando direttamente alle sue parole:

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 06/03/2019, 9:27
da Romoletto
Aspetto trepidante e ripeto, se posso dare una mano, sono ben contento.
[emoticon-games-018.gif] [emoticon-games-018.gif]

Introduzione alla riparazione schede PCB (LEZIONE 1)

Inviato: 06/03/2019, 17:15
da saturnshadow
ATTENZIONE! Quanto segue è la semplice traduzione della guida redatta e a cura di Brian Brzezicki presente in versione originale sul sito ., lo staff tutto, i traduttori e tutti i collaboratori che hanno partecipato alla stesura del testo seguente non sono in alcun modo coinvolti nei contenuti di quanto illustrato, né hanno collaborato in alcun modo, né hanno alcuna responsabilità su qualsivoglia aspetto.
Per qualunque tipo di informazione, richiesta o ulteriore approfondimento riguardo il materiale presente nella guida i riferimenti sono: l'autore stesso, Brian Brzezicki (persona disponibile e squisita ndr), e la Paladin Group, LLC. che detiene il Copyright del materiale ivi tradotto
Qualunque annotazione e/o variazione sul contenuto i riferimenti sono esclusivamente quelli dell'autore (Brian Brzezicki).
Per modifiche alla traduzione invece, potete inviare liberamente i Vs. suggerimenti al fine di consentire le modifiche del caso

Introduzione alla riparazione di PCB per videogiochi arcade
Copyright 2013 Paladin Group, LLC - Author: Brian Brzezicki
Special thanks to KLOV users TROXEL and BARITO for reading through this guide, doing the exercises, catching many many typos, and generally making this a better document

NB: questa introduzione è di natura generica, tuttavia negli esempi forniti la scheda descritta è la PCB del gioco Atari Centipede.

Lezione 1: Nozioni di base sui segnali della CPU

Riparare una scheda PCB arcade sembra un'abilità magica e arcana, tuttavia si tratta semplicemente di risoluzione di problemi di base.
Capire come funziona un sistema, scomporlo in piccoli sottosistemi distinti e il test dei vari sottosistemi in modo logico.
Se hai una sonda logica (o un oscilloscopio) e un Fluke 9010a con il pod della corretta CPU, c'è un approccio molto semplice alla risoluzione dei guasti che può risolvere probabilmente il 90% di tutti i problemi.

Una scheda arcade PCB non è altri che un computer molto semplice:
Una PCB arcade è un semplice "computer con un solo scopo". Perché il gioco arcade funzioni e sia utilizzabile, ha bisogno dei seguenti componenti:
1. Una CPU funzionante
2. ROMs funzionante (il codice del gioco)
3. RAM funzionante (e circuiti di supporto)
4. Circuiti per visualizzazione video funzionanti
5. Circuiti di input funzionanti

Diamo un'occhiata all’oggetto #1 (una CPU funzionante). Ovviamente il gioco non funzionerà senza una CPU funzionante. Se la CPU è danneggiata probabilmente vedrai qualcosa sul display, ma probabilmente sarà fallato, questo perché il circuito del display video è in realtà separato dalla CPU per la maggior parte dei suoi componenti. L'unità video semplicemente legge periodicamente un certo blocco di memoria, e in base a ciò che è in quella memoria, mostrerà qualcosa sullo schermo. Se la CPU per qualche ragione non è attiva, la memoria sarà ancora funzionante, ma con dati “spazzatura” non correttamente inizializzati.
Come controlliamo la CPU?

Ci sono alcuni passaggi che devono essere fatti prima di guardare anche lo swapping della CPU:
1) Abbiamo bisogno di una buona potenza DC (in particolare + 5V sulla maggior parte delle CPU arcade)
2) È necessario ottenere un segnale di reset quando la CPU si accende
3) È necessario un segnale di clock valido (a meno che la CPU non abbia clock interno)

Controllo dell’alimentazione elettrica:
Senza una buona alimentazione elettrica non c'è possibilità che la tua CPU e il gioco funzionino. In nessun, e ripeto, nessun caso. L’alimentazione elettrica è il fondamento di qualsiasi sistema elettronico. Quindi, come controlli l’alimentazione? Semplice:

Controllo dell’alimentazione +5V
• Prendere un multimetro e impostare la lettura in DC - Corrente Continua
• Cerchiamo un chip della serie 74LSxxx sulla scheda (dovrebbero essercene tanti)
• Controllare il bordo del chip 74LSxxx con la "tacca" sulla parte superiore.
• Trovare il pin GND/Ground (Terra) sul chip 74LSxxx (di solito sul chip è il pin in basso a sinistra)
• Trovare un punto + 5V sul chip 74LSxxx (di solito è il pin in alto a destra)

Misuriamo la potenza tra questi due punti. Se non è compreso tra +5V e +5,15V regola l'alimentazione finché la misura non rientra in tale intervallo. Se l'alimentatore in nostro possesso non si regola potrebbe essere un alimentatore di scarsa qualità o la scheda potrebbe avere un qualche tipo di cortocircuito (purtroppo i corti non sono facili da risolvere).
Se l'alimentazione è OK, andiamo al passaggio successivo.

Segnale di Reset:
Quando un computer si avvia, la CPU e la memoria si trovano in uno stato indeterminato (principalmente “Random”) e il sistema non funzionerà. I sistemi informatici avranno un circuito di reset o un circuito di watchdog che è responsabile dell'invio di un segnale di reset rapido alla CPU. Quando la CPU riceve questo segnale, passa a un indirizzo di memoria hard-coded (o codifica fissa) e avvia il codice in esecuzione. Questo codice di bootstrap inizializza la memoria e solitamente verifica il sistema, quindi avvia il programma normale.
Noi vogliamo testare la CPU per verificare che ottenga un segnale di reset. Per testare tutto, ciò che serve è una sonda logica (preferibilmente con uscita audio).
Se la sonda ha diversi settaggi, accertarsi che il tipo logico sia impostato su "TTL" e "pulse" (oppure su "memory" e "CMOS").

Usare una sonda logica per testare il segnale di reset.
• Prendere la sonda logica, collega i fili rosso e nero a + 5V (rosso) e GND/Ground - Terra (nero) e trovare il pin sulla CPU che è il reset. Toccare la punta della sonda logica sul pin di ripristino e accendere il sistema e vedere cosa succede.

Su un Centipede Atari con un processore 6502 il pin RESET è il pin 40 (in alto a destra).
Quando il pin è "Low/Basso", la CPU riceve il segnale di reset (viene chiamato NOT Reset, cioè il Reset è abilitato su Low/Basso). Quando il sistema si accende, il segnale dovrebbe essere High/Alto, seguito da una rapida transizione (che sentirai) a Low/Basso, quindi tornare e rimanere High/Alto.
Se si dispone di un oscilloscopio, è possibile utilizzarlo al posto di una sonda logica. Tuttavia è necessario consultare il manuale per imparare a impostare un trigger per rilevare il cambiamento di stato.

Usare un oscilloscopio per controllare il segnale di reset.
(NB: gli oscilloscopi sono dispositivi complessi e ogni modello avrà controlli diversi per gestire le impostazioni. Quanto segue sarà un esempio generico)

• Collegare la sonda dell'oscilloscopio al canale dell'oscilloscopio 1 e il cavo di massa della sonda al punto di messa a terra sulla scheda (nel nostro esempio: Centipede).
• Configurare il proprio oscilloscopio con trigger (“innesco”) sul bordo discendente e inserirlo nella modalità di trigger singolo
• Configurare il punto di trigger (“innesco”) in modo che si trovi a metà strada tra +5 e GND/Ground (+ 2,5V è un valore ottimo)
• Configurare le griglie orizzontali da impostare su 1 microsecondo (1µs)
• Collegare la sonda dell'oscilloscopio al pin 40 del 6502 sulla scheda del Centipede.
• Senza sollevare la sonda dell'oscilloscopio dal punto di test, attivare il gioco.
• Si dovrebbe visualizzare un segnale alto, un breve dip a terra, quindi tornare alto come nell'immagine qui sotto
Suggerimenti per la risoluzione di problemi relativi al RESET:
• Se non c'è segnale di RESET è un problema, e sarà necessario verificare il circuito di reset.
• Se il segnale di RESET è sempre in stato High/Alto e non va mai su Low/Basso, premere il pulsante di ripristino se ne esiste uno e vedere se cambia stato. In caso contrario, controllare il circuito dall'interruttore di ripristino fino al pin di ripristino sulla CPU. Bisogna notare che è molto complicato catturare il reset all'avvio, quindi non vedere la transizione a Low/Basso, tuttavia se quando si riavvia il reset va in stato Low/Basso, questo passaggio si può evitare.
• Se il segnale di RESET è sempre Low/Basso, qualcosa nel circuito di RESET non funziona correttamente, quindi controllare i componenti nel circuito dall'interruttore al pin RESET sulla CPU.

Molto probabilmente su una scheda di gioco rotta con circuiti RESET e WATCHDOG corretti, troverete che il segnale di RESET pulsa costantemente come mostrato nell'immagine qui sotto. Questo di solito è causato dal circuito di Watchdog che rileva un malfunzionamento sul sistema e cerca costantemente di ripristinare il sistema. Se si scopre che la scheda sta ricevendo correttamente il segnale di RESET iniziale, il sistema ritorna a uno stato di non-reset stabile: molto probabilmente la scheda gioco sta funzionando, a meno che il circuito del watchdog non abbia guasti. Se stai ricevendo i segnali che dovresti aspettarti da un gioco funzionante, ma non hai immagini, puoi saltare tutte le sezioni e cercare tra le risoluzioni dei problemi video.
Cos'è un “Watchdog”?
La maggior parte dei sistemi dedicati contiene un circuito detto Watchdog (o, detto orrendamente in italiano, temporizzazione di supervisore). Su questi sistemi, il codice principale scrive periodicamente i dati su un determinato indirizzo di memoria per indicare che tutto funziona correttamente. Il circuito Watchdog controlla questo indirizzo di memoria, e se non rileva i dati che specificano che tutto è correttamente funzionante, invierà un segnale di reset alla CPU per riavviare i sistemi.

La maggior parte dei vecchi giochi ha CPU che hanno clock esterno: c'è un oscillatore al cristallo che, tramite risonanza meccanica, genera una certa frequenza, e ci sono alcuni “contro-chip” che ne abbassano la frequenza e sostanzialmente formano il clock della CPU. Questo circuito di clock fornirà una transizione costante da bassa ad alta che dovreste essere in grado di sentire. Senza questo segnale di clock costante, la CPU non funzionerà.

Utilizzare una sonda logica per controllare il clock
Per testare questo segnale, collegare al GND/Ground la sonda logica e i cavi + 5V ai punti di test appropriati sulla scheda. Toccare la punta della sonda sul pin del clock della CPU (questo è il pin 37 su un 6502). Il normale funzionamento è che il pin emette segnali acustici che comunicano il passaggio costante da stato alto a basso.

Risoluzione dei problemi di clock con una sonda logica:
• Se il pin del clock è assente, bloccato su stato High/Alto, bloccato su Low/Basso o si sente un segnale acustico non uniforme, il circuito del clock non funziona e pertanto la scheda del gioco non funziona. È necessario controllare i circuiti dall’oscillatore al cristallo al pin del clock.
• Spesso nei giochi l’oscillatore mancherà completamente o sarà rotto. Se è così, sostituitelo.
A volte l’oscillatore sembra in buono stato ma spesso non è così.
Un modo per testare questo circuito è controllare il primo pin di output dal primo chip TTL negli schemi dopo l’oscillatore. NB: poiché questo è ad alta frequenza, la sonda logica restituirà probabilmente un segnale anomalo che si potrebbe male interpretare; si potrebbe anche non ricevere alcun segnale e questo potrebbe essere positivo: questo è dovuto perché la frequenza è troppo alta per la sonda logica. Bisogna essere preoccupati se l'output è bloccato su uno stato (alto o basso).

Test del clock con un Fluke 9010a
Il Fluke 9010a con il POD appropriato non funzionerà senza un segnale di clock valido, quindi è possibile utilizzarlo per testare il clock.
Prima di testare il clock, bisogna assicurarsi in precedenza che il Fluke funzioni.
(Se non è stato già fatto, allora verificate le istruzioni alla fine del capitolo per testare il Fluke 9010a e il POD associato)

• SPEGNERE la scheda del gioco (accendere sempre prima il Fluke)
• SPEGNERE il Fluke
• Inserire il POD nella CPU (nel senso corretto del chip)
• ACCENDERE il Fluke
• Impostare sul Fluke "ignore active line force"
• Accendere la scheda gioco
• Premere il pulsante "bus test" sul Fluke. Se il risultato è "BUS TEST OK" il clock va bene. Se invece il risultato restituito è "POD timeout" o "BAD POWER SUPPLY" allora molto probabilmente non si ha una buona tensione sul POD sulla CPU o il clock ha un problema.
• Spegnere prima la scheda gioco (MAI accendere la scheda di gioco e tenere il Fluke spento)
• Spegnere il Fluke

Se si scopre che il segnale di clock non è quello previsto, è necessario verificare i circuiti del clock. Se si ottiene una transizione costante, passa alla lezione successiva.

Utilizzo di un oscilloscopio per testare il clock
NB: gli oscilloscopi sono dispositivi complessi e ciascun modello avrà controlli diversi per gestire le impostazioni. Questo sarà un esempio generico

• Collegare la sonda dell'oscilloscopio al canale dell'oscilloscopio 1 e il cavo di massa della sonda al punto di messa a terra sulla scheda (nel nostro esempio: Centipede).
• Configurare il proprio oscilloscopio in modo che si inneschi sul fronte di discesa
• Configurare il punto di trigger (“innesco”) in modo che si trovi a metà strada tra +5 e Ground (+ 2.5V è ottimo)
• Configurare le griglie orizzontali da impostare su 1 microsecondo (1µs)
• Accendere la scheda del gioco
• Collegare la sonda dell'oscilloscopio al pin 37 del 6502 sulla scheda del Centipede.
• Dovremmo vedere un segnale simile all'immagine qui sotto. Se l’ oscilloscopio ha l'opzione di misurazione della frequenza, si dovrebbe vedere la frequenza del canale 1 di circa 1,5 Mhz (la velocità di clock di Centipede). Se non si dispone di un'impostazione simile, è possibile allineare al limite del segnale su (cresta dell’onda) o giù (gola dell’onda) a una linea della griglia, quindi vedere quante linee della griglia (o sue frazioni) servono per eseguire un ciclo completo. Se si confronta in quanto tempo ogni ciclo viene effettuato comparato con le linee della griglia, è possibile effettuare alcuni calcoli per conoscere la frequenza. (Ad esempio se le linee della griglia sono impostate su 1 μs - 1 milionesimo di secondo - e ci sono 3 cicli completi in 2 linee della griglia, quindi 2 milionesimi di secondo, la frequenza pertanto sarà di 3 cicli / 2 milionesimi di secondo = 1,5Mhz)

Author: Brian Brzezicki - Copyright 2013 Paladin Group, LLC

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 07/03/2019, 17:23
da Romoletto
Ammazza, non ci credo, sei il traduttore più veloce della Sala [emoticon-games-014.gif]
[clap2.gif] [clap2.gif] [clap2.gif] [clap2.gif] [clap2.gif] [clap2.gif]

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 07/03/2019, 17:55
da saturnshadow
Romoletto ha scritto:
07/03/2019, 17:23
Ammazza, non ci credo, sei il traduttore più veloce della Sala
Tempo al tempo, che sono 7 capitoli. Questo è solo il primo [sweatdrop.gif]
Ne riparliamo quando arriverò almeno al quinto [joint.gif]

Re: Introduzione alla riparazione schede PCB (in Inglese)

Inviato: 07/03/2019, 22:34
da Romoletto
Io intanto inizio a leggere
Grazie ancora.

Inviato dal mio Mi A1 utilizzando Tapatalk