Development tools :: Logic analyser
This section describes the rational I used to determine which logic analyser to buy.
First I had to really think about what kind of projects I would be doing and the architecture of the microcontrollers I would be using.
In a previous life I needed an analyser that was both wide and fast, ie. it could handle at least 32 data inputs (channels) and sample at several 100 MHz. This was because often as not I used microprocessors as well as microcontrollers and processors address most peripherals as external chips and/or memory. This means (usually) 16 address lines, 8 data lines, 2-3 control lines, and a few more for miscellaneous signals around a board. Therefore around 32 channels were needed.
The next parameter is speed, often to get external memory- or IO-mapped chips working you have to look very closely at the timing of the signals and this means the analyser should be able to sample much faster than the general frequencies being used on your board, typically 10x faster is good.
Take for example the following circuit.
Don't ask why you would design such a circuit (actually it makes quite a nice rising-edge detector), it's really just a representation of the paths a signal could follow on a circuit board.
Logically points A and B are the inverse of each other, when A goes high B goes low and vice versa so in theory the AND gate output (C) will never go high and if signal C is not connected to any clocked logic this may work just fine.
But if C is connected to, for example, a flip flop as follows.
Then we have may a problem. Because of the delay between A and B caused by the inverter, the two AND gate inputs don't arrive at exactly the same time so we have a situation whereby every rising edge of A causes a tiny pulse at C which in turn will toggle the flip flop output (D).
These small glitches may be only a few nS (billionths of a second) wide and can be a real pain to find without a high speed analyser or CRO.
So that's one reason to buy a high-speed analyser, but the chips I'll be using have almost all the peripheral devices on board and Atmel have presumably sorted out all these issues. All interfacing to external devices I'll be doing will be through ports, parallel, serial, I2C, TWI etc. This is not only relatively slow but uses very few signals.
So after much web surfing I narrowed the field down to two analysers, based mostly I have to say on price because I'd already spent a fortune on other stuff.
My two choices were the Logic by Saleae and the LogicPort by Intronix. I'll start by going over some of the features of the one I didn't buy.
Intronix's LogicPort analyser is very feature rich and from what I can tell a superior product to the Logic that I eventually purchased. It's a 32 channel 500MHz device and as such well suited to the old-style jobs I mentioned above.
The software is a little 20th century but very powerful with serial analysers and the ability to group signals (say an address bus) and just show the HEX value of those signals rather than 16 wiggly lines.
The hardware is quite impressive (on paper at least, I never tried one in the flesh) with one nice feature being the delta compression used to allow high speed sampling over long periods.
You can read more about it at www.pctestinstruments.com where it's also possible to download the software and give it a try.
From what I was able to determine there is every reason to buy the LogicPort except price, at US$389 it's over $200 more than the Logic. Despite it being overkill for what I need if I wasn't such a tight arse I probably would have bought it, after all you never know what you'll be doing in the future.
Saleae have come up with a little gem of a product with the Logic, for the type of projects I'll be doing it's perfect, and at US$149 you can't get any better value.
The software has a very modern interface with nice features like real-time display of the period/frequency between two edges simply by placing the mouse on a signal. As with the LogicPort this device has serial analysers that will show your serial data (I2C, RS232 etc) in a nice human-readable format.
The Logic's maximum sampling rate is 24MHz which is not hugely fast, but as I've stated I need a tool to analyse what is effectively software generated signals and for that 24MHz is way fast enough.
There are only 8 channels but once again that's plenty for the work I'll be doing.
Another possible limitation is the fact that the data has to be shunted to your PC over the USB link in real time. There is little or no buffering on the gadget itself and in theory this means that the sampling rate can be limited by the USB speed and any other USB usage on your computer.
I have yet to encounter any such restriction and a positive to this system is that there is no practical limit to the amount of data that can be captured.
I know it sounds like I have mostly detailed the limitations of the Logic and I suppose I have. It's not a full-featured logic analyser that's for sure, but for modern microcontroller-based projects that communicate mostly via serial data of one form or another I think it's ideal.
NOTE: Saleae have a 16-bit version out now which I assume is every bit as good.
All electronics information and designs on this site is released
under the Creative Commons CC BY-SA and/or Open Hardware licences.
Copyright © 1973-2013 Rob Gray, All rights reserved.