Products > Test Equipment
SainSmart DDS120 & DDS140 USB Oscilloscope
<< < (23/84) > >>
ganzuul:
psynapse, I think the ring buffer you described is optimal.

As for squeezing more information through USB 2.0... The best scheme I have been able to come up with is to connect the two channels, interleaving them together and setting the gain so that information from the higher-quality side of the ADC pipeline is preferred. This just means that fewer bits are wasted as noise, rather than each bit representing more sampling information.

There doesn't seem to be enough gates running at 1 instruction per cycle, 16 bit wide, to allow for better processing gain.


Other than that, I'll probably start scraping together money for the new Rigol scope! Its price/performance really appeals to me.
psynapse:
Sorry for not replying sooner, a friend with problems came to stay.

Doctormord:
Thank you for the information.  That seems completely consistent with the idea that the FX2 simply takes 1 in N of the samples always made at 48Mhz and transfers those.

Ganzuul:
Which Rigol are you thinking about buying?

All:

I have only found a few minutes to experiment.  However I can confirm that the two bytes I identified in my earlier post are indeed those responsible for determining the sample rate.  I have changed 63h to 31h, changing the default sampling period from 200 cycles to 100 cycles (1+49+49+1).  The measured clock rate is now 480khz and wireshark shows that all the samples are presented to the PC.

The PC software does display the acquired data (very slowly) ,  but as Doctormord has already noted with the DDS120,  the acquired data arrives independently of the go commands and there is a growing backlog of data as time passes.

All this means that a small firmware modification will allow the DDS140 to function in the same way as the DDS120 when necessary, and with many timebases possible.

So now the question is generating some PC software that actually works.

I shall start looking at the DDS120 firmware now to see what zaps are possible to the timebase.
mmark:

--- Quote from: psynapse on October 25, 2014, 12:01:19 am ---Donut6

Both already installed ..... the dreaded path problem then. I will look in the morning, but thanks anyway

Doctormord

Thank You. Yes, I remember somebody had a problem, but had not remembered the .bin solution.  I followed your post in order to get the hex out of the DDS140 to start with.  Very glad I did!  And now you mention it I remember a hex to bin converter somewhere in the cypress software

All
Sorry, away from keyboard this weekend , it is our village fĂȘte this weekend

--- End quote ---

I was able to compile scope.cpp after installing libglu1-mesa-dev (in addition to libusb-1.0.0-dev and libwxgtk3.0-dev) on ubuntu 14.04...

Since I only have a DDS120, I am currently trying to get it to work with that. I added a test for 0x8102:0x8102 and it is found, but I am getting an assertion "../src/common/glcmn.cpp(59): assert "IsShownOnScreen()" failed in SetCurrent(): can't make hidden GL canvas current" when starting and no GUI elements are drawn. This is in a VM, I'll try on a real PC later tonight...

Mark
ganzuul:

--- Quote from: psynapse on October 31, 2014, 12:29:31 am ---Ganzuul:
Which Rigol are you thinking about buying?

***

All this means that a small firmware modification will allow the DDS140 to function in the same way as the DDS120 when necessary, and with many timebases possible.

So now the question is generating some PC software that actually works.
--- End quote ---
The cheapest one, the DS1054Z!  ^-^

Really glad to hear the DDS140 can function the same way. Have you been able to determine if the JTAG fuse is blown on the CPLD? If not, that's quite interesting. =)



--- Quote from: mmark on October 31, 2014, 01:49:07 am ---Since I only have a DDS120, I am currently trying to get it to work with that. I added a test for 0x8102:0x8102 and it is found, but I am getting an assertion "../src/common/glcmn.cpp(59): assert "IsShownOnScreen()" failed in SetCurrent(): can't make hidden GL canvas current" when starting and no GUI elements are drawn. This is in a VM, I'll try on a real PC later tonight...

Mark

--- End quote ---

Starting the scope with strace, such as '$ strace ./scope' gives a lot more information about what the program is doing. It sounds very likely to be an issue with OpenGL support in the VM though.
psynapse:
Ganzuul,

Not a JTAG expert. how do I determine if the fuse is blown and how do I get useful information.  I have a "bus pirate" which will do jtag, but what questions do I ask the CPLD (if the fuse is not blown).  And I have no idea (yet) on how to interpret the results !  Is there a "disassembler" that will give me a pseudo schematic representation of the way the logic is "wired"

Mmark,

Welcome aboard.  Yes I already have libglu1-mesa-dev installed, but no compile  :(  Are you 32 or 64 bit Ubuntu 14.04. I run both, Perhaps you would be so kind as to post the binary .... if nothing else it will highlight what other dependencies I am missing.
EDIT:  My mistake, I thought I had libusb installed, but had failed to install the dev.   Now, like you, I get

./src/common/glcmn.cpp(59): assert "IsShownOnScreen()" failed in SetCurrent(): can't make hidden GL canvas current

And this is on a machine as real as you can get

Navigation
Message Index
Next page
Previous page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod