Thank you for your comments. Could you provide a web address for the $6 logic analyser which you are recommending? e.g. https://www.ebay.ca/itm/CY7C68013A-56-EZ-USB-FX2LP-USB2-0-Develope-Board-Logic-Analyzer-EEPROM-M36/351494353170
yep, some more details:
http://forum.hobbycomponents.com/viewtopic.php?f=102&t=1891Just keep in mind this wont be out of the box experience, you pay $6 + time to set everything up and learn somewhat primitive tool etc.
The BIOS has 16 address pins and 8 Data in/out pins. Aren't these values going to change rapidly during the boot process on the working board? If so, how would it be possible to pause the scope right at the moment where the output catches the very first event sequence and not the nth state during the boot process?
Thats why I suggested going that route only with logic analyser. its perfectly capable of capturing all this traffic up to your computers memory capacity, ~ 50 seconds per GB. btw you dont have to capture both address and data lines, one or the other will be enough for comparison.
Could you please explain by way of example how probing all the address pins on the BIOS will let me know if the CPU is starting and how far along it is in the boot process? It seems to me if the dead boards have no codes from the PC analyser card that almost nothing is starting?
ISA postcode boards work by mapping Port 80h. Bios writes codes like this:
mov al, 0D5h ; some post code
out 80h, al ; out it goes to the postcard
no post codes can mean not executing bios at all, but it can also mean executing bios and hanging before having opportunity to output first post code, or something wrong with ISA address decoders, or something between
Wouldn't this provide some insight as to the high liklihood items for the failure? Like which components must be broken or contain disconnect for this to happen? For example, it doesn't seem like the 206 DMA controller chip needed to be connected for the motherboard to output a PC speaker beep sequence, and that is, in fact, how I troubleshooted one of the now working boards.
Let's say I am able to take a snapshot of the exact moment in the boot process in which the working board turns on, call it item sequence 1 in the boot process. Now if address A0, for example, on the working board has a pulse, and A0 on the dead board does not, how does this information assist in troubleshooting the faulty component?
This means you know there is something bad between bios chip and cpu(not necessarily the cpu itself). First thing 386 CPU does is fetch BIOS contents (mapped to 0xF0000 - 0xFFFFF) starting with 0xFFFF0 address (actually 0xFFFFFFF0, but thats beside the point).
Why didnt it try fetching bios? many possibilities:
-no clock
-bad cpu
-bad chipset (translates between cpu and peripherals like ISA slot/bios chip, decodes addresses)
-something blocking one of the data or address busses. Chipset <-> bios, chipset <-> cpu, for example stuck bit somewhere, broken connection etc.
Concerning probing the chipsets, how would I get the probes onto the pins? In the absence of some sort of clip-on adapter for QFP chipsets, wouldn't I need to solder a wire to the tiny leads on the chipset? And would the same ring true for probing the CPU and other soldered ICs?
needle and steady hand, good eyes or glasses.
If so, then wouldn't it be easier to replace the 206, 481, and 482 chips? Is there not a more systematic and sequential approach to finding the fault?
sure, its even easier to replace whole motherboard
If I remove the QFP AMD CPU, then probing the PGA-132 socket would be fairly straight-forward and no soldering required. But do you think probing the PGA-132 CPU socket in a power-on state without the CPU installed be of any value? If so, where to start probing and what to look for?
why are you so hell bend on removing the cpu? first make sure its bad. Extra cpu socket is a great spot for scope probing, download 386 pinout
http://pdf.datasheetcatalog.com/datasheet/Intel/mXtuvqv.pdfand scope CLK2, RESET, A2-A31, D0-D31, VCC, compare with working board
Alternately, as the system has a QFP AMD CPU installed and the board contains a PGA-132 CPU socket, perhaps this combination would be of value to have easy probing access to the CPU's pins. If so, what to probe and what are the expected results at the 0th state in the boot process? Unfortunately, when I went to check if CLK2 on QFP AMD CPU is connected to CLK2 on the PGA, they were not. This is true for these boards. So if CLK2 on PGA doesn't make a direct connection to CLK2 on QFP, then other pins may not be directly connected as well.
clock is most likely connected thru separate TTL buffer gates, scope it
To directly answer your questions - the faulty boards do not beep at all; the keyboard LED does not flash; the POST card does run through the codes in sequence on the working boards.
Is there a systematic approach to probing rather than random probing of the boards?
start with critical stuff:
-clocks. CPU, but also RTC 32.768 kHz and ISA ~8MHz (B20 on the slot,
https://en.wikipedia.org/wiki/Industry_Standard_Architecture )
-supply on individual chips, correct voltage and noise levels
-important signals like CPU reset, W/R, ADS etc
CJay made very good points, try pressing on chips with your finger(gently but firmly) and then boot while maintaining presure. He also mentioned removing non required chips - try booting naked board with no ram/cache/isa cards - this wont be a problem for early boot stages, enough to monitor biosA0/cpu A2 with scope.
I do not know what to look for, when it should occur, and on which pins. Do you know? It seems like we would want to know the very first course of action the motherboard takes upon power up, e.g. like initialise the keyboard controller, and if so, which pins should look like what on the scope?
Some of the info is in Intel docs, some in bios code, some you learn repairing computers. I cant really point you at one spot on the web with all of that knowledge
Its all spread around
x86 bootup sequence is in intel pdfs, some here:
https://0xax.gitbooks.io/linux-insides/content/Booting/linux-bootstrap-1.htmlbios :
https://github.com/pinczakko/BIOS-Disassembly-Ninjutsu-Uncovered https://sites.google.com/site/pinczakko/bios-articlespower sequence in modern computers:
https://www.elvikom.pl/szkolenie-nr-1-podstawy-diagnostyki-plyt-glownych-laptopow-t986.html half translated, might be readable with google translate
It all starts with chipset resetting CPU, CPU fetches bios, CPU starts executing bios, first thing BIOS does is most likely memory controller initialization.
side note: more modern systems based on CPUs with L1/L2 cache do tricks to treat cpu cache as temporary ram in order to speed up initial bios load and execution.
In a power-off state, I have confirmed that Vcc and Vss are reaching the chipsets and the CPU. What I found a little odd was that, according to the AMD datasheet, pin 34 = Vss and pin 35 = Vcc. For this set of pins only, the motherboard is wired such that pin 34 = Vcc and pin 35 = Vss. I figure it might be a typo because the working boards are wired the same as the dead ones.
looks like typo, Intel has same pinout as your boards
http://www.nj7p.org/Manuals/PDFs/Intel/241267-003.PDFI suppose could measure the supply current. What information will this provide for the troubleshooting process? I figure the dead board will have a lower current draw than the working one. The easiest for me would be to plug-in a kilo-watt meter, albiet with less significant digits then splicing in the DMM. EDIT: working board runs with 0.43 A ac and dead board runs with 0.36 A ac, as measured with a Kill-A-Watt.
no
, you need milliamp range, temporal readout is a bonus(
https://www.eevblog.com/forum/beginners/how-to-measure-current-on-an-oscilloscope/). Using power draw for troubleshooting is an art, mastered by Chinese cellphone/laptop repair gurus. The trick is to map out power draw over time of a booting 100% working system and correlate that to sequence of initialization stages said booting system goes thru. Additionally you build a list of known faults with subsequent readings.
In your case it could be something like first milliseconds after power applied CPU should still be held under reset - low draw, then when it starts it goes up a little, then CPU puts out its first read command on the bus - draw changes, then chipset has to translate this command to 16bit isa bus and interrogate bios chip - again different draw, etc etc. You can graph such power sequence with power on Y axis and consecutive stages on X.
With such map in hand it takes mere second to diagnose broken unit, just plug lab supply and watch the sequence, you automatically know when it deviates from norm.