For novel ideas about building embedded systems (both hardware and firmware), join the 30,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
Review of Saleae's Logic16, by Jack Ganssle (Reviewed July 2013)
Summary: Saleae's new Logic 16 is a well-engineered, low-cost logic analyzer.
In the Jurassic period all oscilloscopes and logic analyzers were big, bulky, bench instruments that were incredibly expensive. But a decade or so ago a variety of low-cost scopes and analyzers appeared. They are not analogous to the little shrew-like mammal that replaced the dinosaurs, since the high-end devices are essential for lots of engineering work and will never disappear. Instead, these USB-connected instruments fill a niche for those with limited budgets who are not working on bleeding-edge projects. Over the years I've reviewed a number of these.
Saleae's (http://www.saleae.com/) new Logic 16 is a sixteen channel USB-based logic analyzer (LA). It's one of the very few cross platform LAs available, with application software that runs under Windows, Linux and on the Mac.
Its speed is a function of the number of channels being used. With three the unit clocks data in at up to 100 MHz. Nine channels (somewhat puzzling; one would think eight would be more likely) drops it to 32 MHz, and half that speed is attainable when all 16 channels are in use.
With all of the crazy voltage levels now used in digital circuits, it's nice that Logic supports two voltage ranges: 1.8 to 3.6 V and 3.6 to 5V.
Capture data is streamed through short on-device buffers to the host computer, which can handle up to 1 TB of data given minimal transitions (the data is compressed). As a practical matter the software suggests that most host computers can handle up to about 1.8 GB. Like with all of these USB devices one must not overrun the USB connection, but I had no problems at all using a four-year old MacBook Pro with a 16 MHz acquisition rate.
A built-in protocol analyzer decodes CAN, DMX-512, I2C, I2S/PCM, Manchester, 1-Wire, async serial, simple clocked parallel, SPI, and UNI/O.
The Logic 16 comes in a stunning metal case with non-slip rubberized bottom. It's spare, like an iPhone. Beautiful. There are no controls, just connectors for the probes and USB, and one LED. It comes with a zip-up carrying case that is so elegant it could be a high-couture fashion accessory. And it will all fit nicely in a purse for those ad hoc debugging sessions that always seem to come up at wedding receptions and cocktail parties.
Unlike some USB LAs the Logic 16 does come with micro-grabbers for each of the channels and ground. Installation is straight-forward, but it does seem to want to install its own USB driver (on the PC). I turned to a Mac installation at that point, since my USB ports were busy handling other experiments.
It's easy to connect the probe wires, and it's just as easy to connect them incorrectly. Doesn't the black wire go to ground? Nope. The instructions are very clear about this. The ground wire is carefully labeled. Black is input 0, because, as is common on these small logic analyzers, the wire colors use the resistor color code to denote their bit position.
The unit comes with neither software nor manual. Cookies, though, are included with the suggestion that, after downloading the application from the company's web site, one should snack on them. A 23 page manual is on-line.
The residents of Ganssleville enjoyed the Chips Ahoy.
The display is very simple, stark almost, with nothing extraneous on the screen. The black background mirrors the inky black of the machined aluminum case. The ease of use is unmatched by any other USB logic analyzer I've tried. Navigation is breathtakingly fast and smooth.
Screen shot of the Logic 16's interface.
Some of these small LAs falter when uploading data to the host computer. It took about seven seconds to acquire and upload 100 million samples (of all 16 channels) gathered at a 16 MHz rate... which is exactly the time required to gather the data. The upload is seemingly instantaneous.
Trigger modes are limited. Any single channel can start the logic analyzer on an up- or down-going edge, and that can be combined with a logic one, zero, or don't-care on any combination of the other channels. There are no complex triggering modes, and it's not possible to trigger on just a simple binary pattern sans edge. The reasoning is that the Logic 16 can acquire such a vast amount of data that the event of interest will likely be captured. The company tells me they are working on enhancements to the trigger, as well as adding a search feature to the application.
Width, period, duty cycle and frequency measurements are displayed for the data at the mouse position. Two cursors show absolute time from the trigger event, plus the time between cursors. Interestingly, the delta time measurement also shows its accuracy in percent due to quantization from the acquisition rate.
The binary value of the data at the mouse cursor position is displayed; it can also show hex, decimal, etc. equivalents. But those are shown after the binary, and eat up a lot of screen space. I wish these additional radix displays were below the binary rather than adjacent to it.
Saleae has a community site where they make an SDK available. This means you could develop your own protocol analyzer. The source for all of their analyzers is there, providing a framework on which to base a custom version. I looked at the I2C module and found that there's not a lot of code required. The SDK found me longing for single analog channel as it would be so easy to make this a data logger, and analog is often more interesting to log than digital signals. But that would be a different instrument.
You can give the application itself a whirl, as it will go into a simulation mode if a Logic 16 isn't detected.
I generally prefer a dedicated bench instrument rather than a USB device, as the former's knobs are so much easier to manipulate when probing a board. But the Logic 16's UI is so intuitive, and so easy to manipulate, that it outshines the bench analyzers I've used.
Like all of these low-cost LAs the Logic 16 is not feature-rich. Its weakest point is the lack of triggering flexibility. But that aside, it does a good job of providing much of what a much more expensive bench analyzer will do. Too my knowledge it's the only such product that supports Windows, Linux and Mac. The price ($299) is right, it'll slip into a shirt pocket, and the engineering is something Steve Jobs would envy.