Review: Saleae Logic16 Logic Analyzer
My newest toy is a sixteen channel Saleae logic analyzer:
The Saleae Logic16 is one of the very few cross platform logic analyzers available, with application software that runs under Linux, Windows, and on the Mac.
Below you will find my first impressions, if you would like to know something more specific then ask in the comments or have a look at the Saleae homepage.
It works with logic levels between 1.8V and 5V, you either select 1.8V to 3.6V or 3.6 to 5.0V from the menu. The lower voltage settings should work in most circumstances. The 5V setting is provided to reduce the likelihood of channel to channel crosstalk when using 5V signals.
The inputs are protected against overvoltage (high DC impedance, low-capacitance diode clamps) and a resettable fuse protects the USB ground return line.
It can sample 2 channels at 100MHz, 4 channels at 50MHz, 8 channels at 25MHz or all 16 channels at 12.5MHz and can record up to 10 billion samples.
The aluminum case looks high-end and the carrying case is really nice and handy.
I haven’t opened the device and don’t know what’s inside, I would guess some kind of FPGA but that’s all I can tell at the moment. (Update: a very nice review on YouTube: https://www.youtube.com/watch?v=5yZ-2rxwRmU)
The software is cross platform and works on Linux, Windows, & Mac. There is also an SDK available for writing your own analyzer plugins in c++ and a device API, which provides low-level access to the logic analyzer.
- Supported Protocols: asynchronous serial, I2C, SPI, CAN, 1-Wire, UNI/O, I2S/PCM, MP Mode 9-bit Serial (i.e. Multidrop and Multiprocessor mod), Manchester, DMX-512, Parallel, JTAG*, LIN*, Atmel SWI*, MDIO*, BiSS C*, PS/2 Keyboard/Mouse*, HDLC*, HMDI CEC*, and USB 1.1*. (* currently in beta)
- Measure pulse wide and period and calculate frequency
- Measurement cursors
- Export data in different formats
Generally a logic analyzer has the advantage (compared to using another micro controller, what I’ve done until now), that you can not only see the decoded data, but also the timings and that you can analyze unspecified protocols. A logic analyzer has also mush more channels than an oscilloscope and can capture a large amount of digital data.
Recently I bought some cheap FT232RL USB to TTL serial adapters from eBay that work with 3.3V and 5V logic levels.
After adding a serial decoder and specifying which channel should be decoded I can see the decoded characters right above the signal:
To test this I’ve used the maximum possible baudrate of 921600 in CuteCom and just sent Test\r\n:
If you look exactly at the screenshoot of the logic analyzer you will also notice that I’ve selected the trigger for a falling edge, so that the capturing starts with the first character.
I’ve used the opportunity and updated the following blog posts and added some screenshoots from the logic analyzer:
And I have still to
- find the reason why the J-Link makes problems together with the iMX233-SJTAG Debugging the iMX233-OLinuXino via SJTAG with OpenOCD
- finish the initialization of the audio codec on the Bones iMX233 Audio Development Board Porting Linux to a new board
The Saleae Logic16 is a device that just works. The software does what it should, it isn’t cluttered and has some nifty features but it is a great pity that it isn’t open source.
- It looks like the GUI uses still old Qt 3 libraries (just like Eagle and Xilinx).
- The GUI hangs on start during device initialization, why not do it in the background?
- And of course I would cut capors if the software would be open source.
It will surely speed up my future work ^^
What logic analyzer do you use and does it work on Linux too? Do you have some cool photos of your work? Just leave a comment below or post a link.