For novel ideas about building embedded systems (both hardware and firmware), join the 35,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.
Episode 15: Review of the Logic Pro Logic Analyzer
|June 1, 2015|
(Go to the complete list of videos)
I'll present my Better Firmware Faster seminar in Melbourne, Australia February 20. All are invited. More info here.
Hi, I'm Jack Ganssle and welcome to the Embedded Muse video blog which is a companion to my free Embedded Muse E-newsletter. Today we're going to do a short look at Saleae's new Logic Pro 8, which is an 8-channel logic analyzer. Unusually each of those channels can also measure analog voltages rather than like in a oscilloscope. There are a lot of these USB-based instruments out there, and Saleae's offerings are pretty typical. But first you have to look at the size of this thing. It's unbelievable. It could literally live in the proverbial pocket protectors we engineers are so famous for. But first, let's be clear. While it can measure analog channels, it really isn't an oscilloscope. An oscilloscope provides so many different functionalities so you need to be aware of this.
Oscilloscopes are very different from logic analyzers in that they're constantly sampling. As long as there's a trigger, they're sampling. So if I show the sine wave on my scope and I change the input frequency coming from a signal generator, I don't have to press any buttons to reacquire or anything. It's acquiring constantly as long as the trigger condition is met. On the Logic Pro, or any logic analyzer, acquisition starts when you press the start button and then when a trigger event comes along. And then the acquisition stops when the buffer fills up. An oscilloscope is a little bit different. It's acquiring all the time and as a result, when you turn this trigger knob, you can see at different trigger levels as the sine wave shifts back and forth a little bit.
That's not to denigrate the Logic Pro. It's an incredibly useful tool and it will let you see the mixed signal types of events where you're looking at how analog and digital channels react at the same time. It's just not going to replace your oscilloscope.
It really is a beautiful thing in a machined aluminum case with the wires connected as shown. It even comes with a carrying case and unlike a lot of the USB instruments, it does include all the grabber clips that are required in order to actually probe signals. The unit is rated at 500 million samples per second in digital mode with a 50 MHz analog bandwidth for looking at analog signals and you can get these with 8 channels or with 16 channels. The one I'm looking at today has 8 channels.
The data sheet says that the thing can sample at 500 million samples per second which is true but it does depend upon how many channels you have enabled like, I think every one of the little USB analyzers that I've looked at. The more channels that are on, the lower the sample rate. And unfortunately the algorithm seems to be arcane; it's difficult to tease out. But Saleae does a great job on their website of providing a tool that you can use in order to see what your results will be. So for example here, you just tell what channels are going to be enabled, and which ones won't be. But if I turn everything off, and say just have one channel turned on up there, sure enough down here, 500 million samples per second. As I increase the number of channels, the sample rate then goes down.
So there must be doing some kind of multiplexing or something inside the unit.
The company provides UIs for Windows boxes of course but also for Linux and even Macintoshes. So it seems sort of appropriate to try this very tiny logic analyzer with a tiny MacBook Air. So here's my test setup. Over here is my HP signal generator. I'm feeding in one analog signal into the Logic Pro. The Logic Pro itself is hooked up to a MacBook Air. Here's the Logic Pro. I've also got it connected to this cool, little Freescale eval board. I've written a program on that board which cycles the various GPIO bits over and over and those are being fed in as digital inputs.
The first thing to notice is I'm powering a logic port from the USB port on the MacBook Air but it's going through this cool, little PortPilot device which actually measures what the current consumption is. As you can see, it's only pulling about 316 milli-amps at the moment which is a pretty remarkable number. In my testing, I found that after three hours of running on the MacBook Air's battery, the battery level only went down by about a third. So you could actually run this for quite a while. That could be a really portable development lab. I could even see setting up a development lab on an airplane's tray table.
But they'll probably bust you for being a terrorist.
Here's the user interface that comes with the device. You can see it's very spare, clean and very easy to navigate around. If you want to configure the channels, you just press this button and set the channels to be either digital or analog or even both if you wish. Here I've set everything to be digital except channel four which is also measuring analog signals. To start an acquisition, you just press start, and voila! Here we can see it. We see the number of channels of digital information. Here's at channel four which is analog. Nice sine wave coming from the signal generator and of course another digital channel. If you want to zoom in or out, it's just pressing the arrow keys. You can see it's extremely fast and responsive. It's easy to set cursors. Just click on the cursor buttons and then drag these things out on to the screen. I can setup two cursors. There you can see the usual delta information and all the rest of the data that you're used to any other logic analyzer.
Scrolling around is very, very fast. Much faster than I found on most of these other little USB logic analyzers.
You can set up trigger conditions on the digital channel only. You can't set triggers on the analog. By selecting this little icon here next to each channel, as you can see you can set rising, falling edges, you can even set pulse width. So in other words, it has to be a pulse that's either greater than or less than some number and you can see these can be some pretty enormous numbers or pretty tiny at the same time.
The user interface is quite fast and extremely intuitive. I like it a lot. The Logic Pro also comes with Protocol Analyzers which of course is pretty common nowadays and the provided ones at this point include usual serial RS232, I2C, and SPI. Others are apparently coming and what's really nice is that they make an SDK available. So you can actually develop your own custom protocol analyzer.
Other features I like are the +/- 10 volt input range for the analog and a 12 bit A/D converter which is more than you get with most.
This is not cheap. It's $479 for the 8-bit version and $599 for the 16 input version so it's expensive compared to some of the other offerings. But this is a very well constructed unit. The hardware works perfectly and the UI is excellent.
So there you have it, a quick review of Saleae's Logic Pro. As we do from time to time, I'm going to give this unit away to some lucky winner of this month's contest which ends on June 30, 2015. So go to the website to enter. If you've missed the contest, go to the website anyway because we're always giving away tools that are useful for embedded developers. Thanks for watching and don't forget to check out the website for more than a thousand articles about better ways of building embedded systems.