Author Topic: Siglent SDG1020 Arbitrary FunGen- First Impressions and a possible Signal Glitch  (Read 29778 times)

0 Members and 1 Guest are viewing this topic.

Offline nixxon

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: no
Here are 2 x 15 minute persistent "exposures" from my DS1102E

SDG1020 at 4Vpp, Square wave, 50% duty cycle, 10 kHz, 50 ohm terminated both ends (and 50 ohm impedance RG58 cable).

At 10 kHz there was much more noise, compared to that at 100 kHz. As expected.

Not too much difference between the pictures at Long and Normal memory depth. A few, bigger glitches was captured on the long memory depth measurement.

Settings Rigol DS1102E for picture file "15_long.bmp":
Analog Ch  State   Scale    Position   Coupling  BW Limit  Invert
CH1        On      100mV/    1.73V     DC        Off       Off
Analog Ch  Impedance   Probe
CH1        1M Ohm      1X
Time    Time Ref    Main Scale    Delay
Main    Center      20.00ns/      -100.0000ns
Trigger  Source      Slope    Mode      Coupling     Level    Holdoff
Edge     CH1         Rising   Auto      DC           -1.13V   500ns
Acquisition    Sampling    Memory Depth    Sample Rate
Normal         Realtime    Long Memory     500.0MSa   

Settings Rigol DS1102E for picture file "15normal.bmp":
Analog Ch  State   Scale    Position   Coupling  BW Limit  Invert
CH1        On      100mV/    1.77V     DC        Off       Off
Analog Ch  Impedance   Probe
CH1        1M Ohm      1X
Time    Time Ref    Main Scale    Delay
Main    Center      20.00ns/      -100.0000ns
Trigger  Source      Slope    Mode      Coupling     Level    Holdoff
Edge     CH1         Rising   Auto      DC           -1.17V   500ns
Acquisition    Sampling    Memory Depth    Sample Rate
Normal         Realtime    Normal          1.000GSa 
« Last Edit: January 25, 2013, 10:22:53 am by nixxon »
 

Offline nixxon

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: no
Here is a 5 min "exposure" of the 1 kHz signal from SDG1020.

It's only 5 min, as my scope froze when I tried to save the first time (a 15 min exposure). I had to power off and restart.

Only frequency was changed on the waveform generator (other settings, see previous post).

I had to expand the horizontal time base by a factor of 5, from 20 ns/div to 100 ns/div to capture most of the noise. That also made the sample rate on the scope go down from 1 GS/s to 500 MS/s. Memory depth normal.

Settings Rigol DS1102E for picture file "5mi_1khz.bmp":
Analog Ch  State   Scale    Position   Coupling  BW Limit  Invert
CH1        On      100mV/    1.59V     DC        Off       Off
Analog Ch  Impedance   Probe
CH1        1M Ohm      1X
Time    Time Ref    Main Scale    Delay
Main    Center      100.0ns/      -500.0000ns
Trigger  Source      Slope    Mode      Coupling     Level    Holdoff
Edge     CH1         Rising   Auto      DC           -992mV   500ns
Acquisition    Sampling    Memory Depth    Sample Rate
Normal         Realtime    Normal          500.0MSa   
« Last Edit: January 25, 2013, 05:40:26 pm by nixxon »
 

Offline nixxon

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: no
I just turned some pages in the SDG1000 series manual and on page 70 it is mentioned a function that is supposed to initiate a self calibration:

    [Utility] --> "Test/Cal" --> "SelfAdjust"

The manual just mentiones this option, but does not describe it any further. Does anyone know what happens when you select "SelfAdjust"? Does the AWG perform better afterwards?
 

Offline BlueLaserTopic starter

  • Contributor
  • Posts: 17
  • Country: us
I'm awaiting official instruction on the channel 2 repair.  I guess I got the go ahead to remove the void warranty sticker!   >:D  At any rate, Nixxon had suggested doing the self-cal which for some reason I never considered.  I had a set of images on the decades of channel 1 and 2 performance while triggering on the sync out signal locked to channel 1.  The self-cal without a doubt has greatly improved the higher frequency performance.  The low frequency is still riddled with glitches BUT... the glitches are now occurring in a more regular (less random fashion) and aligning on the trace.  Just a note, that on my unit the Channel 1 to Channel 2 phase error at 100Hz can be as large as 18 microseconds!!!   >:(   Crazy!!!!  It's like they're not even on the same clock and it seems totally random.  I sure hope these resistors magically address all these issues. 

As for the repair, I need to go and buy some 0603 resistors to modify the circuit.  I only have 1206 and 0805 in my parts bin now.  I sure hope I get compensated for all this diagnostic and debug work for the Siglent. 

Teardown pictures to come.  I know some people wanted to see all the parts and it doesn't look like any of mine have been sanded down. 

P.S. If anyone is wondering why I don't test the 10MHz range, it's because the output sync signal can only go upto 2MHz for some reason???   :-- 
 

Offline nixxon

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: no
I'm awaiting official instruction on the channel 2 repair.  I guess I got the go ahead to remove the void warranty sticker!   >:D  At any rate, Nixxon had suggested doing the self-cal which for some reason I never considered.  I had a set of images on the decades of channel 1 and 2 performance while triggering on the sync out signal locked to channel 1.  The self-cal without a doubt has greatly improved the higher frequency performance.  The low frequency is still riddled with glitches BUT... the glitches are now occurring in a more regular (less random fashion) and aligning on the trace.  Just a note, that on my unit the Channel 1 to Channel 2 phase error at 100Hz can be as large as 18 microseconds!!!   >:(   Crazy!!!!  It's like they're not even on the same clock and it seems totally random.  I sure hope these resistors magically address all these issues. 

As for the repair, I need to go and buy some 0603 resistors to modify the circuit.  I only have 1206 and 0805 in my parts bin now.  I sure hope I get compensated for all this diagnostic and debug work for the Siglent. 

Teardown pictures to come.  I know some people wanted to see all the parts and it doesn't look like any of mine have been sanded down. 

P.S. If anyone is wondering why I don't test the 10MHz range, it's because the output sync signal can only go upto 2MHz for some reason???   :--

Could you describe what happened when you selected "SelfAdjust"? Did it take long? Did the relays click? I wonder if it is required to short the outputs to ground or anything else...

On the first screen captures of yours, it seems that 120mV trigger level is a bit low. Looks like the scope has triggered on lots of the noise/glitches. Maybe a trigger level of 500 or 1000 mV is better and will give a more intelligible picture. (stay above of the noise/glitches and trigger only on the actual rising edge of the trace). Maybe changing the trace from line to dots would be better as well. (for some reason, the trace "dots" of my DS1102E aren't only the bright yellow dots, there is a trail of a few pixels (dim yellow).
« Last Edit: January 25, 2013, 04:51:52 pm by nixxon »
 

Offline BlueLaserTopic starter

  • Contributor
  • Posts: 17
  • Country: us
@Nixxon,  The self-cal procedure takes about 20-30 s.  During the process, you can hear a number of relays clicking.  Because I was not sure if the cal procedure works for both or each channel, I repeated it twice (once for each channel).  I had all inputs and outputs floating during the procedure. 

As for the traces, I only have a 2 channel oscilloscope so what you can't see is the triggering on the Sync out signal from the back of the SDG1020.  The signal is relatively low but even the low trigger level is more than sufficient to trigger correctly IF the signal output is correct.  Even if I trigger on Channel 1 or 2 rising edge, the same result will be seen.  By using the sync out signal, I am trying to demonstrate the jitter with respect to the internal clock as opposed to the jitter from channel 1 to 2 or vice-vera.  If the picture looks unintelligible, that is because  that is how bad the jitter and glitch problem is!  I captured using infinite persistence for only 10-15s at a rate of up to 10kwfms/s. 
 

Offline nixxon

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: no
Maybe you could try some screen captures in persistance mode with trigger on the waveform itself rather than the sync signal. That gives one less source of error.

I have noticed that the sync signal on my SDG1020 is not at the beginning of a waveform. It is rather in the middle of the waveform somewhere.

10kwfms/s is pretty nice. I have read somewhere that the DS1000E series has ~800 wfms/s.
« Last Edit: January 25, 2013, 07:02:01 pm by nixxon »
 

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4134
  • Country: fi
  • Born in Finland with DLL21 in hand

  Just a note, that on my unit the Channel 1 to Channel 2 phase error at 100Hz can be as large as 18 microseconds!!!   >:(   Crazy!!!!  It's like they're not even on the same clock and it seems totally random.  I sure hope these resistors magically address all these issues. 


No, these reistors change do not change this timing jitter. It affect voltage glitches there before rising edge in images.
Also these do not help phase error.
Just  specially square wave is exeption...
It is also why there in specifications read:
(and note word "typical!")
Is it typical if 97.5% of samples show under 0.1% time error and all rest show example max 0.3%?
And this is jitter +- time from exactly right.

Of course becouse jitter is random it may show Channel to Channel peak error double.

But if jitter type time error... long time frequency is just as accurate as freq reference. Using external reference for SDG and frequency counter can proof it very easy.

Jitter (in this square wave and specially only in it) come from system how it is produced.
Square wave is  derived using PECL comparator from internal sinewave what is produced in DDS system as also normal sinewave out. In Square function system produce  sinewave frequency (what freq you set for sqr) with  fixed level and it go to comparator. This comparator method is not very accurate due to many type of error   sources... sivevawe have noise... all have noise... and then there come slowly changing (lo freq) sinewave and comparator look if it go over voltage treshold. (this voltage treshold is also used for adjust duty%)

Sinewave to comparator other input.
Treshold (Duty% adjust) to other input.
Out square.

These resistors affect ONLY to PECL Comparator hysteresis. Changing this hysteresis can reduce voltage glitches, as shown in test images before.

PECL is:
Analog Devices  ADCMP562

If need square wave but better accuracy... I recommend use pulse mode.

Here is what datasheet tell about square.


« Last Edit: January 25, 2013, 06:59:11 pm by rf-loop »
EV of course. Cars with smoke exhaust pipes - go to museum. In Finland quite all electric power is made using nuclear, wind, solar and water.

Wises must compel the mad barbarians to stop their crimes against humanity. Where have the (strong)wises gone?
 

Offline nixxon

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: no
Att: rf-loop

Do you know how to perform a SelfAdjust procedure properly?

Do you know the specs of the sync signal of the SD1000 series?

I have noticed that the sync signal is a pretty short pulse (manual: ">50ns") that is occuring somewhere during an arbitrary waveform. I do not recall where it occurs during a built in wavfeorm.

Siglent should supply us with a FW update that - among other things - gives us more sync signal options. I wish generally that Siglent were open for suggestions and had the ability to improve their equipment's user experience. It seems like a one way street with Siglent.
« Last Edit: January 25, 2013, 07:42:36 pm by nixxon »
 

Offline BlueLaserTopic starter

  • Contributor
  • Posts: 17
  • Country: us
Yeah, RF-loop, I have to say, you're amazingly knowledgeable and familiar with this system.  If I didn't know any better, I would say you were a consultant!  So it would seem that you're describing a square wave formed from comparator filtering of a sine wave--thus amplifying any error in the sine generation.  I wonder why they chose the square wave to be generated like this instead of DDS.  So at least pulse mode allows the DDS generation of the signal but unfortunately, that is limited to 5MHz in stead of 20. 

I too noticed the very short and low sync pulse which is not aligned to the edge of the actual square wave... but that now makes sense based on how rf-loop described the generation of the square wave.  That must be the trigger point for the ADCMP562.  I also agree with nixxon that the unit has some pretty nice high spec parts inside.  I found mine has exclusively Rubycon 105°C Aluminium caps inside which quite nice.  I feel a little bit of firmware work could really take this generator to the next level.  I should probably talk to them some more but I need to buy some resistors to get this repair job done first.   
 

Offline nixxon

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: no
Yeah, RF-loop, I have to say, you're amazingly knowledgeable and familiar with this system.  If I didn't know any better, I would say you were a consultant!  So it would seem that you're describing a square wave formed from comparator filtering of a sine wave--thus amplifying any error in the sine generation.  I wonder why they chose the square wave to be generated like this instead of DDS.  So at least pulse mode allows the DDS generation of the signal but unfortunately, that is limited to 5MHz in stead of 20. 

I too noticed the very short and low sync pulse which is not aligned to the edge of the actual square wave... but that now makes sense based on how rf-loop described the generation of the square wave.  That must be the trigger point for the ADCMP562.  I also agree with nixxon that the unit has some pretty nice high spec parts inside.  I found mine has exclusively Rubycon 105°C Aluminium caps inside which quite nice.  I feel a little bit of firmware work could really take this generator to the next level.  I should probably talk to them some more but I need to buy some resistors to get this repair job done first.

I understand that RF-loop, among other brands, is a supplier of Siglent gear in Finland. I was thinking of user: aghp.

By the way, I don't know anything about high spec parts inside the Siglent AWG's. I have never opened my unit and I don't know much about the internals.

However, after some research before I bought an AWG, the Siglent came out pretty good. Just a hairs width better than Rigols DG1022. I did not (and do not) believe, that Atten is the principal in the Atten-Siglent relationship. I believe Siglent is.

So, LULU and Jelin Wei @ Siglent: You travel the World on behalf of Siglent, you attend Electronica in Munich, Germany, you communicate with your customer and hopefully with your company's decision* makers: Keep it up, and polish your FW in particular and customer relations in general!  We demand more of your good stuff :D

*the selection between possible actions
« Last Edit: January 27, 2013, 05:24:13 pm by nixxon »
 

Offline nixxon

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: no
I activated "SelfAdjust" and now the DC output is exactly 1 mV more off than before.

There has to be a correct way to perform this "SelfAdjust" procedure...

I wonder what will happen if both channels are shorted to ground while doing it? As I do it, I will measure current between signal and ground as I "SelfAdjust"...

EDIT: With DMM  in mA/A mode connected between CH1 signal and GND, nothing was registered on my DMM (Fluke 87) while "SelfAdjusingt" the SD1020.
« Last Edit: January 26, 2013, 07:13:33 am by nixxon »
 

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4134
  • Country: fi
  • Born in Finland with DLL21 in hand
I activated "SelfAdjust" and now the DC output is exactly 1 mV more off than before.

There has to be a correct way to perform this "SelfAdjust" procedure...

I wonder what will happen if both channels are shorted to ground while doing it? As I do it, I will measure current between signal and ground as I "SelfAdjust"...

EDIT: With DMM  in mA/A mode connected between CH1 signal and GND, nothing was registered on my DMM (Fluke 87) while "SelfAdjusingt" the SD1020.

Selfcalibration (or perhaps "self adjusting" is better) do not use any external references. It is fully internal process and its meaning is partially compensate components drifts and offsets from nominal. There are lot of components together and many things cross affect each others. There is filter networks, amplifiers, attenuators etc etc. Self calibration do lot of things but of course there is still many errors left after sefcal. Your SDG go littlebit worse with one parameter. Did you check all combinations what go better?

Always also drift may be to good direction or to bad direction. If it have gone to good direction then selfcal return it to littlebit bad direction. Also selfcal, as all things, is not "ideal" and repeating selfcal every result may be littlebit different. It is just how it randomly go (there is random things affecting). Also internal reference, timebase and voltage reference(s) may drift and may have more or less initial errors  (including they noise) to nominal value and who knows if they drift to good or bad direction or randomly both direction.  World is full of errors and all what you see is sum of all errors, including (small part) also your measurement errors. 

Siglent specifications tell that 100kHz sinewave 1Vpp is inside specs if it is ~995.5mV to ~1004.5mV
and if follow this specs 10mVpp same signal... it is 8.965 - 11.035
(±(0.3dB+1mVpp of setting value)

And then flatness ±0.3 dB compared to 100kHz (specified using 5Vpp signal)  (so if you measure other than 100kHz there can add this flatness error. It means that there is +-0.6dB "window" (+- this 1mV) for level.
Example: If set output to 50Hz and 10mVpp  and someone tell that there is 12mVpp.  20% more than setting. It is still inside specifications.

DC output accuracy is not separately specified and we can only believe it is somehow in same kind of accuracy class as vertical accuracy is specified.

If read as it can read.. DC frequency is zero. Vertical accuracy is specified by 100kHz and then there is specified flatness. Flatness is relative error to value in specified frequency.
If 100kHz is maximum off, example -0.3dB  (and 1mV)  and if we go to lower or higher freq with flatnes specs +-0.3dB  we can see that total can be -0.6dB 
In low end of frequency there is 0Hz, 1uHz, 2uHz etc.. and we call this oHz as DC. We have no any method for look if there is extremely low frequency or just zero... of course if we have 1uHz it is easy to see just wait 1000000 second for whole phase.  But if you measure (and do not know any other things that voltage you see... how it can know it is DC or  extremely low freq AC - (I do not know any method)
With this thinking we can stretch thinking from Siglent specs for 100kHz to DC and think it is maybe in specs if it have 0.6dB +1mV error without loading and AC is same if there is not resistive or reactive loading..


If need more accurate dc (or ac), just adjust it together with measurement in system where it is use.
This is always normal everyday practice in  lab works where need more accuracy that specs limits.

EV of course. Cars with smoke exhaust pipes - go to museum. In Finland quite all electric power is made using nuclear, wind, solar and water.

Wises must compel the mad barbarians to stop their crimes against humanity. Where have the (strong)wises gone?
 

Offline nixxon

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: no
Does anybody know how many mA the DC output of the SDG1000 series can handle?

And how does the unit handle a short?

I guess it is not supposed to be used as a PSU.
 

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4134
  • Country: fi
  • Born in Finland with DLL21 in hand
Does anybody know how many mA the DC output of the SDG1000 series can handle?

And how does the unit handle a short?

I guess it is not supposed to be used as a PSU.

Same as what ever signal from SDG BNC.
Source impedance is 50ohm (always), no exeption.

If you load it with 50ohm you get half compared to "open".
If you set SDG output for 50ohm it correct display to show voltage to 50 ohm load.

5V and short circuit: current is around 100mA


CH1 output amplifier is TI3095
CH2 output amp is Intersil EL5166

Between out amp and BNC out there are 50ohm resistor.

It can say it is short circuit protected but still I do not recommend continuous short circuit.

It can also find in user manual.....
it is a good idea to read at least once even if it is really poorly written.

"SDG1000 Series has a fixed 50? Series Impendence. No matter what value
the set parameter is, if the real load is different from the set one, the displayed
voltage will not equal the real voltage"

« Last Edit: January 27, 2013, 04:45:20 pm by rf-loop »
EV of course. Cars with smoke exhaust pipes - go to museum. In Finland quite all electric power is made using nuclear, wind, solar and water.

Wises must compel the mad barbarians to stop their crimes against humanity. Where have the (strong)wises gone?
 

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4134
  • Country: fi
  • Born in Finland with DLL21 in hand
I will later make some more tests and explanations (nearly total lack of time now and also waiting some components)

You find more info here about Square wave in SDG1000 series.




I have noticed that the sync signal is a pretty short pulse (manual: ">50ns") that is occuring somewhere during an arbitrary waveform. I do not recall where it occurs during a built in wavfeorm.


Here more about SDG1000 series SyncOut "secrets" and "freaks" 


« Last Edit: January 30, 2013, 08:44:53 am by rf-loop »
EV of course. Cars with smoke exhaust pipes - go to museum. In Finland quite all electric power is made using nuclear, wind, solar and water.

Wises must compel the mad barbarians to stop their crimes against humanity. Where have the (strong)wises gone?
 

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4134
  • Country: fi
  • Born in Finland with DLL21 in hand
I will update explanations here later after it is "ready". If I slowly add and edit it here it is nearly as "spamming" here so I will avoid this.

(first I will add more and more tests and explanations about SyncOut (and TrigOut) to this before linked other place.  I can not do this all at once so I will first edit and add all info slowly to this other place becouse I can use only small time slices for this work. You can follow up this work there.)
EV of course. Cars with smoke exhaust pipes - go to museum. In Finland quite all electric power is made using nuclear, wind, solar and water.

Wises must compel the mad barbarians to stop their crimes against humanity. Where have the (strong)wises gone?
 

Offline BlueLaserTopic starter

  • Contributor
  • Posts: 17
  • Country: us
So I finally got the replacement 20k 0603 resistors for R82 and R87.  I forgot why I never order smaller than 0805 for hand soldering  :scared: .  After much care, I managed to get the new parts in place  :phew: and tested the output.  Here is the brief synopsis and results:

Old values   40 k? (40.02 k?   and 40.03 k? measured),
New Values 20 k? (19.907 k? and 19.914 k? measured)

I de-soldered the old parts and measured them using a Uni-Trend UT61E multimeter and found them to be in very good agreement and very close to the listed value of 40k.  This is probably because the hysteresis response should be as similar as possible between the two channels.  I only had 5% resistors which I could find for cheap so I decided to manually bin them and measured about 20 values and found a pair which were off by only 7 ohms (<0.05% variance, ?0.5% tolerance).  As I said before, I think the variance is more important than the tolerance.  I found that the high frequency response (>2MHz) is definitely corrected and acceptable but the low frequency response (while having fewer random glitches) has more full transitions.  There is a bit more ringing than before in the output signal at higher frequencies but the lower seem to have less overshoot and pre-shoot.  As RF-loop said, at lower frequencies the Pulse function does work far better as it is DSS. 

I've also included pictures of parts of the board.  I have to warn those who might want to do this repair, it is not for the faint of heart.  I have a hot air rework tool but was afraid of overheating the board.  I decided to use a blade soldering tip to get the parts on and off but being so small, it was very difficult.  I wore 2 esd straps and worked on a static mat the entire time. 
 

Offline BlueLaserTopic starter

  • Contributor
  • Posts: 17
  • Country: us
Sorry, PDF seems to have not attached correctly, here are scans. 
 

Offline rf-loop

  • Super Contributor
  • ***
  • Posts: 4134
  • Country: fi
  • Born in Finland with DLL21 in hand
My opinion for measuring glitches and jitter.

Use CH1 for trig directly from signal itself.
Measuring trig out or syncout jitter related to signal is other case.

EV of course. Cars with smoke exhaust pipes - go to museum. In Finland quite all electric power is made using nuclear, wind, solar and water.

Wises must compel the mad barbarians to stop their crimes against humanity. Where have the (strong)wises gone?
 

Offline nixxon

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: no
Agree. Set scope settings to Horizontal scale = 20 ns/div and Vertical = 100mV/div.

Show one trace only. Trigger on the trace itself and not the sync signal.
« Last Edit: February 05, 2013, 11:05:23 pm by nixxon »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf