Sunday, February 19, 2012

Of Smoke Tests and Logic Analyzers

Anytime you're hooking up untested hardware and applying power, you're doing a smoke test.  The idea is that the magic smoke that makes the integrated circuit work must remain inside of the chip, and if you do something wrong, you hear a pop and the smoke comes out of the chip... then you're screwed.

Actually that's an old hardware engineering joke.  But the end result is the same.  Smoke coming out of a chip is never good....

But thankfully that didn't happen when I plugged in the Liber809 board for the first time.  In fact, nothing happened at all.  The screen stayed a dark green hue.  No sound, no colorful background screen, no nothing...

Did I really expect it would work the first time?  No, but my hopes weren't dashed.  I went back to the schematic, checked continuity on all points, checked solder points, checked for shorts between ground and 5V.  Everything looked normal.

Just to make sure I didn't damage the Atari XEGS, I plugged the 6502C back in, put the XEGS ROM into the emulator and fired up the Atari.  It came up just fine.

Phew....

At this point, I realized I needed proper diagnostic tools at the hardware level.  This solder-and-try crap wasn't going to cut it.  I decided I needed a logic analyzer.

Now, I've seen one of these things in action, but never actually owned one.  They can be VERY expensive, in the thousands of dollars, so I never really looked at getting one.  But I looked at them years ago.  I expected there might be some USB based logic analyzer that would interface with my Mac.  And a quick Internet search turned up several options.  After consulting with Mark Marlette, my business partner and a hardware guru in his own right, I decided on the Intronix LogicPort (see http://www.pctestinstruments.com/) along with a bunch of clips and an extra set of leads.  With 34 channels and a sampling rate of up to 500MHz, this seemed like the way to go.  After a few days of waiting, the analyzer came in, and I downloaded the software, which runs under Windows (ugh) but exists happily under Parallels on my iMac.

I could see right away that clipping to 34 pins of a 40 pin CPU was going to be a pain.  Luckily, they make nice 40 pin IC clips that you can just connect the leads right to.  Cool.  Now to wait another couple of days for that to come in.  And so it did.

To get an idea of what this thing could do, I needed to put the Liber809 project off aside for a bit and actually use it on known working hardware.  So I put the 40 pin IC clip on the 6309 in my CoCo 3, setup a trigger in the software and fired it up.

Let me tell you... looking at the output of a logic analyzer is a very eye-opening experience.  To see the signals dancing up and down, then being able to go back and analyze the timing of those signals, is very, very cool.


No comments:

Post a Comment