Monday, April 26, 2004

I have decided to build a Logic Analyzer. Why ? - Because I cannot justify myself paying $400+ for a commercial solution. I know there are items on EBay that are cheaper, and I almost purchased one, however, I feel that this would be a good project and a learning experience at the least.

My plan is to make this from an old 486 laptop I have sitting around and some external electronics. I have a lot of thoughts on how to accomplish this, but first I need to run some tests to see what the hardware is capable off, and what is feasable (ie. Don't expect a 100Mhz analyzer from a 486 33Mhz system - Actually, by my calculations I should be able to get atleast a 1Mhz sampling rate with external components).

I was originally planning on using Windows 95 on the laptop. Unfortunately, since there is no CDROM, I'd be forced to try and install from floppy, but the CAB files are too large to fit onto a standard floppy and I have no intention to play around to get them on. I have also considered copying the Windows CAB files onto the laptop HDD, but I can't seem to find either my Laplink or Null Modem cables. Since then, I have had a brilliant spur of the moment thought - use MS-DOS.

Bringing back old memories, I pulled out my old copy of DOS 6.22, Turbo Pascal 7 and Turbo C++ 1.0 and loaded them on. As an added benefit, I also have QBasic, which will allow me to perform quick prototyping to verify connections, etc.

The setup described above proved to be very useful last night. I have built a simple circuit to test the output capability via the parallel port. The circuit is simply a 7-segment LED display connected to all 8 data lines of the parallel port through an inverting buffer (74LS241). I will try and get a schematic up, if I can work out how to post images.

When I was done last night, the circuit worked great. I could cycle through each segment of the display individually or have some or all of them on a the same time. I am currently in the process of writing a program in QBasic to display 0-9, A-F and I might even write one to animate the display in some way.