Author Topic: DS1000E async serial decoder  (Read 4808 times)

0 Members and 1 Guest are viewing this topic.

Offline HarvsTopic starter

  • Super Contributor
  • ***
  • Posts: 1202
  • Country: au
DS1000E async serial decoder
« on: June 01, 2013, 08:07:26 am »
I’ve been starting to work on a hardware agnostic “mixed signal” PC software for analysing data from multiple scopes, logic analysers etc that are in some way time correlated (e.g. common trigger.)  Well that’s my plan anyway.  Along the way I’ve built this bit of software that was really just to test out a bunch of .NET’s built in controls and classes for this particular application.  I never actually built this for release, and it is a bit rough around the edges, but I figure as of current the 1000 series Rigol owners have nothing on that front, something’s better than nothing right? 

Anyway, if you want to have a play with it, don’t expect it to be polished as I’m now putting my time into building the proper version from the ground up with largely all custom controls. But that’ll take a while with the amount of time it needs.

Note: If you've got an older machine, it’s going to seriously struggle with a meg of samples thrown at it, try it on normal memory depth first.  That’s one of the reasons the MSchart control is unsuitable, it can bring a system to its knees pretty quickly with a lot of data. 

You’re also going to need NI VISA 5.3 (runtime should be fine I think, but all my machines I've tested on have the full install,) and .NET 4.5 that’s the minimum for that version of VISA.

So a quick run through:
On the initial screen drop down the list and select your instrument. Hit connect, and as long as the connection was successful and the response from a *IDN? Query shows it’s a DS1102E or DS1052E, it’ll go green.

Hit acquire and it’ll load in whatever is currently in its memory, the points captured box represents the number of points per channel that have been captured.  The X axis is in uS (yeah I know this looks crap, but I’m ditching the MSchart control for future.)


If you want to use the serial decoder, click on the D1 or D2 to bring up their setup.  Should be pretty obvious.


The offset buttons on the right just shift the channel up and down.  On large memory captures this is painfully slow due to the speed of removing and adding points to the chart control.
Hit decode at the top to run the decoders, the bottom bars show the words.  Blue is fine, red is a framing error, and purple is a parity error.  Zooming in and out is done with the mouse wheel over the chart.


The Open Data button for each of the decoders will bring up a list of all the data words found.  The box at the bottom is a search box, with the arrows being forward and backward from the currently selected item.  If you want to search for sequential words, put them in separated by commas or semi-colons. 



If you double click on a word, it’ll zoom and center the chart on that word. Clicking on a word on the decoder bars will add the vertical lines bounding what it thinks is the word.


And that folks is about all for now.  If you’ve got any thoughts for the real software build, feel free to post them and I’ll see if I can include them.  Also let me know what you're throughts on the Microsoft One-Click installer are, first time I've used it and it seems pretty painless for all concerned.
 

Offline Electro Fan

  • Super Contributor
  • ***
  • Posts: 3283
Re: DS1000E async serial decoder
« Reply #1 on: June 01, 2013, 11:21:27 pm »
I’ve been starting to work on a hardware agnostic “mixed signal” PC software for analysing data from multiple scopes, logic analysers etc that are in some way time correlated (e.g. common trigger.)  Well that’s my plan anyway. 

Harvs, that's a great project.  I believe you are headed in the right direction.

I don't know why the scope manufacturers don't move more aggressively to support mixed signal capabilities - either on their own or as an industry.  Seems like the LAs that come with scopes for under $2k are modest at best and it isn't clear that the MSOs in the $3-4k range provide LA functionality as good as the USB LAs that go for $500 or so.  But the good standalone USB LAs are slightly stranded in that there doesn't seem to be a good way to do what you are attempting, ie, correlate (with good timing precision) the analog and digital signals relative to one another.

I can't think of a bigger missed market opportunity for the scope manufacturers, but after researching and pinging away on this I'm starting to think I must be the one missing something about the test equipment market.  Seems like the world is headed toward a ton of digital signals riding on analog waves (both wired and RF). 

I believe it's partially a price point thing - I think the magic threshold that starts the latent market moving is about $2k (and it really gets flying as you approach $1k).  If you could put a strong LA in a Rigol 2072 class scope and keep the price under $2k, or better yet get to 4 channels and 100MHz with the a Rigol "2014" class product you would have a big winner.  The GW Instek 2000A series almost gets there but it seems like it didn't square away the "base case" sufficiently.  A mixed use scope needs to be perceived as really competing strongly on the fundamental DSO capabilities before the value-added capabilities of the LA make it a clear MSO winner.

Anyway, back to your project, my only suggestion for you would be to study the fairly entry level LA that came with the Rigol 1000D series (there are a couple good youtube videos), and maybe the LAs and overall MSO capabilities that come with the Agilent 2k/3k series and maybe the Tektronix 2k series.  I'd also study the Intronix LA and some of the other popular USB LAs.

If you can blend the functionality of a good LA into something that precisely correlates the analog signals from a scope there would seem to be good utility in that.  Having said this, I think there is a reason that physical scopes continue to persist even in the face of inexpensive and large high resolution computer monitors:  a lot of users (most users?) like turning knobs and pushing buttons for oscilloscope applications better than they like clicking and scrolling with a mouse when working in a bench environment testing circuits.  So I think the scope manufacturers could trump most of the LA manufacturers if they just figured out how to emulate (or improve upon) the functionality of the best USB LA providers - but at the rate the scope manufacturers are moving it seems like they are intent upon leaving the door open for PC-based LA manufactures and even PC-based scope manufacturers.  (Personally, I believe some combination of knobs and buttons and the mouse can co-exist for a while.)

One possible answer would be to see the test equipment industry move toward a more open architecture in which scope manufacturers would provide open/documented hardware slots and APIs etc so that LA manufacturers could provide hardware and software, and so software coders (like you) could add software.  (And with something resembling industry standard slots users could also add memory, memory, and more memory and we could be done with the memory issues.)  In this way test equipment manufacturers (both the majors and innovative smaller companies) and users could work together to advance functionality and ease of use.  This would give a lot of users what I think they want (knobs and buttons) plus powerful and flexible mixed use capabilities, and of course the option to use monitor-out interfaces so large screen PCs could be used by people who want to work from their computer.

The scope manufacturers have the know-how to lead from the front and win their share of the market but they need to quit worrying quite so much about building proprietary barriers to entry; they should be looking for ways to grow the market.  There are predictions of 50 billion or more connected devices coming by 2020.  There could be many more uses for scopes and derivatives.  From the time IBM opened up the PC architecture until the PC peaked (fairly recently) was about 30 years.  In 30 years there will be opportunities for the test equipment manufacturers to morph into new areas but if they don't get going it could start to feel like film cameras fighting off digital cameras and digital cameras fighting off mobile phones.

In any event, good luck and keep us posted on your progress - the world needs more and better MSO capabilities in one form or another!

EF

PS, sorry I didn't have more specific technical recommendations for you but I hope others here will jump in with questions and suggestions regarding your project - I just have to believe there are more people that would like to work in a mixed use environment if MSO price and feature sets made it more feasible.

PSS, if you haven't been following the work of Marmad you should check it out - he (and others in forums here) have been working hard to figure out how software can enhance already very good scopes with very cool functionality; not all of it will be applicable to your LA project but I think what happens when innovative users work on tapping into largely closed system architectures is that the systems start to open up in a way that is good for the users and the manufacturers.  The early users help the manufacturers find the market opportunities and the manufacturers can or will some times accelerate the early users' success.
« Last Edit: June 01, 2013, 11:37:16 pm by Electro Fan »
 

Offline HarvsTopic starter

  • Super Contributor
  • ***
  • Posts: 1202
  • Country: au
Re: DS1000E async serial decoder
« Reply #2 on: June 02, 2013, 12:52:16 am »
I think there is a reason that physical scopes continue to persist even in the face of inexpensive and large high resolution computer monitors:  a lot of users (most users?) like turning knobs and pushing buttons for oscilloscope applications better than they like clicking and scrolling with a mouse when working in a bench environment testing circuits. 

I'm totally with you there.  But there does become a size limit when debugging digital signals where having a desktop piece of software is a big help.  Anything requiring user keyboard input (like searching for arrays of bytes in a serial stream) is naturally easier on a PC.

But it's not my intention to try an build something that competes with MSOs.  As you've quite rightly pointed out, they can be very expensive for the home lab for what they are.  Being the owner of a DS1000 and DS2000 scope, I wanted something to make use of all 4 channels when debugging (that was the original intention.)  Adding on to that, USB LA's can be had very cheaply, so why not combine all those capabilities at the PC side?

For now I've got a pretty good idea of where this heading, so I'll crack on with it, and hopefully like any good open project, features can be added as it goes.
 

Offline Electro Fan

  • Super Contributor
  • ***
  • Posts: 3283
Re: DS1000E async serial decoder
« Reply #3 on: June 02, 2013, 04:24:49 am »
I really like your objectives and thinking.  It seems that there should be a lot that can be done just using the existing channels on scopes before getting to the additional channels with a USB LA.  No doubt, if you can add value to a 2 or 4 channel scope that's a great start and then if you can add further value by enhancing the integration of USB LAs that will be even stronger.

With respect to PCs, there are definitely synergies to be harnessed between conventional scope packaging and PCs - it doesn't need to be one or the other.

As for the keyboard, I think it can have a place alongside knobs and buttons - even on scope.  Just one example, when nice MSOs give you the ability to label 8 or 16 channels who would want to use VCR or TV-like user interface where you scroll over and down to find each letter rather than just attaching a keyboard and typing in the labels?  (Probably not too many people if they had the choice).  So even with a MSO you can make a case for using a keyboard and probably a mouse.  And without a doubt, a larger screen would enable a user to see more rows for tabular lists and more signals, and more screen width could provide a better view of the signals over time. 

Moving along the functionality path, while packaging and interfaces are good areas for enhanced usability the biggest opportunity is in the integration of the capturing, decoding, analysis, and review of the analog and digital signals - all with a goal of keeping the signals time aligned with one another.  To a significant degree these functions can be done reasonably well on $3k-10k MSOs and presumably the $10k-20k and up Logic Analyzers do a swell job but I just don't get why we can't do better for solutions under $2k.  If you can figure out how to add value through your software, especially while being proficient with managing the timing issues, I think you will find strong interest in your project.

If you take the Intronix LogicPort (my favorite so far in the under $500 US LA category), it supports both timing mode with an internal clock and state mode with an external clock.  Where it mostly commonly gets a ding is in the area of limited memory although Intronix and lots of their users would say that with their compression it's not a significant issue.  And if their LA could be well integrated with a PC that had lots of memory resources perhaps the memory concern could be further mitigated.  Where the Intronix and other USB LAs seem to hit a bit of a wall is in the area of synchronizing their digital channels with analog scope channels.  Supposedly, a user can trigger the LA from a scope's trigger output but there will still be a delay between the original signal and the scope's trigger output.  As a result the signals will not be precisely aligned between the scope display and the PC monitor.  And there are additional challenges in navigating and reviewing the signals.  If somehow these challenges could be solved (a tall order but maybe it's doable) you would be onto something valuable.

While the integration of a USB LA and a DSO appears difficult, it seems that solving all the timing issues in an integrated MSO is not a piece of cake either.  For example, I think all of the prominent midrange MSOs from Agilent (2000, 3000, or 4000 series) and Tektronix (2000 and I believe also the 4000 series) fall short of a high end logic analyzer when it comes to synchronous state acquisition.

Long story short, there appear to be some serious technical challenges.  Having said that, depending on how you look at things it might not be a problem, but rather it could be an opportunity.

I'm hoping your project will attract some more people with an interest in advancing the usability and affordability of mixed use solutions.

PS, I think .Net is very popular with half or more of the Fortune 500; combined with other frameworks and tools I think you can build an app to full enterprise scale with .Net.  I once worked with a strong solution developer who proclaimed that .Net was/is "infinitely extensible" and I've seen first hand how it can be developed, used, adjusted, and continuously modified as users provide feedback and as requirements evolved.  I'm not as sure how strong it will be for real-time signal management on a PC but I wouldn't doubt it can do some powerful stuff, especially with a creative and motivated software coder.  Rome wasn't built in a day - looking forward to seeing more of your roads and aqueducts :)
« Last Edit: June 02, 2013, 04:34:29 am by Electro Fan »
 

Offline Electro Fan

  • Super Contributor
  • ***
  • Posts: 3283
Re: DS1000E async serial decoder
« Reply #4 on: June 02, 2013, 04:47:11 am »
Quote
Test Equipment / Re: Simple Technique to measure Waveform Update Rates: DSOs w/either Edge Triggering
« on: May 23, 2013, 02:12:01 PM »

Quote from: marmad on May 23, 2013, 12:12:57 PM

Quote from: Harvs on May 23, 2013, 11:44:16 AM

How should it get affected?  I don't understand, I thought a trigger out just has an edge that corresponds to "time zero" on the scope?  How does that change with long memory depth?
The maximum number of triggers a scope can output at any given point is the inverse of the acquisition cycle time. The acquisition cycle time includes the acquisition time - which, as I wrote in my last post to you, is always the longer of either (time base * divs) OR (sample length / sample rate). With long memory depths, it's almost always the latter - so the waveforms per second (and the number of trigger out pulses) would then decrease.  Now please don't make me write this again 

Edit: BTW, almost EVERYTHING you can do on a DSO affects the wfrm/s rate (and thus the Trigger out): persistence, measurements, extra channels, having a menu out, etc. because they change the variable blind time (i.e. the DSO is doing more processing).

Oh, he was referring to the "values" of the waveforms per second!  hehehe, I thought he was coming up with some other totally left field test where by the memory depth will change the inherent behavior of the trigger output system.

Seriously I need more coffee...

And no Marmad, you actually didn't ever need to state that, it's perfectly apparent in my mind  .  What's not apparent to me is exactly how many samples the DS1000 takes at any given setting.  I use to think it was always 2^14 (16k) / number of channels when on normal memory depth, regardless of the timebase setting (i.e. the timebase setting just changed the sample rate and "zoom" of the display).  But this discussion has made me wonder if my assumptions were wrong.  However, when I get the chance I'll do some raw dumps over USB and see what I get out.

Harvs, in looking through your threads (very interesting and impressive), it looks like you and Marmad already know each other.  Cool!
 

Offline HarvsTopic starter

  • Super Contributor
  • ***
  • Posts: 1202
  • Country: au
Re: DS1000E async serial decoder
« Reply #5 on: June 03, 2013, 11:58:59 am »
it looks like you and Marmad already know each other.  Cool!

Yeah between Marmad's utilities and a few others on here, like Mech's GolTeck, I felt it was time to have a go myself...

I'm interested though as to why this isn't of more interest to DS1000 owner's though?  I know there's a lot of these scopes out there, and I thought serial decoding would have been a useful addition?  Maybe not?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf