SDS1104X-E and SAG1021 unwanted DC offset from USB powering - Page 1
Forum section: electronics / testgear

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 01:50:14 am
content: 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?

author: tautech
author_rank: Super Contributor
timestamp: April 08, 2019, 02:19:33 am
content: For the record can we have the current firmware versions in use ?TIA

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 02:30:42 am
content: 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!

author: tautech
author_rank: Super Contributor
timestamp: April 08, 2019, 02:55:34 am
content: 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.

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 10:25:48 am
content: Quote from: tautech on April 08, 2019, 02:55:34 amI’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?

author: tautech
author_rank: Super Contributor
timestamp: April 08, 2019, 10:47:11 am
content: 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.

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 10:55:25 am
content: 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?

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 11:03:38 am
content: Quote from: tautech on April 08, 2019, 10:47:11 amThe 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.

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 12:06:57 pm
content: 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?

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 01:10:54 pm
content: Quote from: tautech on April 08, 2019, 10:47:11 amThanks 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?

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 08:27:52 pm
content: 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 qualitySo 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 frontThe 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.

author: tautech
author_rank: Super Contributor
timestamp: April 08, 2019, 10:27:53 pm
content: My results with very recent ex-factory SAG1021.SAG FW version:Full SAG1021 hardware package with scope USB cable on right for referenceMeasurements. (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

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 11:04:27 pm
content: 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) 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.

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 11:10:22 pm
content: Quote from: tautech on April 08, 2019, 10:27:53 pmI think you incidentally uploaded one picture twice. So the measurement cannot be seen.

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 11:22:03 pm
content: Quote from: tautech on April 08, 2019, 10:27:53 pmI 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

author: HendriXML
author_rank: Super Contributor
timestamp: April 08, 2019, 11:34:30 pm
content: Is there a way to open the AWG without ending up with something ugly?It would be nice to see the wiring....

author: tautech
author_rank: Super Contributor
timestamp: April 08, 2019, 11:51:51 pm
content: Quote from: HendriXML on April 08, 2019, 11:04:27 pmLikewise.Quote from: HendriXML on April 08, 2019, 11:10:22 pmMeasured with Fluke 15B.Quote from: HendriXML on April 08, 2019, 11:34:30 pmI'll not be doing a teardown on a new unit for sale.

author: HendriXML
author_rank: Super Contributor
timestamp: April 09, 2019, 12:25:40 am
content: Quote from: tautech on April 08, 2019, 11:51:51 pmI wouldn’t have mind an improved one.

author: tinhead
author_rank: Super Contributor
timestamp: April 09, 2019, 08:01:16 am
content: Quote from: HendriXML on April 09, 2019, 12:25:40 ami can post later today some pictures if you wish, i did already opened my SAG (and made bitstream / eeprom backup)

author: HendriXML
author_rank: Super Contributor
timestamp: April 09, 2019, 10:07:36 am
content: Quote from: tinhead on April 09, 2019, 08:01:16 amThat 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.

author: tinhead
author_rank: Super Contributor
timestamp: April 09, 2019, 10:06:20 pm
content: 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

author: HendriXML
author_rank: Super Contributor
timestamp: April 09, 2019, 11:20:37 pm
content: At least the current the AWG draws is stable, otherwise it would not “only be an offset”.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.

author: HendriXML
author_rank: Super Contributor
timestamp: April 09, 2019, 11:32:44 pm
content: Quote from: tinhead on April 09, 2019, 10:06:20 pmThanks!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?

author: HendriXML
author_rank: Super Contributor
timestamp: April 10, 2019, 12:28:59 am
content: Quote from: HendriXML on April 09, 2019, 11:20:37 pmLooking 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!!!

author: Rerouter
author_rank: Super Contributor
timestamp: April 10, 2019, 12:35:26 am
content: The screws are hidden behind the face stickers. Not the feet. I have some pictures i can uplosd in about 6 hours

author: HendriXML
author_rank: Super Contributor
timestamp: April 10, 2019, 12:38:29 am
content: Quote from: Rerouter on April 10, 2019, 12:35:26 amI saw it, thanks for that!

author: Rerouter
author_rank: Super Contributor
timestamp: April 10, 2019, 04:37:58 am
content: https://drive.google.com/folderview?id=18Q-35O1MndeLHVA5e185MpZoPtxlvlBCInternal photos. Just to add to whats out there.

author: HendriXML
author_rank: Super Contributor
timestamp: April 10, 2019, 09:44:51 am
content: 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?

author: Rerouter
author_rank: Super Contributor
timestamp: April 10, 2019, 09:48:45 am
content: Its a digital input, it can be used as a on/off switch for the sweep / burst / arbitary modes.

author: HendriXML
author_rank: Super Contributor
timestamp: April 10, 2019, 10:34:28 am
content: Quote from: Rerouter on April 10, 2019, 09:48:45 amThat is advanced stuff accessible using SCPI commands? I saw in another thread you did some research on that.Did you find eventually a document or other resource which describes the more advanced commands?

author: Rerouter
author_rank: Super Contributor
timestamp: April 10, 2019, 10:53:24 am
content: 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::ARbWaVe | :ARWVCommand Syntax<channel>:ARbWaVe {INDEX, NAME}Query Syntax<channel>:ARbWaVe?DescriptionSet or query the Arbitary Wave ParametersParameterNameTypeRangeDefault<channel>Discrete{C1|C2}<index>Discrete{0:59} See BelowIndexName0Sine1Noise2StairUp3StairDn4StarUP5PPulse6NPulse7Trapezia8UpRamp9DnRamp10ExpFall11ExpRise12LogFall13LogRise14Sqrt15Root316X^217X^318Sinc19Gussian20Dlorentz21Haversine22Lorentz23Gauspuls24Gmonopuls25Tripuls26Cardiac27Quake28Chirp29Twotone30Snr31~34?? Missing ??34Hamming35Hanning36Kaiser37BlackMan38Gausswin39Triang40Blackmanharris41Bartlett42Tan43Cot44Sec45Csc46Asin47Acos48Atan49Acot50~59UserspaceCommand ExampleC1:ARWV INDEX, 2 /*Set StarUp arbitrary wave output by index*/Query ExampleC1:ARWV? /*Returns channel 1's current wave*/:BaSicWaVe | :BSWVCommand Syntax<channel>:BaSicWaVe <parameter>,<value>[,<parameter>,<value>,...,<parameter>,<value>]Query Syntax<channel>:BaSicWaVe?DescriptionSet or get basic wave parameters.ParameterNameTypeRangeDefault<channel>Discrete{C1:C2}<parameter>Discrete{WVTP|FRQ|AMP|OFST|SYM|DUTY|PHSE|VAR|MEAN|DLY}WVTP <value>DiscreteWVTP {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 ExampleC1:BSWV FRQ,2000 /* Changes the frequency of channel one to 2000 Hz*/Query ExampleC1:BSWV? /* reads channel basic wave parameters from device*/:BursTWaVe | :BTWVCommand Syntax<channel>:BursTWaVe <parameter>Query Syntax<channel>:BursTWaVe?DescriptionSet or get burst wave parameters.ParameterNameTypeRangeDefault<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.9PHSE <value>Numeric{0:360}DLY <value>Numeric{0:?}VAR <value>Numeric{0.004:0.6666}MEAN <value>Numeric?Command ExampleC1:BTWV DLAY, 0S /* Set channel one burst wave delay to 0S. */Query ExampleC1:BTWV? /* reads channel Burst wave parameters from device*/:CoMBiNe | :CMBNCommand Syntax<channel>:CoMBiNe <state>Query Syntax<channel>:CoMBiNe?DescriptionThis command sets or gets the waveform combining parameters.ParameterNameTypeRangeDefault<channel>Discrete{C1:C2}<state>Discrete{ON|OFF}Command ExampleC1:CMBN ON /* Turn on the waveform combining of CH1:*/Query ExampleC1:CMBN? /* Query the waveform combining state of CH1*/:HARMonic | :HARMCommand Syntax<channel>: HARMonic HARMSTATE,<state>,HARMTYPE,<type>,HARMORDER,<order>,<unit>,<value>,HARMPHASE,<phase>Query Syntax<channel>: HARMonic?DescriptionThis command sets or gets the harmonic parameters. Only available when the basic wave is SINE.ParameterNameTypeRangeDefault<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 ExampleC1:HARM HARMSTATE,ON/* Enable the harmonic function of CH1:*/Query ExampleC1:HARM? /* Get the harmonic information of CH1:*/:INVerT | :INVTCommand Syntax<channel>:INVerT <state>Query Syntax<channel>:INVerT?DescriptionSet or query the AWG phase inversion state.ParameterNameTypeRangeDefault<channel>Discrete{C1|C2}<state>Discrete{OFF|ON}Command ExampleC1:INVT ON /*Sets channel 1 phase to invert*/Query ExampleC1:INVT? /*Returns channel 1's phase inversion state*/:MoDulateWaVe | :MDWVCommand Syntax<channel>:MoDulateWaVe_<parameter>,<value>[,<parameter>,<value>,...,<parameter>,<value>]Query Syntax<channel>:MoDulateWaVe?DescriptionSet or get modulated wave parametersParameterNameTypeRangeDefault<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.9PHSE <value>Numeric{0:360}DLY <value>{?:20000}Command ExampleC1:MDWV AM, MDSP, SINE /* Set modulation shape to AM, and set AM modulating wave type*/Query ExampleC1:MDWV? /* reads channel modulate wave parameters from device*/:OUTPut | OUTPCommand Syntax<channel>:OUTPut <parameter>[,<load>]Query Syntax<channel>:OUTPut?DescriptionDESCRIPTION Enable or disable the output of the  connector at the front panel corresponding to the channel. The query returns ON or OFF.ParameterNameTypeRangeDefault<channel>Discrete{C1:C2}<parameter>Discrete{ON|OFF|LOAD}<load>Discrete{50|HZ}Command ExampleOUTP LOAD,50 /* Turns set the channel load to 50 Ohms*/Query ExampleOUTP? /* Reads channel one output state*/:SampleRATE | :SRATECommand Syntax<channel>: SampleRATE MODE,<mode>,VALUE,<sample rate>,INTER,<interpolation>Query Syntax<channel>: SampleRATE?DescriptionThis 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.ParameterNameTypeRangeDefault<channel>Discrete{C1|C2}<mode>Discrete{DDS|TARB}<sample rate>?<interpolation>{LINE|HOLD}Command ExampleC1:SRATE MODE, TARB /* Set CH1 to TureArb mode*/Query ExampleC1:SRATE? /* Get the sampling rate of CH1 */:SWeepWaVe | :SWWVCommand Syntax<channel>:SWeepWaVe <parameter>Query Syntax<channel>:SWeepWaVe?DescriptionSet or get sweep wave parametersParameterNameTypeRangeDefault<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.9PHSE <value>Numeric{0:360}Command ExampleC1: SWWV STOP, 1000HZ /* Set channel one sweep stop frequency to 1000hz. */Query ExampleC1:SWWV? /* reads channel sweep wave parameters from device*/:SYNCCommand Syntax<channel>:SYNC <state>Query Syntax<channel>:SYNC?DescriptionSet AWG signal output from backward panel in phase with forwardParameterNameTypeRangeDefault<channel>Discrete{C1|C2}<state>Discrete{OFF|ON}Command ExampleC1:SYNC ON /*Sync function on defend of channel one */Query ExampleC1:SYNC? /*Returns channel 1's sync state*/PAraCoPy | :PACPCommand SyntaxPAraCoPy <dest_channel>,<src_channel>DescriptionCopy channel dataParameterNameTypeRangeDefault<src_channel>Discrete{C1|C2}<dest_channel>Discrete{C1|C2}Command ExamplePACP C2,C1 /*Copy parameters from channel one to channel two.*/ROSCillator | ROSCCommand SyntaxROSCillator <source>Query SyntaxROSCillator?DescriptionSet or get signal oscillator resourceParameterNameTypeRangeDefault<time>Discrete{INT|EXT}INTCommand ExampleROSC INT /* Uses system clock source*/Query ExampleROSC? /*Returns clock source*/WaVe_DaTa | WVDTCommand SyntaxWaVe_DaTa <address>,<parameter>Query SyntaxWaVe_DaTa <address>?Descriptionused to change user defined memory unit arbitrary wave data.ParameterNameTypeRangeDefault<address>Discrete{M50|M51|M52|M53|M54|M55|M56|M57|M58|M59}<parameter>Discrete{WVNM|TYPE|LENGTH|FREQ|AMPL|OFST|PHASE|WAVEDATA}WVNM <value>ASCIIASCIITYPE <value>Fixed5LENGTH <value>Fixed32KBFREQ <value>Numeric?AMPL <value>Numeric?OFST <value>Numeric?PHASE <value>Numeric?WAVEDATA...Data BlockWavedata of 32KB sizeCommand ExampleWVDT M51, WVNM, WAVE02, LENGTH, 32KB, TYPE, 5Query ExampleWVDT M50? /*Read device memory saved arbitrary data at M50*/VOLTPRTCommand SyntaxVOLTPRT <state>Query SyntaxVOLTPRT?DescriptionThis commend sets or gets the state of the AWG over-voltage protectionParameterNameTypeRangeDefault<state>Discrete{ON|OFF}Command ExampleVOLTPRT ON /* Turns on the AWG output protection*/Query ExampleVOLTPRT? /* */

author: HendriXML
author_rank: Super Contributor
timestamp: April 10, 2019, 11:36:58 am
content: 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.

author: HendriXML
author_rank: Super Contributor
timestamp: April 10, 2019, 12:01:17 pm
content: 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)

author: HendriXML
author_rank: Super Contributor
timestamp: April 10, 2019, 12:42:00 pm
content: Is there a way to make smaller offset adjustments steps? Mine only goes 1 mV/step. Can’t find a “fine” option.

author: tinhead
author_rank: Super Contributor
timestamp: April 10, 2019, 08:34:20 pm
content: there is no fine option for offset adj., but you can use on screen keyboard and type e.g. -3.254mI 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.

author: HendriXML
author_rank: Super Contributor
timestamp: April 10, 2019, 08:51:02 pm
content: Quote from: tinhead on April 10, 2019, 08:34:20 pmSo 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 7552That will do some noise filteringFor a moment I thought my DSO didn’t perform as it should.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 worriesTo 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?

author: HendriXML
author_rank: Super Contributor
timestamp: April 11, 2019, 10:43:10 am
content: 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.htmlThe 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 mistakesIt 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.

author: HendriXML
author_rank: Super Contributor
timestamp: April 11, 2019, 11:32:34 am
content: Quote from: tinhead on April 10, 2019, 08:34:20 pmJust 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.

author: tinhead
author_rank: Super Contributor
timestamp: April 16, 2019, 08:19:09 pm
content: 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.

author: HendriXML
author_rank: Super Contributor
timestamp: April 16, 2019, 08:37:38 pm
content: Quote from: tinhead on April 16, 2019, 08:19:09 pmIt 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/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/Doing the averaging via a script: like having a combination of the scopes averaging and eRes mode, and ending with extra resolution!