USB "SainSmart DDS120" 2-channel oscilloscope 20 MHz 50Msps (Buudai/Rocktech BM102)
Table of Contents
For approximately € 50 (10.09.2014) SainSmart offers a 2-channel USB oscilloscope with 20 MHz of analogue bandwidth and maximum 50Msps (mega samples per second). Identical models are the "BM102" by Rocktech/Buudai.
The technical data read as follows:
Interface | USB 2.0 |
Channels | 2 |
Calibration signal | 1 kHz, 3.25V rectangle |
Bandwidth (analog) | 20 MHZ |
maximum samplerate | 25Msps (1 channel), 50Msps (2 channels) |
Resolution (vertical) | 8 bit |
Input voltage | ±5V, ± 50v (1:10), ± 500v (1:100) |
Noise | ±25mv 500mv/div ±10mV 200mv/div ±8mV 100 mV/div ±4mV at 50mv/div |
Trigger coupling | AC AC-coupled, DC DC-coupled |
Triggering | Trigger level rising / falling edge trigger |
Trigger | Auto, normal, single shot |
Input impedance | 1M / 25pf |
Memory depth | 1K-2M |
Power requirement | < 2 W |
Weight | < 400 g |
Auto measurement | Vmax, Vmin, VPP, Vavg, Vrms, frequency Rise time, pulse duty factor |
Dimensions | 12 cm X 7.5cm X 2.5 cm |
In addition 2 probes (1:1, 1:10, 60 MHz - without compensation), a USB cable and software on CD are included. The latter is "nice" to look at in the implementation unfortunately inconsistently - there are numerous bugs and shortcomings.
Hardware
- Analog devices AD9288BSTZ-40 (2-channel ADC)
- Cypress CY7C68013A FX2LP - EZ-USB 100 pin (Controller/interface)
- Microchip 24LC64 (8KByte I2C serial EEPROM)
- Analog devices AD8065 (OPAMP)
- Texas Instruments CD4052B (2 x 1:4 MUX)
Software
SainSmart proclaims "Open-Source Software Interface", of which little/nothing is yet to see. The attached "SDK" or the demo programs are undocumented and flawed.
Hacking/function/other
The oscilloscope is based on the EZ-USB FX2LP "hi speed USB peripheral controller". Currently, the following control commands are known (determined via USBPCAP Wireshark):
Command | Code | Bit mask | Channel | Description |
---|---|---|---|---|
0x 24 | 0x 00 | 0000 0000 | 1 | AC-Coupling |
0x 24 | 0x 08 | 0000 1000 | 1 | DC-Coupling |
0x 25 | 0x 00 | 0000 0000 | 2 | AC-Coupling |
0x 25 | 0x 01 | 0000 0001 | 2 | DC-Coupling |
0x 22 | 0x 08 | 0000 1000 | 1 | 50mV/div -6dB input 10dB gain (x 3.5) |
0x 22 | 0x 04 | 0000 0100 | 1 | 100 mV/div -6dB input 3.3dB gain (x 1.46) |
0x 22 | 0x 00 | 0000 0000 | 1 | 200mV/div -6dB input -4.4dB gain (x 0.6) |
0x 22 | 0x 06 | 0000 0110 | 1 | 500mV/div -20dB input 3.3dB gain (x 1.46) |
0x 22 | 0x 02 | 0000 0010 | 1 | 1-5V/div -20dB input -4.4dB gain (x 0.6) |
0x 23 | 0x 20 | 0010 0000 | 2 | 50mV/div -6dB input 10dB gain (x 3.5) |
0x 23 | 0x 10 | 0000 1010 | 2 | 100 mV/div -6dB input 3.3dB gain (x 1.46) |
0x 23 | 0x 00 | 0000 0000 | 2 | 200mV/div -6dB input -4.4dB gain (x 0.6) |
0x 23 | 0x 12 | 0000 1100 | 2 | 500mV/div -20dB input 3.3dB gain (x 1.46) |
0x 23 | 0x 02 | 0000 0010 | 2 | 1-5V/div -20dB input -4.4dB gain (x 0.6) |
0x 94 | 0x 11 | 0001 0001 | 240kHz sample rate | |
0x 94 | 0x 01 | 0000 0001 | 2.4 MHz sample rate | |
0x 94 | 0x 10 | 0001 0000 | 48 / 50 MHz sample rate | |
0x 34 | 0x 00 | 0000 0000 | Scope mode | |
0x 34 | 0x 01 | 0000 0001 | * | Logic Analyzer mode |
0x 62 | 0x 00 | 0000 0000 | * | Signalgenerator (Rectangle) |
0x 60 | 0x 00 | 0000 0000 | * | Signalgenerator (Sine) |
0x 61 | 0x 00 | 0000 0000 | * | Signalgenerator (Triangle) |
0x 33 | 0x 00 | 0000 0000 | Datenabruf(polling) |
A major problem lies in the fixed polling period (100/200ms), with which the data is queried from the ADC. Depending on the timebase/sample rate different sized packages of data arise which, logically, have different transfer times. Also, the oscilloscope is "blind" during the data transfer. In consequence, the software crashes sooner or later. The following table shows these facts (tested with Rocktech version 1.2):
Time base | Sample rate | Requests per second (rps) | Packets per second (pps) | Packet size (bytes) |
---|---|---|---|---|
50ns-1us | 50 MHz | 10 | 10 | 1024 |
4us | 2.4 MHz | 10 | 10 | 2048 |
20US | 2.4 MHz | 10 | 10 | 4096 |
200ns | 2.4 MHz | 5 | 5 | 65536 |
500ns | 2.4 MHz | 5 | 5 | 65536 |
1ms-5ms | 240kHz | 5 | 5 | 65536 |
10ms | 240kHz | 5 | 3.7 | 131072 |
20ms | 240kHz | 5 | 1.85 | 262144 |
100ms | 240kHz | 5 | 0.91 | 524288 |
200ms | 240kHz | 5 | 0.459 | 1048576 |
As you can easily see, be in time bases > = 10ms provided than can be answered more requests per second.
AGML battery charger
TBC.
can i get recorded waveform of dds120 (.dds120)
I don’t have any data left, but there should be data available at EEV-Blog-Forum.