If you’ve ever had a problem getting two chips to talk, or wanted to reverse engineer a protocol, a logic analyzer is the right tool for this. Logic analyzer only detects digital high and low digital states, it records many signals simultaneously and allows to dump data to a computer for analysis. Logic analyzers can take the guess work out of debugging inter-chip communication. Many modern electronics projects that use micro-controller will benefit more from a logic analyzer than an oscilloscope.
Logic analyzers used to be expensive large special devices. Nowadays it is possible to buy a quite useful basic logic analyzer that connects to a PC for a pretty reasonable money if you don’t need the highest speeds. Saleae Logic is one reasonably priced (149 Euros) logic analyzer that connects to PC USB connector and records 8 channels at up to 24MHz sample rate. Very many practical real world embedded applications have buses that run at less than 10MHz clock rate, and Logic is quite ideal for these. If you need to analyze something faster you need some other more expensive product.
The beauty of the Saleae Logic product is not in its raw capabilities, but the fact that using it is amazingly simple. The software is very slick, easy to use and quick to learn. This product is fun to play with. Simplicity is a good reason when selecting a tool that you need every now and then, but you don’t use every day. When you are trying to figure out a problem, the last thing you want is to spend time messing with your logic analyzer. You just want a product you can start immediately and without too much thinking.
One of the nicest things about Logic is that you can decode many signal formats automatically (I2C, async serial, SPI, CAN, etc.), and you can see the decoded result along with the waveform. You can also use this product to capture long data samples and save them in various formats.
The most of the magic on this product is in the PC software side. You can download the software from Saleae web page and try it yourself in demo mode. On the good side the software is cross-platform: Windows, Linux and Mac. I like products that work on Linux as well, although currently I have only used the software only on Windows (XP and Vista).
The actual hardware is pretty simple. The Logic hardware is based on the Cypress Semiconductor CY7C68013A-56PVXC, a high speed 8051 microcontroller with a USB peripheral interface. CY7C68013A can send theoretically 48MB/s of pure data to the computer, but very rarely does any product approach USB 2.0′s advertised 480mbps transfer rate for sustained periods. The advanced data processing is done on the PC software side.
On the funny side, turns out that competing logic analyzer product USBEE SX has exactly the same hardware inside. Considering the simplicity of the hardware part of the devices it is no winder that there are some Chinese made clones of those devices available. This cloning indicates that this is good product. The fact of life is that good products get copied sooner or later and bad ones are just forgotten.