For novel ideas about building embedded systems (both hardware and firmware), join the 40,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 Zeroplus's LAP-F1 Full-Featured Logic Analyzer
October, 2017
Zeroplus, a Taiwanese provider of Logic Analyzers (which I abbreviate as LA) and similar tools, sent me their flagship LAP-F1-64 LA for review. (I've also reviewed their much less expensive LAP-C.)
The LAP-F1 comes in a variety of models with different memory depths and numbers of channels, and with different optional probes. This is a high-end, full featured unit which carries a correspondingly heavy price tag.
Here's a short summary of the features:
- Max internal clock sampling rate: 1 GHz
- Max external clock sampling rate: 200 MHz
- Channels: up to 64
- Memory depth per channel: up to 64 Mb
The unit is in a heavy-duty aluminum box. It connects to a PC over USB 3.0.
It comes with a 156 page manual which is barely able to cover the huge wealth of features. A lot of instruments from the East have English manuals that are sub-par; the LAP-F1's is not bad. Occasionally the English is fractured and, more rarely, a feature's description borders on incomprehensible.
It came with a cornucopia of probes. The low-speed (120 MHz) probes handles two signals each. The also-provided faster (200 MHz) probes that take one signal each.
But these are not the simple wires you'll get with most LAs. The end of each of these 30 cm white cables goes into a PCB; from there 50 mm leads go to the unit under test. The PCB is shrink-wrapped to protect it, but I cut one open and found that each signal is routed through a number of resistors and capacitors, plus an IC, presumably forming an impedance-matching network. Given the unit's ability to sample really fast signals, this is a big improvement over "probes" that are just wires. (For more on probes in general, see this.)
Update: Turns out a variety of cable lengths are available - up to 250 cm! Few logic analyzers can support such a long cable, but the LAP-F1 can because of the impedance-matching network in the picture above.
The application appears to get updated fairly often. I didn't like it that if an update is needed, when you start the application it appears to hang. Turns out the updater is in control, but winds up hidden behind other windows you may have open. And the download (a quarter gigabyte .zip file), presumably from a server in Taiwan, is moderately slow.
The unit is powered by a wall wart, and there's no power switch. A while back I put a power strip on my bench within easy reach; each outlet has its own switch, so this was no impediment for me.
Signal threshold voltage is programmable. Each of the 4 ports (16 signals/port) can have a separate level, adjustable with an astonishing 10 mV resolution.
Everything in the GUI is configurable, such as window colors (I didn't care for some of the defaults so changed those), hotkeys, toolbars, etc.
General screen layout. The bottom window is a god's-eye view of the entire set of captured data. The circular control on the bottom right provides quick access to a number of commonly-used functions; I preferred using the menus. Above it is the trigger position, above that is the acquisition rate knob, for when using the internal clock. The desired number of sample is above that.
Normally, an application's Save As function is boring and predictable. With the LAP-F1, though, the Save As and Export features have endless options. You can select how the exported data is formatted, which channels to export (by many different parameters), all or only changed data, ranges of data exported, details of decoded protocols, and more. I have never seen so many options available. I use a utility called SnagIt to capture screen shots; the LAP-F1 application has a built-in screen capture that will snag any portion of the entire desktop, though I suspect most people will only save a portion of the logic analyzers screen.
Like most LAs, one can add or delete channels and busses to the display. What is somewhat unique, though, is that when adding a bus one can select another input signal to be a chip select, and specify which, or both, edge to activate on. The bus signals are latched when the chip select meets the activation condition. Sure, one could set a trigger to do this, but by using a separate chip selects one could latch multiple busses using different activation conditions.
The LA includes protocol converters, of course. Most do, even inexpensive models. But... I have never seen so many converters and don't even know what most of them are. The manual claims over 120 are included. There are 14 just for digital audio. Eleven for memory interfaces. Half a dozen for power management. And many have lots of options. Here's an example for I2C:
Some of the "protocols" are quite unique. Under the general rubric "Basic Logic Application" you can combine LA inputs into logic "circuits." For example, a "protocol" could be inputs driving a JK flip flop. Or a binary adder, multiplier, or any of a number of other virtual components. Here are the setup windows for an adder:
That's pretty cool.
I did find that sometimes the times were displayed with an inappropriate number of digits, to the point where one number runs into the next. No doubt that will get fixed in a future software release:
The LA supports the usual triggering modes, plus some that are rarely, if ever, found on other logic analyzers. One that was interesting was a trigger that is armed after a pattern on the inputs is detected, but that triggers only after that detection plus a settable amount of time goes by. Another arms the trigger when, for example, a signal's rising edge is detected, but the trigger only takes place if a certain pulse width (min or max) is exceeded.
All LAs allow one to set a pattern to specify the trigger condition. Some allow multiple patterns which must occur in some order. The LAP-F1 supports multiple patterns, and it nicely draws a diagram as you add new trigger conditions:
Here's the interesting thing: The LAP-F1 supports a ton of sequential conditions, each of which must be satisfied before the trigger occurs. How many? I got tired of adding conditions after 50. The manual indicates the unit can handle 256 conditions. That's an incredible capability.
Six of the supplied protocols can cause a trigger (I2C, I2S, SPI, SVID, UART, CAN2.0B). The trigger setup screens build a picture of the triggering condition as you enter information. In the following picture, see how the Preview shows an address of 0x44, as I entered in the dialog box, and data of 0x5:
Like web browsers, the LAP-F1's application has tabs for multiple windows. Click on the "+" button and another tab is added:
The tabbed windows are called "files", and each "file" displays the acquired data. So, you could acquire a set of data, and then go to another "file" and get more data. The usual window arrangement tools are there to allow one to look at "files" in isolation or tiled vertically or horizontally. A nice feature is that each "file" can have its own LA setup parameters. File A may have one set of triggers, and maybe signals arranged as busses, while file B uses different triggers and signal displays. Switching between files reconfigures the LA. And, uniquely, the there is a "file" comparison feature that shows the diffs between acquired signals.
Working with a display? The LAP-F1 will show the digital data sent to the display graphically (for ten different display protocols). I didn't try this feature, but this is a picture from the user manual:
Just as a scope can mathematically combine two signals, the LAP-F1 can combine acquired signals or busses by adding, subtracting, multiplying or dividing them. Or, one can combine them using Boolean operators.
If the LAP's memory depth isn't sufficient, there's an optional Long Time Record function that shoots the data into your PC's disk. The manual warns that a pretty decent PC is needed. It appears to me that there are limits to this; you probably can't record all 64 channels at a 200 MHz rate for long. But this is a useful feature for hunting really elusive bugs. Searching in the disk-based data is supported.
In the interest of brevity I won't go into much about navigating in the acquired data. Suffice to say that all of the usual nav tools are there, including some less common, like detailed (and very customizable) statistics about the data. Navigation is fast and intuitive. Sophisticated searching is supported.
The UI is pretty intuitive, but I had to refer to the manual from time to time. Partly this is because there are so many features available, and partly it's because one menu screen will seem incomplete until a selection is made, and then another screen appears with more options. I got used to the UI quickly but, unusually for me, read the entire manual while playing with the features.
The logic analyzer and the Windows application are very fast. The more complex the signals, the longer the upload, so the unit is clearly compressing the data. I suspect that with 64 channels monitoring complex signals you'd have to wait at least a number of seconds for an upload, but didn't test this.
The last few years have seen an explosion of very inexpensive logic analyzers, many in the few-hundred dollar range. The LAP-F1 is not one of these; this is an instrument with every possible feature. The price ranges from $2500 to $5500 depending on the memory depth and number of channels. The optional Long Time Record feature bumps that up by $2000.
This is an extremely versatile logic analyzer which has a ton of useful features, some of which I have not seen on any other instrument. Impressive.