EEVblog Electronics Community Forum

Products => Test Equipment => Topic started by: HendriXML on April 08, 2019, 01:50:14 am

Title: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 08, 2019, 01:50:14 am
Hi,

I was trying to do some measurements using the dc-output of the SAG1021.

First I did a manual zeroing using a Fluke MM. (Also using the amp setting to have low imp. to check if that made any difference).

However my SDS1104X-E keeps measuring a 15 mV offset on all channels. Even with a direct BNC cable and 50 ohm terminator.

I got the idea that the non ground lead of the AWG leaks current trough the ground lead of the DSO (not using a terminator). And it does!! Its 1,5mA (while the AWG output is measured 0 V with the MM). When measuring the current trough the ground lead of the AWG it is 0 mA.

So I measured the voltage difference between those leads and it is 85,9 mV.

I guess because the AWG is powered by the DSO both circuit are not completely seperate, which results in this influence. But is it just me or is this kind of buggy?

Should it be possible to power the AWG from a normal USB adapter and have only the datalines to and from the DSO? Stripping 1 cm in the middle of a USB cable and disconnecting / injecting the power should be OK? Or am I missing something?

Title: Re: SDS1104X-E and SAG1021 unwanted DC offset
Post by: tautech on April 08, 2019, 02:19:33 am
For the record can we have the current firmware versions in use ?
TIA
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset
Post by: HendriXML on April 08, 2019, 02:30:42 am
For me it’s getting a bit late. I’ll come back to it.

I measured the current between the 2 grounds and that is 36mA. So my guess is that the USB cable is dropping the voltage. This voltage is then also lost between the AWG and the DSO.

I’ve checked it, the difference between the grounds is indeed 85mV.

More investigation will follow!
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset
Post by: tautech on April 08, 2019, 02:55:34 am
BTW, new SAG1021 not long arrived have a bigger beefy USB cable, nearly 2x dia of the USB cable that comes with the scope............maybe Siglent changed the USB cable.  :-//
Sorry I don't remember what came with the SAG1021 when I beta tested SDS1104X-E.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset
Post by: HendriXML on April 08, 2019, 10:25:48 am
BTW, new SAG1021 not long arrived have a bigger beefy USB cable, nearly 2x dia of the USB cable that comes with the scope............maybe Siglent changed the USB cable.  :-//
Sorry I don't remember what came with the SAG1021 when I beta tested SDS1104X-E.
I’ve tried several USB cables, all drop more than 70 mV. In that regard the BNC cable between the AWG and the DSO gives a much lower resistence, explaining the around 15mV drop. (Checked that)
With a beeeeefy power cable between the BNC ground terminals it went to 0,5 mV. (One could use the trigger out for that, but then an extra scope input is in use)

But the right way - I guess - would be to not have the USB power GND and signal GND to share the same wire. And thus using an external and floating USB powerline.

That brings us back to the questions regarding that. Is it ok to solve it that way?
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset
Post by: tautech on April 08, 2019, 10:47:11 am
I’ll take some pics of the new USB cable in the morning and do some measurements.

I’ll also check latest SAG units for FW # against the early SAG unit I have.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset
Post by: HendriXML on April 08, 2019, 10:55:25 am
When I look at the wire USB layout, I see a GND which is seperate from the mantle.

In the DSO they’re tied together. In the AWG I measure about 1M ohm!

So the mantle is not used as a transfer of the “BNC ground”!

That seem very odd to me. There’s a way to seperate the wires, and they don’t use it. What makes it worst that the mantle is of lower resistance and it is not used.

I know one doesn’t want ground loops, but those GND’s will be connected when doing measurements. And now there’se a 70 mV (or 15 mV) voltage difference which affect the AWG output, but also all DSO measurements.

Maybe someone knows a valid reason for this design?
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset
Post by: HendriXML on April 08, 2019, 11:03:38 am
I’ll take some pics of the new USB cable in the morning and do some measurements.

I’ll also check latest SAG units for FW # against the early SAG unit I have.

The beefy part of the cable is prop the mantle, which is not used. Also my short power cable of I think 16 AWG (rated 32 Amp) still has a drop. Having car jumper cables between the devices is not the most elegant solution  :D.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset
Post by: HendriXML on April 08, 2019, 12:06:57 pm
Making a power injector like this is prop. the best solution. But will it work? We know now the GND power line needs to be connected to the DSO, but can the positive one be sourced from a USB adapter without any side effects?
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset
Post by: HendriXML on April 08, 2019, 01:10:54 pm
I’ll take some pics of the new USB cable in the morning and do some measurements.

I’ll also check latest SAG units for FW # against the early SAG unit I have.

Thanks for looking into it! I found another cable, it dropped 37 mV, but that won’t stop the current flow between the probe shields.

Having the AWG usb powered is what is the real issue. I went medieval on a usb B cable and got only the connector. So one step closer to injecting the juice via another way. However I think it also needs a powersource which has for example no capacitance coupling to mains. In the Netherlands one of the mainswire is earths ground. So to my understanding if not taking precautions this might also affect the neg/gnd rail of the DSO/AWG.

So any suggestions from the more experienced would be great! What would be a good external usb power supply in this case?
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 08, 2019, 08:27:52 pm
I ruined another perfectly good USB cable in the name of science. It came with my PicoScope. It was the one with the lowest drop. The cable says 24 Awg (data) and 20 awg power, having opened it and exposed its veins and soldering my own power wires to them I can asure it was good quality  :-+ :-+
So I ended with a Frankenstein cable, which even heat shrinks could not make less ugly, but functional it is.

I used my bench power supply to bring the AWG to life. Then I plugged it into the DSO. It got recognized normally. With output turned on it draws about 366 mA from the power supply.

The measured voltage drop at the scoop was still there, but lower: 7,2 mV. This when there’s a connection. Unconnected it went from 37 mV (good cable) to 14 mV.

So one might think my reasoning was wrong. But that’s not entirely true, there is still a shared wire (or trace) in the AWG. If one measures the GND voltage between what comes in the AWG and what comes out. That where the 14 mV is lost. This looks like wrong design to me. Why not split as soon as possible, there’s a metal case which could bring gnd from back to front  :palm:

The moral of the story is also it does not matter how fat the USB cable will be, those 14 mV are lost any way. And it is probably due to 365mA (thus 0.038 ohm), so not easily “short circuited”.

But shorting the gnd’s of the BNC connectors seems the only way to get it down to less than 0,5 mV.

I think a new Frankenstein project is about to arise. 2 T splitters and some jumper wire will do just fine.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: tautech on April 08, 2019, 10:27:53 pm
My results with very recent ex-factory SAG1021.

SAG FW version:
(https://www.eevblog.com/forum/testgear/sds1104x-e-and-sag1021-unwanted-dc-offset/?action=dlattach;attach=699972)


Full SAG1021 hardware package with scope USB cable on right for reference

(https://www.eevblog.com/forum/testgear/sds1104x-e-and-sag1021-unwanted-dc-offset/?action=dlattach;attach=699978)

Measurements. (using pre-release SDS1104X-E SN#0012)
SAG1021 connected with supplied USB cable only.
Measurement between scope BNC (shells) and SAG1021 output BNC; 86mV (AWG OFF) ~50% more with AWG ON.

With supplied BNC cable attached between SAG1021 BNC and scope ch4: 8mV
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 08, 2019, 11:04:27 pm
Thanks for your efford! I’ve got the same firmware and hardware version.

I made the short circuit cable. I used 2x leads of loudspeaker wire of 2,5mm2 if I remember correctly. In those days copper was still affordable.  :-+

The drop with a normal usb cable is 2.8 mV total. Between the connectors (wire site) its 0,2 mV. So the BNC connections drops 2.6 mV. That is a lot, but it is seems not be copper and not very thick/hollow. I used a lot of tin, and the copper wire penetrates one side of the T join some few mm. (I drilled out the centerpost off course  ;D) So that cannot be optimized much further. Repositioning the MM probe on the BNC connectors shows an increase or decease of voltage. That is quite funny to experience.

It also shows that those connectors are not made for “high currents”.

With my special cable the total drop is 1,3 mV (0,1 mV wire sites)

I measured the total drop between the unused BNC connectors. So I think you would endup with a bit more using that approach. But not if you used the scope off course.

1,3 mV is - I think - doable, but it is at the cost of having a more complex setup.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 08, 2019, 11:10:22 pm
SAG1021 connected with supplied USB cable only. Measurement between scope BNC (shells) and SAG1021 output BNC; 86mV (AWG OFF) ~50% more with AWG ON.
With supplied BNC cable attached between SAG1021 BNC and scope ch4: 8mV
I think you incidentally uploaded one picture twice. So the measurement cannot be seen.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 08, 2019, 11:22:03 pm

Full SAG1021 hardware package with scope USB cable on right for reference

I do not recognize the cable, there is only a small possibility that I’ve not taken the supplied cable in use. So It is probably an upgraded one. (Thicker but also longer?)

- correction I’ve got prop. the same one.

Mine says 28 awg/ip and 24 awg/2c.

So my special cable is better  :-+
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 08, 2019, 11:34:30 pm
Is there a way to open the AWG without ending up with something ugly?

It would be nice to see the wiring....
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: tautech on April 08, 2019, 11:51:51 pm

I measured the total drop between the unused BNC connectors.
Likewise.
SAG1021 connected with supplied USB cable only. Measurement between scope BNC (shells) and SAG1021 output BNC; 86mV (AWG OFF) ~50% more with AWG ON.
With supplied BNC cable attached between SAG1021 BNC and scope ch4: 8mV
I think you incidentally uploaded one picture twice. So the measurement cannot be seen.
Measured with Fluke 15B.
Is there a way to open the AWG without ending up with something ugly?

It would be nice to see the wiring....
I'll not be doing a teardown on a new unit for sale.  ;)
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 09, 2019, 12:25:40 am
I'll not be doing a teardown on a new unit for sale.  ;)
I wouldn’t have mind an improved one  :-+.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: tinhead on April 09, 2019, 08:01:16 am
I'll not be doing a teardown on a new unit for sale.  ;)
I wouldn’t have mind an improved one  :-+.

i can post later today some pictures if you wish, i did already opened my SAG (and made bitstream / eeprom backup)
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 09, 2019, 10:07:36 am
I'll not be doing a teardown on a new unit for sale.  ;)
I wouldn’t have mind an improved one  :-+.

i can post later today some pictures if you wish, i did already opened my SAG (and made bitstream / eeprom backup)
That would be great! I guess you open it by removing the rubber feets to access some screws?

Do you have any thoughts on tackling this issue? Essentially there will be some hundreds of mA going through the ground lead if used with earths ground points. That might result in unexpected behavior in many situations.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: tinhead on April 09, 2019, 10:06:20 pm
honestly same results, offset 15mV, voltage 85mV between BNCs.

Sure, when i disconnect everything and do auto zero adjust with no load, the DC offset is something like 400uV only (measured with Yokogawa 7552). Of course on SDS i have still 15mV offset due to the USB issue. To get rid of that, i can of course connect SAG to CH1, with provided cable (high-z), and run auto zero adjust (as described in manual), then the offset goes down to 500uV-1mV (my BNC is bit wacky). Of course only on SDS display, in the reality there is still remaining 13-14mV offset (when measured with DMM). So yeah, one can calibrate for nice picture of SAG signal on SDS or for real use. Will check on weekend how this perform when using usb isolator and external power supply, open circuit calibrated.

Attached usb pic, other pics are on my 1drv (Siglent folder): https://1drv.ms/f/s!AiY46m4u993EgSg4ZGmBREL7uZRz
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 09, 2019, 11:20:37 pm
At least the current the AWG draws is stable, otherwise it would not “only be an offset”.  :o

Maybe it’s best to solder some powerwires at the point where the most current is drawn, or where the GND and neg V split (but I expect they don’t).

I continued with the measurements I wanted to do and got used to hook the AWG up to the power supply and using the short circuit cable.

The third channel of the PSU has only fixed V-settings which finally has some good usage now.

The “offset” is determined by the usb and whatever probing cables / awg cables are in play. They become parallel resistors each taking some of the 360 mA. So it might change during a session...while connecting and disconnecting earth leads.

I don’t want to think about such stuff while doing measurements, so I’m thinking about modding the thing when a better solution is found.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 09, 2019, 11:32:44 pm

Attached usb pic, other pics are on my 1drv (Siglent folder): https://1drv.ms/f/s!AiY46m4u993EgSg4ZGmBREL7uZRz
Thanks!

Now I see where the screws are, it would be my second guess. And the reason I was afraid I might endup with something looking a bit more ugly. But outside ugliness  is better than inside ugliness  :-+.

After those screws the PCB can slide out? Or is something attached to the front as well?
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 10, 2019, 12:28:59 am
Maybe it’s best to solder some powerwires at the point where the most current is drawn, or where the GND and neg V split (but I expect they don’t).
Looking at photo’s (and seeing the ground planes) I think “the solution” always involves an external power source. However the V-neg should not start at the USB side, but at the BNC connectors. Just as the usb gnd wire. (Why not use that?)  That way the V-neg current path is “seperated” from the GND path.

This solution can be done without opening the AWG, just a BNC T-splitter with a good ground lead and a V-neg. followed by a V-pos injection and GND/V-neg break in the USB cable.

So a combination of my 2 Frankenstein projects!!!
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: Rerouter on April 10, 2019, 12:35:26 am
The screws are hidden behind the face stickers. Not the feet. I have some pictures i can uplosd in about 6 hours
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 10, 2019, 12:38:29 am
The screws are hidden behind the face stickers. Not the feet. I have some pictures i can uplosd in about 6 hours
I saw it, thanks for that!
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: Rerouter on April 10, 2019, 04:37:58 am
https://drive.google.com/folderview?id=18Q-35O1MndeLHVA5e185MpZoPtxlvlBC
Internal photos. Just to add to whats out there.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 10, 2019, 09:44:51 am
Now that I took a good look at the device, I started to wonder why it says aux in/out on the other bNC connector. To my knowledge it can only be used as a sync trigger. But can it for example also record a signal?
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: Rerouter on April 10, 2019, 09:48:45 am
Its a digital input, it can be used as a on/off switch for the sweep / burst / arbitary modes.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 10, 2019, 10:34:28 am
Its a digital input, it can be used as a on/off switch for the sweep / burst / arbitary modes.
That is advanced stuff accessible using SCPI commands? I saw in another thread you did some research on that.  :clap:

Did you find eventually a document or other resource which describes the more advanced commands?
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: Rerouter on April 10, 2019, 10:53:24 am
Its able to be used where ever you have a "trigger source", generally the parameter TSRC or SRC,

fully exploring all this is what is part of the hold up, not just finding out what commands respond, but why some behave weird, and patching out weird stuff, e.g. there is a number of things that while valid queries, are hard coded to just return nothing.

Code: [Select]
:ARbWaVe | :ARWV
Command Syntax <channel>:ARbWaVe {INDEX, NAME}
Query Syntax <channel>:ARbWaVe?
Description Set or query the Arbitary Wave Parameters
Parameter Name Type Range Default
<channel> Discrete {C1|C2}
<index> Discrete {0:59} See Below
Index Name
0 Sine
1 Noise
2 StairUp
3 StairDn
4 StarUP
5 PPulse
6 NPulse
7 Trapezia
8 UpRamp
9 DnRamp
10 ExpFall
11 ExpRise
12 LogFall
13 LogRise
14 Sqrt
15 Root3
16 X^2
17 X^3
18 Sinc
19 Gussian
20 Dlorentz
21 Haversine
22 Lorentz
23 Gauspuls
24 Gmonopuls
25 Tripuls
26 Cardiac
27 Quake
28 Chirp
29 Twotone
30 Snr
31~34 ?? Missing ??
34 Hamming
35 Hanning
36 Kaiser
37 BlackMan
38 Gausswin
39 Triang
40 Blackmanharris
41 Bartlett
42 Tan
43 Cot
44 Sec
45 Csc
46 Asin
47 Acos
48 Atan
49 Acot
50~59 Userspace
Command Example C1:ARWV INDEX, 2  /*Set StarUp arbitrary wave output by index*/
Query Example C1:ARWV?    /*Returns channel 1's current wave*/

:BaSicWaVe | :BSWV
Command Syntax <channel>:BaSicWaVe <parameter>,<value>[,<parameter>,<value>,...,<parameter>,<value>]
Query Syntax <channel>:BaSicWaVe?
Description Set or get basic wave parameters.
Parameter Name Type Range Default
<channel> Discrete {C1:C2}
<parameter> Discrete {WVTP|FRQ|AMP|OFST|SYM|DUTY|PHSE|VAR|MEAN|DLY}
WVTP <value> Discrete WVTP {SINE|SQUARE|RAMP|PULSE|NOISE|ARB|DC}
FRQ <value> Numeric {0.000001:25000000}
AMP <value> Numeric {0.004:6.000}
OFST <value> Numeric {-4.000:4.000}
SYM <value> Numeric {0.0:100.0}
DUTY <value> Numeric {0.1:99.9}
PHSE <value> Numeric {0:360}
VAR <value> {0.004:2.222}
MEAN <value> ?
DLY <value> ?
Command Example C1:BSWV FRQ,2000 /* Changes the frequency of channel one to 2000 Hz*/
Query Example C1:BSWV?    /* reads channel basic wave parameters from device*/

:BursTWaVe | :BTWV
Command Syntax <channel>:BursTWaVe <parameter>
Query Syntax <channel>:BursTWaVe?
Description Set or get burst wave parameters.
Parameter Name Type Range Default
<channel> Discrete {C1:C2}
<parameter> Discrete {STATE|PRD|STPS|GATE_NCYC|TRSR|DLAY|PLRT|TRMD|EDGE|TIME|MTRIG|CARR}
CARR <parameter> Discrete {WVTP|FRQ|AMP|OFST|SYM|DUTY|PHSE|DLY|VAR|MEAN}
STATE <value> Discrete {ON|OFF}
PRD <value> Numeric {0.000001:500}
STPS <value> Numeric {0:360}
GATE_NCYV... Discrete {GATE|NCYC}
TRSR <value> Discrete {EXT|INT|MAN}
DLAY <value> Numeric {0:500}
TIME <value> Discrete {0.001:500}
STOP <value> Numeric {0.000001:25000000}
START <value> Numeric {0.000001:25000000}
TRSC <value> Discrete {EXT|INT|MAN}
PLRT <value> Discrete {NEG,POS}
TRMD <value> Discrete {RISE|FALL|OFF}
EDGE <value> Discrete {ON|OFF}
WVTP <value> Discrete {SINE|SQUARE|RAMP|ARB}
FRQ <value> Numeric {0.002:25000}
AMP <value> Numeric {0.004:6.000}
OFST <value> Numeric ?
SYM <value> Numeric {0:100}
DUTY <value> Numeric {0.1:99.9
PHSE <value> Numeric {0:360}
DLY <value> Numeric {0:?}
VAR <value> Numeric {0.004:0.6666}
MEAN <value> Numeric ?
Command Example C1:BTWV DLAY, 0S /* Set channel one burst wave delay to 0S. */
Query Example C1:BTWV?    /* reads channel Burst wave parameters from device*/

:CoMBiNe | :CMBN
Command Syntax <channel>:CoMBiNe <state>
Query Syntax <channel>:CoMBiNe?
Description This command sets or gets the waveform combining parameters.
Parameter Name Type Range Default
<channel> Discrete {C1:C2}
<state> Discrete {ON|OFF}
Command Example C1:CMBN ON /* Turn on the waveform combining of CH1:*/
Query Example C1:CMBN?    /* Query the waveform combining state of CH1*/



:HARMonic | :HARM
Command Syntax <channel>: HARMonic HARMSTATE,<state>,HARMTYPE,<type>,HARMORDER,<order>,<unit>,<value>,HARMPHASE,<phase>
Query Syntax <channel>: HARMonic?
Description This command sets or gets the harmonic parameters. Only available when the basic wave is SINE.
Parameter Name Type Range Default
<channel> Discrete {C1|C2}
<state> Discrete {ON|OFF}
<type> {EVEN|ODD|ALL}
<order> {1|2|etc...}
<unit> {HARMAMP|HARMDBC}
<value> Amplitude ?
<phase> {0:360}
Command Example C1:HARM HARMSTATE,ON/* Enable the harmonic function of CH1:*/
Query Example C1:HARM?    /* Get the harmonic information of CH1:*/

:INVerT | :INVT
Command Syntax <channel>:INVerT <state>
Query Syntax <channel>:INVerT?
Description Set or query the AWG phase inversion state.
Parameter Name Type Range Default
<channel> Discrete {C1|C2}
<state> Discrete {OFF|ON}
Command Example C1:INVT ON /*Sets channel 1 phase to invert*/
Query Example C1:INVT?    /*Returns channel 1's phase inversion state*/

:MoDulateWaVe | :MDWV
Command Syntax <channel>:MoDulateWaVe_<parameter>,<value>[,<parameter>,<value>,...,<parameter>,<value>]
Query Syntax <channel>:MoDulateWaVe?
Description Set or get modulated wave parameters
Parameter Name Type Range Default
<channel> Discrete {C1:C2}
<parameter> Discrete {STATE|AM|DSBAM|FM|PM|PWM|ASK|FSK|CARR}
AM <parameter> Discrete {SRC|MDSP|FRQ|DEPTH}
DSBAM <parameter> Discrete {SRC|MDSP|FRQ}
FM <parameter> Discrete {SRC|MDSP|FRQ|DEVI}
PM <parameter> Discrete {SRC|MDSP|FREQ|DEVI}
PWM <parameter> Discrete {SRC|MDSP|FREQ|DEVI}
FSK <parameter> Discrete {SRC|KFRQ}
ASK <parameter> Discrete {SRC|KFRQ|HFRQ}
CARR <parameter> Discrete {WVTP|FRQ|AMP|OFST|SYM|DUTY|PHSE|DLY}
STATE <value> Discrete {ON|OFF}
SRC <value> Discrete {INT|EXT}
MDSP <value> Discrete {SINE|SQUARE|TRIANGLE|UPRAMP|DNRAMP|NOISE|ARB}
FRQ <value> Numeric {0.002:20000}
AMP <value> Numeric {0.004:6.000}
OFST <value> Numeric ?
SYM <value> Numeric {0:100}
DUTY <value> Numeric {0.1:99.9
PHSE <value> Numeric {0:360}
DLY <value> {?:20000}
Command Example C1:MDWV AM, MDSP, SINE /* Set modulation shape to AM, and set AM modulating wave type*/
Query Example C1:MDWV?    /* reads channel modulate wave parameters from device*/

:OUTPut | OUTP
Command Syntax <channel>:OUTPut <parameter>[,<load>]
Query Syntax <channel>:OUTPut?
Description DESCRIPTION Enable or disable the output of the [Output] connector at the front panel corresponding to the channel. The query returns ON or OFF.
Parameter Name Type Range Default
<channel> Discrete {C1:C2}
<parameter> Discrete {ON|OFF|LOAD}
<load> Discrete {50|HZ}
Command Example OUTP LOAD,50 /* Turns set the channel load to 50 Ohms*/
Query Example OUTP?    /* Reads channel one output state*/

:SampleRATE | :SRATE
Command Syntax <channel>: SampleRATE MODE,<mode>,VALUE,<sample rate>,INTER,<interpolation>
Query Syntax <channel>: SampleRATE?
Description This command sets or gets the Arb mode, sampling rate and interpolation method. Sampling rate and interpolation method can only be set when MODE is TARB.
Parameter Name Type Range Default
<channel> Discrete {C1|C2}
<mode> Discrete {DDS|TARB}
<sample rate> ?
<interpolation> {LINE|HOLD}
Command Example C1:SRATE MODE, TARB /* Set CH1 to TureArb mode*/
Query Example C1:SRATE?    /* Get the sampling rate of CH1 */

:SWeepWaVe | :SWWV
Command Syntax <channel>:SWeepWaVe <parameter>
Query Syntax <channel>:SWeepWaVe?
Description Set or get sweep wave parameters
Parameter Name Type Range Default
<channel> Discrete {C1:C2}
<parameter> Discrete {STATE|TIME|STOP|START|TRSC|TRMD|SWMD|DIR|EDGE|MTRIG|CARR}
CARR <parameter> Discrete {WVTP|FRQ|AMP|OFST|SYM|DUTY|PHSE|DLY}
STATE <value> Discrete {ON|OFF}
TIME <value> Discrete {0.001:500}
STOP <value> Numeric {0.000001:25000000}
START <value> Numeric {0.000001:25000000}
TRSC <value> Discrete {EXT|INT|MAN}
TRMD <value> Discrete {ON|OFF}
SWMD <value> Discrete {LINE|LOG}
DIR <value> Discrete {UP|DOWN}
EDGE <value> Discrete {ON|OFF}
WVTP <value> Discrete {SINE|SQUARE|RAMP|ARB}
FRQ <value> Numeric {0.002:25000}
AMP <value> Numeric {0.004:6.000}
OFST <value> Numeric ?
SYM <value> Numeric {0:100}
DUTY <value> Numeric {0.1:99.9
PHSE <value> Numeric {0:360}
Command Example C1: SWWV STOP, 1000HZ /* Set channel one sweep stop frequency to 1000hz. */
Query Example C1:SWWV?    /* reads channel sweep wave parameters from device*/

:SYNC
Command Syntax <channel>:SYNC <state>
Query Syntax <channel>:SYNC?
Description Set AWG signal output from backward panel in phase with forward
Parameter Name Type Range Default
<channel> Discrete {C1|C2}
<state> Discrete {OFF|ON}
Command Example C1:SYNC ON /*Sync function on defend of channel one */
Query Example C1:SYNC?    /*Returns channel 1's sync state*/

PAraCoPy | :PACP
Command Syntax PAraCoPy <dest_channel>,<src_channel>
Description Copy channel data
Parameter Name Type Range Default
<src_channel> Discrete {C1|C2}
<dest_channel> Discrete {C1|C2}
Command Example PACP C2,C1 /*Copy parameters from channel one to channel two.*/

ROSCillator | ROSC
Command Syntax ROSCillator <source>
Query Syntax ROSCillator?
Description Set or get signal oscillator resource
Parameter Name Type Range Default
<time> Discrete {INT|EXT} INT
Command Example ROSC INT /* Uses system clock source*/
Query Example ROSC?    /*Returns clock source*/

WaVe_DaTa | WVDT
Command Syntax WaVe_DaTa <address>,<parameter>
Query Syntax WaVe_DaTa <address>?
Description used to change user defined memory unit arbitrary wave data.
Parameter Name Type Range Default
<address> Discrete {M50|M51|M52|M53|M54|M55|M56|M57|M58|M59}
<parameter> Discrete {WVNM|TYPE|LENGTH|FREQ|AMPL|OFST|PHASE|WAVEDATA}
WVNM <value> ASCII ASCII
TYPE <value> Fixed 5
LENGTH <value> Fixed 32KB
FREQ <value> Numeric ?
AMPL <value> Numeric ?
OFST <value> Numeric ?
PHASE <value> Numeric ?
WAVEDATA... Data Block Wavedata of 32KB size
Command Example WVDT M51, WVNM, WAVE02, LENGTH, 32KB, TYPE, 5
Query Example WVDT M50?    /*Read device memory saved arbitrary data at M50*/

VOLTPRT
Command Syntax VOLTPRT <state>
Query Syntax VOLTPRT?
Description This commend sets or gets the state of the AWG over-voltage protection
Parameter Name Type Range Default
<state> Discrete {ON|OFF}
Command Example VOLTPRT ON /* Turns on the AWG output protection*/
Query Example VOLTPRT?    /* */

Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 10, 2019, 11:36:58 am
Great info! I'll certainly dive into it.

So I added V-neg very close to the base op the BNC connector.

The results speak for themselves! It is with 30 sec persistence.

Without the hack the offset even drifts!

As I guessed the offset is mostly just needed to counterbalance the USB problem. When done correctly only about 1 mV is needed. And that is partly because there’s 360mA of current running through the BNC connection and groundplane. The difference between the 2 BNC output connectors is 0,1/0,2 mV: barely measurable using a Fluke 179.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 10, 2019, 12:01:17 pm
Here's the most important part of the hack. A neg-V on the output BNC. The heatshrink melted while doing so, thus it became more ugly.

Another (and even better) way would solder the wire to a nut which could be screwed at the output BNC. But there is very little thread sticking out of the case. And I didn’t have such a nut.

Because there should be no GND currents anymore the heavy speakerwire is somewhat overkill.

My hacked usb cable has still a V-neg wire running through, that I will have to cut. now it acts as a unnecessary GND wire from the scope, maybe even creating GND loops.
(Later on I came to the conclusion the wire is still needed)
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 10, 2019, 12:42:00 pm
Is there a way to make smaller offset adjustments steps? Mine only goes 1 mV/step. Can’t find a “fine” option.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: tinhead on April 10, 2019, 08:34:20 pm
there is no fine option for offset adj., but you can use on screen keyboard and type e.g. -3.254m
I tested my SAG with USB isolator, with manual offset adj. over keyboard, i got 2uV offset, with auto 600uV.

With such setup no issue at all - well, except the bitstream / firmware timing, i have to plug USB first,
then power up/down/up SAG 3 times within 500ms to get bitstream / firmware running and no "busy" LED error.
Once it runs, it runs with no issues.

EDIT: i have only ADUM4160 based isolator, so not the best option, but good enough to have some isolation.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 10, 2019, 08:51:02 pm
I tested my SAG with USB isolator, with manual offset adj. over keyboard, i got 2uV offset, with auto 600uV.

With such setup no issue at all - well, except the bitstream / firmware timing, i have to plug USB first,
then power up/down/up SAG 3 times within 500ms to get bitstream / firmware running and no "busy" LED error.
Once it runs, it runs with no issues.
So you even got better results than my setup? That’s great! How did you get to the 2uV reading, do I have more noise than supposed to? Because the best device I’ve got to measure such low voltages is the scope. And that’s very noisy in my case.

Edit - Probably: Yokogawa 7552
That will do some noise filtering   :-+
For a moment I thought my DSO didn’t perform as it should. :phew:

Also I was about to cut the V-neg of the usb cable, but I think it is also needed for the data signals? Via the GND connection it will get that line also, but that I find a bit too crude of a solution.
But that line seems the main difference to me to a fully isolated usb connection. But maybe that is my inexperience talking.

Using the manual screen keyboard entering I managed to get a 0,0mV reading on my Fluke.

In that situation between some of the grounds there’s still a 0,1mV voltage drop, which I could not explain. But that voltage drop is also there when the AWG is disconnected from power and scope. So no worries  :-+

To conclude my setup isn’t the optimal one, but a good poor man’s solution. What I find most important is that there’re no 360mA current flowing through testleads.
My setup may have stil a tiny bit, because the USB V-neg can still form a alternative current path (but of much higher resistance). For a moment I thought I could measure the voltage drop it creates, but it is the same as the non current flowing situation. Where the 0,1 mV then come from? I don’t know: thermoelectric effect?
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 11, 2019, 10:43:10 am
I took the time of verifying the poor man’s solution against the USB protocol. Which is explained very extensively on this webpage:
http://www.usbmadesimple.co.uk/index.html (http://www.usbmadesimple.co.uk/index.html)

The question I wanted to have answers to was wether the GND wire is needed between the DSO and the AWG.
The answer is yes, even though the it is a differential data signal protocol, GND is used for termination in high speed mode.
Also technically V-pos should be used to pull up the D+ dataline for full speed identification, but because it seems to work just fine, I think it doesn’t hurt to have the V-pos simply injected the way I did. We don’t have to comply with the full standard when hacking away someone else’s mistakes :-+
It is probably best to power up both devices first and then connect the USB cable, but I may have done otherwise. (By just leaving the cable plugged in.) But it might be harmful to some devices.

If I’ve made wrong assumptions anywhere, pleasy correct me  (if I did not myself). There will be more people like me without a full comprehension of things and use this thread as a source of information to act on.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 11, 2019, 11:32:34 am
EDIT: i have only ADUM4160 based isolator, so not the best option, but good enough to have some isolation.
Just to verify, you can probably set the USB speed of the device with a jumper. Is it set to full speed?
It would surprise me that if it was a low speed device, but I also guess speed doesn’t matter much for this decice.
I ask this question, because I could improve my setup using a 1K5 pullup resistor at the D+ dataline myself to identify for full speed, but that should technically be done from 3.3 V. Thus dropping the V-pos first.

But if its a high speed device I guess this way of identification should not matter.. :-//

After some thinking, I will leave it as it is. The device is identified and working, so no reason to make a crude hack more “beautiful”. (The mentioned USB isolator seems to have more issues regarding the communication.) But it is good to mention what stuff is involved.
Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: tinhead on April 16, 2019, 08:19:09 pm
actually the 1uV is the lowest i can measure with the Yokogawa DMM, so that's why. In the reality something like 20-50uV was the lowest usable value, there is always some drift (e.g. only if one wiggle a bit with BNC).

The autocalibration does not use lower values than 1mV, manual is much better, as one can use down to 1uV over on screen keyboard.

I will stay with isolated SAG, just because isolated is isolated. I have to play a bit with better power supply, have currently some noise from DC/DC converter. Of course the communication issue remains, it seems to be timing based, a clone of SAG (to test firmware dump i made) got same issue, without USB isolator, just because FPGA is sending something after bitfile started.

Title: Re: SDS1104X-E and SAG1021 unwanted DC offset from USB powering
Post by: HendriXML on April 16, 2019, 08:37:38 pm
actually the 1uV is the lowest i can measure with the Yokogawa DMM, so that's why. In the reality something like 20-50uV was the lowest usable value, there is always some drift (e.g. only if one wiggle a bit with BNC).

The autocalibration does not use lower values than 1mV, manual is much better, as one can use down to 1uV over on screen keyboard.

I will stay with isolated SAG, just because isolated is isolated. I have to play a bit with better power supply, have currently some noise from DC/DC converter. Of course the communication issue remains, it seems to be timing based, a clone of SAG (to test firmware dump i made) got same issue, without USB isolator, just because FPGA is sending something after bitfile started.
It seems I’m picking up a lot more noise. But I must say I was working without having it earth ground connected. The mains where I did the measurements hasn’t got an earths ground connection. I’ve to check if that makes a difference, otherwise I’ve got some exploring to do.

What I also did was using a battery powered supply:
https://www.eevblog.com/forum/projects/battery-voltage-to-5v-regulation/ (https://www.eevblog.com/forum/projects/battery-voltage-to-5v-regulation/)
It probably gives the highest possible noise free and non capacitive coupled power one can get.   :-+
But the main reason for it was not having to transport the heavy bench power supply.
At the moment I’m doing an automated characterization with the SAG.
https://www.eevblog.com/forum/testgear/using-a-awg-and-a-scope-do-a-low-voltage-level-characterization-of-a-1n4005/ (https://www.eevblog.com/forum/testgear/using-a-awg-and-a-scope-do-a-low-voltage-level-characterization-of-a-1n4005/)
Doing the averaging via a script: like having a combination of the scopes averaging and eRes mode, and ending with extra resolution!