Products > Test Equipment
SainSmart DDS120 & DDS140 USB Oscilloscope
psynapse:
doctormord;
When you say "software", do you mean the firmware modifications to give external trigger and variable timebase? Yes, I can do, but will need to identify some addresses in the DDS120 firmware. On the DDS140, the process was pretty straightforward:- patch the page zero interrupt table to give access to an ISR for INT 5. Revector two commands (I used 41h and 42h) to my own code, which is only 30 lines of assembler. On the PC based software, I can certainly try, but I have no way of verifying if I have got it right. I have still to implement recording data to file and replaying from file as well, so it will be in a couple of weeks I guess (I am really not that good on C++).
All,
At this moment I have tested the variable (and continuous) time base to just 4msps (per channel), beyond this something strange seems to happen, though I am not sure that this is not just a problem of using the scope for the test signal as well. External trigger works too, simply a 74LVC14 tied to the INT5 pin and a 7 line interrupt service routine (3 lines of which are nop for port timing!) ... but progress on the QT based code is slow. It really isnt my strong area. I would like to thread the code, especially the data acquisition/writing to file and would also like to get an effective way to check the status of the FIFO .... at the moment it is a spin loop and it should be based around a real time initiated event. Oh and find out how to make the code properly portable (I know, build static instances of the libraries etc etc, but this is all new to me). Help most welcome.
doctormord:
When you say "software", do you mean the firmware modifications to give external trigger and variable timebase? Yes, I can do, but will need to identify some addresses in the DDS120 firmware.
Yes, basic implementation of the standard stuff would be enough to start with.
I stumbled about 2 things lastly. First, the original software has a scale bug (at least) in stop-mode. So resizing the window back and forth would result in wrong voltage marks.
Secondly, i wondered, what would happen if you measure some signals, AC coupled up to the limit and pull/reattach the scope. (I.E. 40V DC with 4V AC) While AC-coupled, theres no problem, but the control lines for the two optoswitches are initialised at startup/power connect.
bobi_dunkel:
Hi everybody.
I have stumbled on this thread in May, only a few posts. 5 days ago went through my favorites
and happy to see 14 pages of posts :). Reading it sinceā¦
What to say, great job, really great job.
I have DD120 and if you need some help please let me know.
I can be some beta tester because my knowledge of eeprom and programing is really limited. Personally bought this scope for automotive sensor testing.
And it is doing a great job. The only thing lacking in original software is longer time base. (60sec or even longer 5 min)
So I have downloaded Ledioskope (a.k.a OpenHantek for DD120). It is working really well.
The problem is when I select longer time base. It shifts the display to the left. If i select 5min the wave becomes one red dot in left corner.
What am I doing wrong?
Please see the attached pics.
psynapse:
It's a whole week since I said something .... not like me ;)
As forewarned, I have been struggling with Qt (and still am). However at the alpha level of development I have now got the things I want, in particular continuous sampling. Using my "patch the wavetable" technique on the DDS140 I can get up to 8Msps per channel and record these indefinitely without data loss. The only problem is that I cannot get libusb to multiple buffer convincingly, once it has filled the capture buffer, there is data loss. So, when recording traces, I use malloc to dynamically grab the necessary chunk of memory, pass this to libusb and wait for the return. This has three limitations
1) the amount of memory grabbed is finite and variable, but (eg) grabbing "just" 100 megabytes for a 1Msps trace does give you a long sample time
2) you get no trace whilst recording
3) at slower sample speeds, threading and asynchronous use of libusb with small buffers might open the possibility for infinitely long recordings and visualisation ..... but at this stage this would be another learning "event" for me ... and maybe there are others who are more skilled.
As it is I record the grabbed waveforms and store them as raw WAV files, which lots of programmes can read and manipulate. As it happens, this is pretty easy because with the right header you can just append the data to a file straight from the USB read.
Doctormord:
At one stage I was using a triangle waveform to test for data loss (it is really easy to see onscreen). What I also noted was the serious non linearity on the ramp, so perhaps a good way of calibrating against those nasty 4063's.
Failsafe on the AC/DC switches, good question. Even if the firmware initialises correctly, is the hardware design such that the startup state of the FX2 "outputs" correct to select AC mode. And of course if you unplug the scope, the whole thing is floating with respect to the PC.... until you replug it :-[
bobi_dunkel
Two problems, I cannot find ledioskope ... zero hits on google is pretty rare these days. Could you provide a link if possible please.
I have the dds140, and this is not a simple hardware "upgrade" of the dds120. But I will have a look
doctormord:
Ledioskope is within this thread.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version