Difference between revisions of "SainSmart DDS120"
Uwe Hermann (talk | contribs) (SainSmart DDS120 is supported.) |
Uwe Hermann (talk | contribs) (More info.) |
||
Line 2: | Line 2: | ||
The [http://www.sainsmart.com/sainsmart-dds-120-20m-50m-s-virtual-oscilloscope-silver.html SainSmart DDS120] is a USB-based, 2-channel oscilloscope with an analog bandwidth of 20MS/s and 48MS/s sampling rate. | The [http://www.sainsmart.com/sainsmart-dds-120-20m-50m-s-virtual-oscilloscope-silver.html SainSmart DDS120] is a USB-based, 2-channel oscilloscope with an analog bandwidth of 20MS/s and 48MS/s sampling rate. | ||
This device appears to be a rebadge of the [[Rocktech BM102]] (or vice versa). The [[SainSmart DDS120/Info|lsusb]] is exactly the same, the PCB is exactly the same (both have a "656517" and "102LJT1402" silkscreen), and the components used appear to be the same as well. | |||
The device was apparently [https://translate.google.de/translate?sl=auto&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=https%3A%2F%2Fweb.archive.org%2Fweb%2F20140520231246%2Fhttp%3A%2F%2Fbbs.21ic.com%2Ficview-350047-1-1.html&edit-text=&act=url created by someone named "buudai"] in 2012 (also reflected in the [[SainSmart DDS120/Info|lsusb]] and in the former [https://web.archive.org/web/20130403082149/http://www.buudai.com/ buudai.com] website). | |||
See [[SainSmart DDS120/Info]] for more details (such as '''lsusb -v''' output) about the device. | See [[SainSmart DDS120/Info]] for more details (such as '''lsusb -v''' output) about the device. | ||
Line 48: | Line 52: | ||
File:Saintsmart dds120 pcb top.jpg|<small>PCB, top</small> | File:Saintsmart dds120 pcb top.jpg|<small>PCB, top</small> | ||
File:Saintsmart dds120 pcb bottom.jpg|<small>PCB, bottom</small> | File:Saintsmart dds120 pcb bottom.jpg|<small>PCB, bottom</small> | ||
File:Saintsmart dds120 mxt2088.jpg|<small>MXT2088</small> | File:Saintsmart dds120 mxt2088.jpg|<small>MXTronix MXT2088</small> | ||
File:Saintsmart dds120 fx2.jpg|<small>Cypress FX2</small> | File:Saintsmart dds120 fx2.jpg|<small>Cypress FX2</small> | ||
File:Saintsmart dds120 microchip 24lc64i.jpg|<small>Microchip 24LC64I</small> | File:Saintsmart dds120 microchip 24lc64i.jpg|<small>Microchip 24LC64I</small> | ||
File:Saintsmart dds120 ti cd4052bm.jpg|<small>TI CD4052BM</small> | File:Saintsmart dds120 ti cd4052bm.jpg|<small>TI CD4052BM</small> | ||
File:Saintsmart dds120 ams1117-3.3.jpg|<small>AMS1117</small> | File:Saintsmart dds120 ams1117-3.3.jpg|<small>AMS1117-3.3</small> | ||
File:Saintsmart dds120 nais 210eh 347.jpg|<small> | File:Saintsmart dds120 nais 210eh 347.jpg|<small>Unknown IC</small> | ||
</gallery> | </gallery> | ||
Revision as of 20:01, 1 November 2016
The SainSmart DDS120 is a USB-based, 2-channel oscilloscope with an analog bandwidth of 20MS/s and 48MS/s sampling rate.
This device appears to be a rebadge of the Rocktech BM102 (or vice versa). The lsusb is exactly the same, the PCB is exactly the same (both have a "656517" and "102LJT1402" silkscreen), and the components used appear to be the same as well.
The device was apparently created by someone named "buudai" in 2012 (also reflected in the lsusb and in the former buudai.com website).
See SainSmart DDS120/Info for more details (such as lsusb -v output) about the device.
Hardware
- USB: Cypress CY7C68013A-100AXC (FX2LP) (datasheet)
- 64-kbyte I²C EEPROM: Microchip 24LC64I (datasheet)
- Crystal: 24MHz
- 145 MHz FastFET Opamps: AD8065ART-R2: (datasheet)
Or in newer hardware:
- Dual 8bit, 100MSPS ADC: MXTronix MXT2088 (datasheet)
- 145 MHz FastFET Opamps: AD8065: (datasheet)
- 4x CMOS differential 4-channel analog mux/demux with logic-level conversion: Texas Instruments CD4052B(M) (datasheet)
Photos
Teardown 1:
Teardown 2 (purchased 03/2016):
Protocol
The vendor firmware uses the following protocol:
Oscilloscope command | bRequest value | Notes |
---|---|---|
Set CH0 coupling | 0x24 | Possible values: 0x00, 0x08 (AC-coupling, DC-coupling). |
Set CH1 coupling | 0x25 | Possible values: 0x20, 0x10 (AC-coupling, DC-coupling). |
Set CH0 voltage range | 0x22 | Possible values: 0x08, 0x04, 0x00, 0x06, 0x02 (50mV, 100mV, 200mV, 500mV, 1-5V). |
Set CH1 voltage range | 0x23 | Possible values: 0x20, 0x10, 0x00, 0x12, 0x02 (50mV, 100mV, 200mV, 500mV, 1-5V). |
Set sampling rate | 0x94 | Possible values: 0x11, 0x01, 0x10 (240kHz, 2.4MHz, 48MHz). |
Trigger oscilloscope | 0x33 | Possible values: 0x00 == start sampling. |
Firmware
Vendor firmware
The SainSmart vendor firmware is contained on the I²C EEPROM. The FX2 boots directly into that firmware.
Open-source firmware
There is an open-source firmware that can be used by sigrok. The open source firmware is missing the following planned features:
- <1MHz, 2, 3, 5, 6, 7.5, 9.6, 10, 15, 24, 30 MHz sampling rate support
- Turn on/off the calibration pulse
- Change frequency of the calibration pulse (add 10kHz, 100kHz and 1MHz)
Gain stage
The gain stage is 2 stage approach. -6dB and -20dB on the first stage (attentuator). The second stage is then doing the gain by 3 different resistor values switched into the feedback loop. The following does not correlate with measure on real hardware, there is a 6th gain position that is working though. It is very similar to another gain and was most likely omitted because of that.
# Channel 0: PC1=1; PC2=0; PC3= 0 -> Gain x0.1 = -20dB -> 0x02 (1V) PC1=1; PC2=0; PC3= 1 -> Gain x0.2 = -14dB -> 0x0A (0.5V) PC1=1; PC2=1; PC3= 0 -> Gain x0.4 = -8dB -> 0x06 (0.250V) PC1=0; PC2=0; PC3= 0 -> Gain x0.5 = -6dB -> 0x00 (0.200V) PC1=0; PC2=0; PC3= 1 -> Gain x1 = 0dB -> 0x08 (0.100V) PC1=0; PC2=1; PC3= 0 -> Gain x2 = +6dB -> 0x04 (0.050V) # Channel 1: PE1=1; PC4=0; PC5= 0 -> Gain x0.1 = -20dB -> 0x02 (1V) PE1=1; PC4=0; PC5= 1 -> Gain x0.2 = -14dB -> 0x22 (0.5V) PE1=1; PC4=1; PC5= 0 -> Gain x0.4 = -8dB -> 0x12 (0.250V) PE1=0; PC4=0; PC5= 0 -> Gain x0.5 = -6dB -> 0x00 (0.200V) PE1=0; PC4=0; PC5= 1 -> Gain x1 = 0dB -> 0x20 (0.100V) PE1=0; PC4=1; PC5= 0 -> Gain x2 = +6dB -> 0x10 (0.050V)
AC/DC coupling
The coupling is controlled via 2 PhotoMOS chips.
# Channel 0: PE3=0 Disable AC-coupling capacitor (DC-Coupling) PE3=1 Enable AC-coupling capacitor # Channel 1: PE0=0 Disable AC-coupling capacitor (DC-Coupling) PE0=1 Enable AC-coupling capacitor
1kHz calibration square wave
Pin PE2 controls the frequency of the calibration output on the PCB. It is driven by an ISR timer from the 8051 core of the FX2 chip.