USB Oszilloskop “SainSmart DDS120” 2-Kanal 20MHz 50Msps (Buudai/Rocktech BM102)
Table of Contents
Für derzeit ca. 50€ (10.09.2014) bietet SainSmart ein 2-Kanal-USB-Oszilloskop mit 20MHz analoger Bandbreite bei max. 50Msps (Megasamples pro Sekunde) an. Baugleiche Modelle sind die “BM102” von Rocktech/Buudai.
Die technischen Daten lesen sich wie folgt:
Interface | USB 2.0 |
Kanäle | 2 |
Abgleichsignal | 1kHz, 3.25V Rechteck |
Bandbreite (analog) | 20MHZ |
maximale Samplingrate | 25Msps (1 Kanal), 50Msps (2 Kanäle) |
Auflösung (vertikal) | 8 bit |
Eingangsspannung | ±5v, ± 50v (1:10), ± 500v (1:100) |
Rauschen | ±25mv bei 500mv/div ±10mV bei 200mv/div ±8mV bei 100mv/div ±4mV bei 50mv/div |
Trigger coupling | AC AC-coupled, DC DC-coupled |
Triggering | Trigger level + rising / falling-edge trigger |
Trigger | Auto, Normal, Single Shot |
Eingangsimpedanz | 1M / 25pf |
Speichertiefe | 1K-2M |
Leistungsbedarf | < 2 W |
Gewicht | < 400g |
Automessung | Vmax, Vmin, Vpp, Vavg, Vrms, Frequenz Rise time, Tastverhältnis |
Abmessungen | 12 cm X 7.5cm X 2.5 cm |
Im Lieferumfang enthalten sind des Weiteren 2 Tastköpfe (1:1, 1:10, 60MHz – ohne Kompensation), ein USB-Kabel sowie Software auf CD-ROM. Letztere ist “schön” anzusehen, in der Umsetzung leider inkonsequent – es gibt zahlreiche Bugs und Unzulänglichkeiten.
Hardware
- Analog Devices AD9288BSTZ-40 (2-Kanal ADC)
- Cypress CY7C68013A FX2LP – EZ-USB 100 Pin (Controller/Interface)
- Microchip 24LC64 (8KByte I2C Serial EEPROM)
- Analog Devices AD8065 (Opamp)
- Texas Instruments CD4052B (2x 1:4 Multiplexer)
Software
SainSmart proklamiert “Open-Source Software Interface”, davon ist bislang wenig/nichts zu sehen. Das beigefügte “SDK” bzw. die Demoprogramme sind undokumentiert und fehlerhaft.
Hacking/Funktion/Sonstiges
Das Oszilloskop basiert auf dem EZ-USB FX2LP ” High-Speed USB Peripheral Controller”. Derzeit sind folgende Kontrollbefehle bekannt (ermittelt via USBPCAP + Wireshark):
Command | Code | Bitmaske | Kanal | Beschreibung |
---|---|---|---|---|
0x24 | 0x00 | 0000 0000 | 1 | AC-Kopplung |
0x24 | 0x08 | 0000 1000 | 1 | DC-Kopplung |
0x25 | 0x00 | 0000 0000 | 2 | AC-Kopplung |
0x25 | 0x01 | 0000 0001 | 2 | DC-Kopplung |
0x22 | 0x08 | 0000 1000 | 1 | 50mV/div -6dB Input +10dB Gain (x3.5) |
0x22 | 0x04 | 0000 0100 | 1 | 100mV/div -6dB Input +3.3dB Gain (x1.46) |
0x22 | 0x00 | 0000 0000 | 1 | 200mV/div -6dB Input -4.4dB Gain (x0.6) |
0x22 | 0x06 | 0000 0110 | 1 | 500mV/div -20dB Input +3.3dB Gain (x1.46) |
0x22 | 0x02 | 0000 0010 | 1 | 1-5V/div -20dB Input -4.4dB Gain (x0.6) |
0x23 | 0x20 | 0010 0000 | 2 | 50mV/div -6dB Input +10dB Gain (x3.5) |
0x23 | 0x10 | 0000 1010 | 2 | 100mV/div -6dB Input +3.3dB Gain (x1.46) |
0x23 | 0x00 | 0000 0000 | 2 | 200mV/div -6dB Input -4.4dB Gain (x0.6) |
0x23 | 0x12 | 0000 1100 | 2 | 500mV/div -20dB Input +3.3dB Gain (x1.46) |
0x23 | 0x02 | 0000 0010 | 2 | 1-5V/div -20dB Input -4.4dB Gain (x0.6) |
0x94 | 0x11 | 0001 0001 | 240kHz Samplerate | |
0x94 | 0x01 | 0000 0001 | 2.4MHz Samplerate | |
0x94 | 0x10 | 0001 0000 | 48/50MHz Samplerate | |
0x34 | 0x00 | 0000 0000 | Scope-Mode | |
0x34 | 0x01 | 0000 0001 | * | Logic-Analyzer-Mode |
0x62 | 0x00 | 0000 0000 | * | Signalgenerator (Rechteck) |
0x60 | 0x00 | 0000 0000 | * | Signalgenerator (Sinus) |
0x61 | 0x00 | 0000 0000 | * | Signalgenerator (Dreieck) |
0x33 | 0x00 | 0000 0000 | Datenabruf(Polling) |
Ein großes Problem liegt in der festen Polling-Zeit (100/200ms), mit welcher die Daten vom ADC abgefragt werden. Je nach Zeitbasis/Samplingrate ergeben sich verschieden große Datenpakete welche, logischerweise, verschiedene Transferzeiten haben. Ebenfalls ist das Oszilloskop während der Datenübertragung “blind”. In Konsequenz stürzt die Software über kurz oder lang ab. Diesen Sachverhalt zeigt nachfolgende Tabelle (getestet mit Rocktech Version 1.2):
Timebase | Samplerate | Requests pro Sekunde (rps) | Pakete pro Sekunde (pps) | Paketgröße (Bytes) |
---|---|---|---|---|
50ns-1us | 50MHz | 10 | 10 | 1024 |
4us | 2.4MHz | 10 | 10 | 2048 |
20us | 2.4MHz | 10 | 10 | 4096 |
200ns | 2.4MHz | 5 | 5 | 65536 |
500ns | 2.4MHz | 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 |
Wie man leicht sieht, werden bei Zeitbasen >= 10ms mehr Anfragen pro Sekunde gestellt als beantwortet werden können.
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.