Are USB logic analysers typically single-shot only?! - Page 1
Forum section: electronics / testgear

author: rs20
author_rank: Super Contributor
timestamp: October 26, 2015, 12:26:26 am
content: I'm in the market for a USB LA, and I was reading areviewon the Saleae Logic Pro 8, and one thing that was mentioned was that it does not have continuous triggering. If this means what I think it means, this absolutely blows my mind. I had been completely taking for granted that I could grab just about any LA on the market, hook it up to my SPI accelerometer dev board (for example), trigger on the CS# line, and watch the waveforms and decoded data change/morph* on screen as I twist and turn the accelerometer, just like I can with my Rigol DS2202 oscilloscope (albeit with insufficient channels). Have I misunderstood, or is that reallynota reasonable expectation for any LA?* in that typical oscilloscope way

author: KL27x
author_rank: Super Contributor
timestamp: October 26, 2015, 12:41:37 am
content: QuoteMind = blown.

author: dadler
author_rank: Unknown
timestamp: October 26, 2015, 12:41:53 am
content: The Saleae products are not real-time. They bulk stream raw data over USB for search/post-processing. Collect data, then decode/search through it.

author: helius
author_rank: Super Contributor
timestamp: October 26, 2015, 12:50:59 am
content: Logic analyzers are used for data capture and analysis. I can't imagine what value an "auto-run" would ever have.

author: retrolefty
author_rank: Super Contributor
timestamp: October 26, 2015, 01:00:45 am
content: Quote from: rs20 on October 26, 2015, 12:26:26 amHum that could be quite the feature I guess, if one can read and decode visual logic levels in USB real-time?

author: rs20
author_rank: Super Contributor
timestamp: October 26, 2015, 01:04:55 am
content: Quote from: helius on October 26, 2015, 12:50:59 amApart from the accelerometer example I just stated in the OP? Go on, how do I figure out which of the 3 axes is which without having the screen live updating while I move the accelerometer around?Another contrived example, you're fiddling with a trimmer on the mixed analog/digital board until the SPI stream from the ADC reads a particular target value? Hey, with a bunch of coding the uC on said board could offer an actual calibration feature, but what if that's not ready yet? Also, flexing the board and looking for glitches live?I'm debugging an issue at the moment where the interrupt pin is not operating as I expect on my accelerometer. With my 4 channels on the oscilloscope, I can just re-upload my code as I experiment with different register settings, and the updated waveforms appear live on screen. I partially want this LA to give me more than 4 channels, but as soon as I get the LA, I have to whack the single-shot button repeatedly? Why?I mean, I think of a logic analyzer as a 1-bit, 16-channel oscilloscope. I find it bizarre to suggest that this slight change in specs suddenly renders auto-run pointless. Is there a third kind of device that fills my usecases?

author: Bassman59
author_rank: Super Contributor
timestamp: October 26, 2015, 01:06:58 am
content: Quote from: helius on October 26, 2015, 12:50:59 amHP logic analyzers have had auto-run forever. I mean, the 1630s had it, and that stuff is early 80s.By "auto-run," I think what he means is, "at a trigger condition, display everything and re-arm the trigger." It's really no different from a 'scope triggering in Normal mode but not in one-shot. Also the trigger condition could be don't-care ('scope auto-trigger), but that isn't very useful.

author: dadler
author_rank: Unknown
timestamp: October 26, 2015, 01:22:14 am
content: Quote from: rs20 on October 26, 2015, 01:04:55 amSounds like a mixed signal scope is what you want.

author: rs20
author_rank: Super Contributor
timestamp: October 26, 2015, 02:14:16 am
content: Quote from: dadler on October 26, 2015, 01:22:14 amMmmm, that's a big honking standalone device that is awkward to use in combination with a computer. What really perplexes me about this is that, as described by Bassman59, all I'm asking for is that the software just re-arms the trigger continually. That is but 10 lines of code on the software. Can someone confirm that that is actually, honestly not implemented in the Saleae software, despite the clearly valuable usecases I've contrived? I'm absolutely stunned.

author: Psi
author_rank: Super Contributor
timestamp: October 26, 2015, 02:19:57 am
content: Saleae have had live view on their to do list for a while.Also note that the Saleae cannot trigger on any data. It can only trigger on edges.

author: KL27x
author_rank: Super Contributor
timestamp: October 26, 2015, 02:22:48 am
content: First responder, here, and I guess I could have added more detail.Yes, you have it right. No the Logic does not have an auto-trigger feature. And even if you scripted something in to "press a button", it wouldn't do anything close to what you are asking.1. You are manually selecting a number of samples that are collected after each trigger. So it would not repeat/refresh on the next trigger, it would continue to collect data until the manually selected sample size has been reached. Then your scripted button press would finally reset the trigger.2. Triggering is very basic on this device. It triggers on a preset hi/lo of the number of signals you are monitoring. It doesn't trigger off of sequences. So autotrigger might show you nothing but gibberish, anyway.3. While the new data is being captured, you will be looking at a white loading screen that is obscuring your last 0.1 Hz "refresh."4. Each time you capture data, it reverts to a default time base. So you won't be able to "zoom" in/out or scroll left/right to the data you are interested in seeing "refreshed."The upside to a USB logic analyzer is the # samples is huge. In your example of figuring out which axis is which, you could record for 30 seconds while you fiddle with it. Scrolling through the data, after, to figure out which direction is up. Or, you can hook up your oscope and LA at the same time.Anyhow, I don't see how you are going to see much on a scope, either. Even if you got a clean triggers, wouldn't you just see randomly changing binary digits, looking like a solid VDD and VSS with a bunch of vertical bars between each bit, on all axes, while you are messing with the accelerometer in the slightest? If your accelerometer has an analog output, yeah, you could see it on a scope. You won't see that on a LA.

author: helius
author_rank: Super Contributor
timestamp: October 26, 2015, 02:24:43 am
content: When all you want to do is click the arm button, it's time to reach for a macro recorder.That being said, you're going to have more dead time in a device that loads capture data over USB. Whether that will be responsive enough for what you want I do not know.

author: dadler
author_rank: Unknown
timestamp: October 26, 2015, 02:30:21 am
content: Quote from: rs20 on October 26, 2015, 02:14:16 amDownload the Saleae software and try it in demo mode. You'll immediately discover that it doesn't work the way you hope. You capture by bringing up a capture dialog that waits for an edge trigger, and then it starts capturing bulk data (and lots of it) until you close the dialog. It doesn't work like an oscilloscope. If you want to collect more data, you close the current capture and open a new capture dialog. It's not a live device, but rather like a DAQ.

author: rs20
author_rank: Super Contributor
timestamp: October 26, 2015, 02:37:40 am
content: Fair point, I should have tried downloading and playing with the software first before claiming that it was that easy. Nevertheless, it is self-evident that the hardware is perfectly suited to the vision I described, it's just that the software has a completely different architecture to what I was expecting. And that's frustrating.I'll also check to see if the SDK allows for the writing of a custom program that just gets presented with a firehose of data (as opposed to an SDK that only allows different post-treatments of data)... if I can script the "live" functionality that I want, I might be happy with that. I.e., if I can tell the API, "I want you to wait for a trigger event, and give me 100ms either side of that trigger event back to me as raw data", then I can just call that function over and over again.

author: dadler
author_rank: Unknown
timestamp: October 26, 2015, 02:56:50 am
content: Quote from: rs20 on October 26, 2015, 02:37:40 amI've never used the socket API (just the analyzer API, personally), but there may be code here that can accomplish something similar to what you want:https://github.com/saleae/SaleaeSocketApiYou may have to do visualization yourself though.

author: Electro Fan
author_rank: Super Contributor
timestamp: October 26, 2015, 04:32:58 am
content: You should download the Intronix LogicPort software and give it a try. It has a demo mode. It does SPI, I2C, RS232, and some others.http://www.pctestinstruments.com/I think it has what you are looking for - just don't know if the memory depth will meet your needs.Below is a view of the some of the UI. The first image shows the menu toward the top left of the screen - notice the icons just below Help.In the second image are three particular icons from the second row of the menu that are below Help. In this second image is a green arrow called Single Acquisition. The green arrow with the box running through it/around it is called Recurring Acquisition. The gray box is called Halt. I think you are looking for theRecurring Acquisitionfunction. You can let Recurring Acquisition run, hit Halt, turn Recurring Acquisition back on, etc. - and you can also set a bunch of trigger conditions for edges, patterns, and more (including data values) under Setup / Trigger (Setup). Some of this might be more useful for parallel than serial but I'm pretty sure you will see that what Intronix calls Recurring Acquisition is along the lines of what you are describing.

author: nctnico
author_rank: Super Contributor
timestamp: October 26, 2015, 09:02:33 am
content: Quote from: rs20 on October 26, 2015, 12:26:26 amIn general a logic analyser does not show realtime data that and if it does, it will be very slow. To see data change in realtime you need an oscillscope (with or without digital channels). This can be handy to do a quick check to see which bits change and get a feel for the values.

author: rs20
author_rank: Super Contributor
timestamp: October 26, 2015, 10:09:54 am
content: Quote from: dadler on October 26, 2015, 02:56:50 amThanks, I had a deeper look at that; and it looks like it would do the trick. However, on balance, I find myself leaning towards a Picoscope 3000 series MSO -- the MSO functionality only costs an addition US$250, and it has proper streaming APIs and protocol decoding etc etc... but it is very expensive. Decisions, decisions...Thanks again for your input everyone.

author: nctnico
author_rank: Super Contributor
timestamp: October 26, 2015, 10:11:47 am
content: Why not get a (used) MSO which works?

author: rs20
author_rank: Super Contributor
timestamp: October 26, 2015, 10:58:24 am
content: Quote from: nctnico on October 26, 2015, 10:11:47 amBecause I think the PC connectivity is important for a logic analyzer (heck, the 24" screen for all those digital signals and a mouse with a scroll wheel blow away a standalone unit immediately, before all of the extra analysis options are considered); because bench space is limited here, and because I have other projects in mind which call for a PC-connected 100MHz 4-channel DAC. Nevertheless, thanks for the suggestion -- it's worth a look, maybe I can find a really cheap "throwaway" MSO that'll tide me over in the mean time.

author: nowlan
author_rank: Frequent Contributor
timestamp: October 26, 2015, 01:07:03 pm
content: I would just be pumping out the read values to a serial port, and display on pc. If you just want to see which values are being sent to and from a device. I know it doesnt answer your original question. Is how i debugged my embedded system without owning an oscilloscope at school.

author: alank2
author_rank: Super Contributor
timestamp: October 26, 2015, 01:46:34 pm
content: I used to think continuous triggering would be important, but for me its only relevancy is seeing what the current state of a signal is, high, low, or transitioning. The benefit continuous triggering has is when viewing repeating signals. Most of my logic analyzer work has not been repeating signals, or there is no benefit to continuous triggering on the signals even if they were repeating.

author: rs20
author_rank: Super Contributor
timestamp: October 26, 2015, 01:49:27 pm
content: Quote from: nowlan on October 26, 2015, 01:07:03 pmYeah, in my current case I'm using an Arduino (first mistake) and I'm using the USART peripheral in SPI mode to do the SPI in question (the dedicated SPI port is busy doing yet other things*). So I haven't got a UART spare at all!* Yes, I know about #CS; I have my reasons

author: Thomas
author_rank: Regular Contributor
timestamp: October 26, 2015, 02:09:32 pm
content: I have the Intronix LogicPort and can confirm that Recurring Acquisition will do what you describe here.I have used it many times, and find it useful for seeing if the data changes etc.It's not quite as responsive as an oscilloscope, but still useful. Around 10 frames per second I guess.

author: tszaboo
author_rank: Super Contributor
timestamp: October 26, 2015, 04:23:12 pm
content: Well, because most things sold as logic analyzers are are just an USB controllers nowadays. I really dont like the Salllee (impossible to write it down) LAs because they are useless with a 10 dollar hardware and a whiny companyThankfully I got a real USB LA at work, I choose it, and never regret it. It is made by Techtools. So what it does is real time data compression, so if the data doesnt change it will not use memory. Also the memory is in megabits not kilobits. The speed is reasonable for those probes, you get 200 Mhz on 9 channels, 100 on 18. And you can set voltage levels and trigger for data. They have some FPGA magic in it, without it, your tool is just an USB GPIO extender.So seriously, as always, dont cheap out, buy a decent tool if you really need it. But chosing that, there will not be a bunch of Arduino people telling you that their LA's colors match with their Macbook.

author: Bassman59
author_rank: Super Contributor
timestamp: October 26, 2015, 08:45:35 pm
content: Quote from: rs20 on October 26, 2015, 10:58:24 amLook for a used HP 1660. Seriously.

author: Electro Fan
author_rank: Super Contributor
timestamp: October 27, 2015, 07:07:43 am
content: The vintage units have a nostalgic appeal and probably have some decent utility if they are working A-OK.If you would like a HP 1660 or other HP models there are about half a buzillion various units, modules, and parts out there:http://www.ebay.com/itm/HP-Agilent-1660A-Logic-Analyzer-Analysis-System-/301273126207?hash=item462547153f:m:mL8lpU3YGVxHHSSOCxoLuswhttp://www.ebay.com/itm/HP-16500B-Logic-Analysis-System-with-16550A-Module-Working-/301538848432?hash=item46351daeb0:g:ZgMAAOSweW5U6Sdnhttp://www.ebay.com/sch/i.html?_from=R40&_trksid=p2047675.m570.l1313.TR0.TRC0.H0.Xhp+16500+logic.TRS0&_nkw=hp+16500+logic&_sacat=0Pretty nice if you are into toggle switches and mechanical counters:http://www.ebay.com/itm/HP-1607A-Logic-State-Analyzer-with-10230C-clock-probe-cables-manual-/151638870841?hash=item234e618b39:m:mpNtXQy6DqWZtnJhx7WReCQ

author: Dubbie
author_rank: Unknown
timestamp: October 27, 2015, 09:52:45 am
content: Or you could just solve your problem with a spare gpio or three. Just set them high when whatever axis is > threshold. It seems like you need to think outside the box a little here.Sent from my phone using Tapatalk

author: rs20
author_rank: Super Contributor
timestamp: October 27, 2015, 10:31:25 am
content: Quote from: Dubbie on October 27, 2015, 09:52:45 amI want a tool to effectively solve current and future problems, not a hack to get me past the next little hurdle. I recently bought a drill press and I massively regret the time I wasted carefully lining up hand-held drills in the time before I got the drill press; by analogy I want to understand the best tools for the job and the responses on this thread have been wonderfully helpful to this end.Also, that was just an example of the utility of auto-run; I can already see live SPI feeds on my Rigol DS2202 logic decoding feature. The real problem prompting this thread was another one where I'd like to see at least 5 lines at once.Thirdly, the bug I found that way was that the endianness of the bytes from the ADXL345 were not what I expected, which would have been difficult to debug with a simple threshold! It's all very well to suggest ways of achieving a goal under the assumption that everything is working fine; but the tools that revealunexpectedproblems are the best.

author: BloodyCactus
author_rank: Frequent Contributor
timestamp: October 27, 2015, 02:06:18 pm
content: the newer stand alone LA's are pc's with keyboard + mouse. like the Agilent 1683. hook up external monitor if you want 24". its windows xp.they also do state analysis + transitional timing and triggering which all these usb things dont do. they just dump X megabytes of data over usb to the pc to analyse.

author: Electro Fan
author_rank: Super Contributor
timestamp: October 27, 2015, 03:55:47 pm
content: Quote from: rs20 on October 27, 2015, 10:31:25 amI think you're headed down a good path. Frame the requirements considering what you know so far, what you currently need, and what you think you will need, then ask questions, get comments, revise and refine your requirements, wash, rinse, dry, repeat until ready. You are getting lots of good thoughts here - combined with your questions and comments, at the end of the day you will likely have the best sense of what you need. Per your example, it's no doubt gratifying to know that as much time as you spent drilling holes manually now you can happily automate the process. Without having experienced the single shot approach and without doing your homework it would be hard to be in the position to appreciate your drill press. Having said all that, I've found that sometimes I think I understand where I'm headed but I wind up somewhere else because I didn't understand what I didn't understand - fortunately there are often enough patient and persistent EEVers here to straighten me out.Part of the beauty of EEVblog is that after you finally select your solution and you tell us what you learned others will gain some insight from your journey.

author: Electro Fan
author_rank: Super Contributor
timestamp: October 27, 2015, 04:02:10 pm
content: Quote from: BloodyCactus on October 27, 2015, 02:06:18 pmThe 1683 may do some very good stuff the Intronix LogicPort doesn't do (and the LogicPort's memory might or might not be sufficient) but the LogicPort does state analysis, and transitional sampling (and triggering)- just sayin'---http://www.pctestinstruments.com/logicport/faqs.htmHow many full-speed channels does the LogicPort support?The LogicPort will simultaneously sample all 34 channels with full buffer depth at 500MHz in timing mode, 200MHz in state mode. This is in direct contrast with competing products which sample at full speed on only a fraction of their available channels, or with only a fraction of their marketed buffer depth.When sampling in state-mode, one channel is used as a state-clock input allowing the remaining 33 channels to be sampled at the state-clock rate.What is the benefit of real-time sample compression?Real-time sample compression or "transitional sampling" allows the LogicPort to utilize its sample buffer much more efficiently. The data is first sampled, then compressed in real-time using a lossless compression algorithm, then written to the sample buffer. The sampled data remains compressed until the software expands it back to its uncompressed form for display.This entire process is transparent to the user and has zero impact on measurement accuracy, yet allows the LogicPort to pack much more data into its sample buffer. Compression is particularly effective for high-resolution capture of high-speed bursts separated by long periods of low or slow signal activity. That's because during periods when signals have little activity, the LogicPort can continue to sample at high speeds without filling its sample buffer with thousands of copies of identical data. Only meaningful data is stored in the buffer - memory addresses are not incremented simply to mark time.The degree of compression varies depending upon the nature of the data, but typically ranges from significant to dramatic. Our proprietary compression algorithm insures that the LogicPort's compression feature never imposes a performance penalty, regardless of signal activity or speed. As a result, the LogicPort enjoys a significant advantage over traditional transitional sampling systems which simply assign half of all available memory locations as storage for time stamps (thereby reducing the effective buffer depth by half for very active signals). To see the LogicPort's sample compression in action take a look at the screenshots, or download the free software and explore the sample projects which are included. As you'll see, it’s not uncommon to collect many times the size of the sample buffer.http://www.pctestinstruments.com/logicport/specifications.htmSampled channels: 34Timing mode sample rate: 1KHz to 500MHz (uses internal clock)State modesample rate: 0 to 200MHz (clock provided by circuit under test)Sample buffer: 34 x 2048 samplesMaximum sample compression: 2^33 to 1 (sample rates to 200MHz)Trigger sequencer: 250MHz max, 4ns minimum pulse widthTrigger capability:Edges - Rising, Falling, Either (multiple channels, any combination)Patterns - True, False, Entered, Exited (across any / all channels)Bus Value - Equal, Not Equal, Less Than, Greater Than, In Range, Not in RangeOccurrence Count - Range of 1 to 1,048,576 Consecutive or CumulativeDuration - Equal, Less Than, Greater Than, Within Range (samples or time)---Having said all that, if you can get one of these or a similar model (this is a 1663 rather than a 1683) it looks like a deal:http://www.ebay.com/itm/HP-Agilent-1663A-Logic-Analyzer-with-accessories-/321884393529?hash=item4af1ce1039%3Ag%3A9JMAAOSw4HVWEaLm&nma=true&si=EMI%252B7m1hl%252FlGFOe5Ntx01RCRabI%253D&orig_cvip=true&rt=nc&_trksid=p2047675.l2557