Rigol DG800 (long) list of problems and the sad death of a FPGA - Page 1
Forum section: electronics / testgear

author: MarkoAnte
author_rank: Regular Contributor
timestamp: January 20, 2020, 10:36:29 am
content: Hi,so I bought a Rigol DG822 and o boy is it problematic.The same problems were confirmed on DG832 and also on the DG1062Z. I suspect the same goes for higher end new models. But I think the supplier wanted to save face and didn't want to test all the way up to 2k model.I am working on a phase measurement sistem so I need a square wave and a sin wave, of known phase and known frequency (nothing more). All the problems I found were form using it only this way so there are sure to be more problems. Here are the problems I got so far.First the most important problem (that killed my FPGA). The DC offset is not set when the signal is turned on.The signal is set for 0 to 3.3 V, 1 MHz square wave. The time base is set to 2ms/div, and then zoomed in to 500ns/div. You can see that the "averaging" on the 2ms/div shows how the signal ramps up as the DC offset kicks in.This is how the turn on looks like:Just to prove that this is not some oscilloscope trickery, here is a picture of the start with 200 ns/div time base.This is what killed my FPGA (mid ranged kintex (150 euro + bga rework )). The pin got -1.65 V, was clamped to -0.7 ish = -(1.65-0.7)V/50R = 20mA (max is 10mA). During testing I turned the function generator output off/on quickly and that killed the diode / the pin.Second the phase alignment is broken.Lets set the output frequency to 0.8 MHz and angle to 0 deg. Then lets change the frequency form 0.8 MHz to 1.3MHz in 0.1 MHz steps, pressing the align button every time, here are the results:f0.80.91.01.11.21.3Angle[°]1012.215.81.74.6-0.4From the data sheet: Range 0° to 360°, Waveform Phase Resolution 0.03°. Resolution 0.03°, accuracy 0.03° +/- 20°Third problem, communication with PC is broken.When I tired to connect to the FG form the PC I got:Code:* Connected to: USB0::0x1AB1::0x0643::DG8A205203709::INSTR-> *IDN?<- (Return Count:55)Rigol Technologies,DG822,DG8A205203709,00.01.08.00.01* Error!!!VISA: (Hex 0xBFFF0015) Timeout expired before operation completed.I didn't waste much time on this, it could be me, my pc or just my FG. But as for all these problems I got no solutions form both rigol and the seller.Forth problem, general SW bugs.List a few that I noticed:- align does not work some times (even if we ignore the 2 problem),- save presets saves some settings but not the others eg. It shows frequency coupling on, but it is not. You have to turn it off and then on and then its ON. So the function is basically usless,- (more general) the touch screen is dodgey at best, as is the setting stuff with the wheel.Fifth, more subjective oneThe design: non stackable, edgy, with tini-tiny out of place power button that I feel like I will brake it every time. But this is.All the problems (except 4 and 5) were reported to the seller and promptly ignored. I then had to call them and they said that they could not repeat the problems. I had to go there 4 times to show how to set frequency and square wave form so they could "reproduce" the problems. Mind you this is the official re seller, that only sells rigol and agilent. They even got a big "HP EXPERT" diploma hanging on the wall.They contacted Rigol and were ignored (it seams) then I contacted Rigol and were also promptly ignored. I got no solutions to try, all I got is they can replace the FG. What QC in Rigol is doing I don't know. These are the problems you look for when testing new firmware eg. what happens on turn on.So if you are looking for a function generator look for something else.

author: TurboTom
author_rank: Super Contributor
timestamp: January 20, 2020, 02:50:06 pm
content: Marko -sorry to hear about these mishaps. I completely agree with you that this way of implementing the offset is a complete no-go. I can confirm the same behavior on my "improved" DG800.Since the DG2000 series is basically the same hardware in a different coat, I'm sure this is also true for this sereies. But I'm surprised that the DG1000Z behaves similarly since this is a much more mature product.FYI, I checked the offset switch-on behaviour of the DG4000 and the SDG6000X which both behave unproblematic (if you don't mind the inital voltage level half-way between maximum and minimum signal level).Interestingly, the DG4000 offers a setting "DDS Hold" which can be toggled on/off and is hidden in the Utility/CHxSet/2nd Page/ menu and permits a more or less direct start of the output signal with a "proper" level. Yet, output relay bounce may now be an issue.On the other hand, if "DDS Hold" is on, when changing other parameters, like frequency as shown here, the signal may get pretty much messed up momentarily.There's another interesting parameter in the aforementioned menu page of the DG4000 -- "Range" which can be toggled between "Auto" (default) and "Hold": This will prevent switching the attenuation/amplification levels of the output amplifier of the corresponding channel, preventing relay bounce / glitches to appear when changing the output amplitude. Obviously, the amplitude range is then limited to what's possible within that locked attenuator setting. But I consider this an option that may be quite useful at times.The DG4000 is the only AWG that I've got access to that has no issues with the phase relation between the output signals of the two channels. The DG800 produces a considerable phase step when crossing the 1MHz "border" as you mentioned. Seems like something gets reconfigured at that frequency internally.But even the SDG6000X shows an (apparently constant) phase delay between the outputs of something like 56ns. It's not related to scope channels, signal cables or what not. Since "Phase Coupled" mode doesn't permit to enter a constant delay (only relative or degrees) between the channels, there's no way to compensate for this (well, you could use different lengths of cables...). If running the instrument in phase mode "independent", such a compensation is possible by individual entry to the channel phase delays, but since the phase is no longer locked, it's not certain that no drift may occur (though I didn't observe any).It's also worth to mention that all the generators produce glitches or momentarily pause the signal (for a few milliseconds) when parameters (frequency) are changed.In case of square or pulse signals (or in general signals with a small number of discrete levels), there should be a menu setting of the "initial level" or "initial phase" that is present at the output while the output enable relay gets switched on. This way, there won't be the chance for any "invalid" signal level to appear at the output while enabling the signal. Simply outputting half-way between maximum and minimum signal level definitely isn't the proper way to do it.Since I haven't got access to any recent "A-Brand" AWG, I cannot verify if the situation is better with one of these, but when going into detail, every single one of the "B-Brand" units that I've got access to, leaves quite a lot to wish for. Unfortunately, the firmware turn-around times are quite long and it's not sure if the manufacturer implements every "improvement" that gets carried on to him.But I'm pretty sure that most "serious" B-Brand manufacturers are well informed of the discussions going on here on EEVBlog Forum concerning their products. I guess Rigol will at least "silently" take care of the faulty offset signal switch-on procedure in one of their next firmware updates...

author: MarkoAnte
author_rank: Regular Contributor
timestamp: January 20, 2020, 04:10:01 pm
content: TurboTom ty for so much detail.I'm pretty sure it was DG1000Z. I think I would prefer the non lethal option form DG4000 to the DG800 one.But I think that these is a modern problem type of deal. I tested the FG integrated into MSO-X 3034A there is the result:Better but still crap.I then said fu to agilent/rigol and went to a tektronix dealer. He only had AFG1022 to show me. In that model we had difficulty setting a phase between a sin and a square wave. But also on start up there was a combination between the 3034A and your DG4000. It was mid scale then it started with a similar thing that the 3034A does. I did not take a picture sadly - was not my lab/scope/time.We also tested a old model afg3000 looking thing. Don't remember the exact number. Had only 1 channel. No longer on sale, obsolete ect.No problems.Square wave, started form 0 when to 3.3, first cycle was correct duty cycle.Maybe I will go to some friends on university and nage them into letting me try some old FG. It would be interesting to see how many of the old FG do it correctly.The most infuriating this is, that this is obviously bad SW design.At the end I would be batter off just making my own FGFPGA, R2R for sin wave, pin for square wave and just dump the contents of RAM to R2R. Generate RAM contents form matlab and just re-flash the FPGA for different frequency/angle. I don't need any THD or stuff like that. Just a sin wave and a square wave of a same selectable frequency and angle.

author: thinkfat
author_rank: Unknown
timestamp: January 20, 2020, 04:28:00 pm
content: Talking about strange behavior, my SDG2042X doesn't hold phase between channels if one of them is at a very low frequency. When setting a 10MHz sine wave on one and a 1Hz PWM on the second channel, phase shifts by 90° every second.

author: worsthorse
author_rank: Super Contributor
timestamp: January 20, 2020, 06:57:55 pm
content: Quote from: MarkoAnte on January 20, 2020, 10:36:29 amThanks for sharing this info. On the communication problem, I've run into this, too. My DG832 USB communication is unreliable on older PCs. It also fails when the USB is going through a hub. Direct connection to a more modern laptop seems to reliably work.The offset is a bigger issue. I use a lot of older equipment, so I am used to measurable delays between powering on and outputs being in a known state. I don't apply that to my modern gear and I guess I need to start doing so.

author: Siglent
author_rank: Regular Contributor
timestamp: January 20, 2020, 09:00:46 pm
content: Hello Thinkfat. You can contact our EU support team by writing support-eu@siglent.com and they will be able to assist you. - Jason, SIGLENT North America

author: thm_w
author_rank: Super Contributor
timestamp: January 21, 2020, 12:24:25 am
content: Quote from: MarkoAnte on January 20, 2020, 10:36:29 amDid you create a ticket for rigol on support or how did you contact them?https://rigol.desk.com/Good to know about the issue.For the comms I mostly used USB -> LAN $5 adapter and did not have issues with that, but I haven't done any long term stuff.

author: _Wim_
author_rank: Super Contributor
timestamp: January 23, 2020, 07:30:55 pm
content: Just tested this on my DG1032Z (upgraded to DG1062Z) , it does the offset immediately correctly, but behaves more like the MSO-X 3034A. Strange behaviour but less dangerous than the DG800...Maybe you tested this on the DG1022, or it could be related to different firmwares (I am running the lastest available on my DG1032Z.

author: _Wim_
author_rank: Super Contributor
timestamp: January 23, 2020, 07:45:10 pm
content: Thinking about is some more, I think this come just from the mechanical relay for the range that is bouncing. I tried starting the pulse train with a 1mV level and changing amplitude to 3 volt while running, and got an identical result as above.

author: _Wim_
author_rank: Super Contributor
timestamp: January 23, 2020, 07:52:15 pm
content: So if they would first switch to the correct range, wait a bit until the relay settles, and then turn on the AWG, it would be perfect.

author: _Wim_
author_rank: Super Contributor
timestamp: January 23, 2020, 08:02:43 pm
content: The relay will be the same problem on the MSO-X 3034A. The decay in between the bursts comes from the fact you were using the 1M input on the MSO-X 3034A, and I was using a 50ohm adaptor on the DS1054Z. With the 50 ohm input the decay time constant was very small and no decay between burst is visible.

author: TurboTom
author_rank: Super Contributor
timestamp: January 23, 2020, 09:20:49 pm
content: IMO, the proper way of switching on an AWG would unfortunately require additional hardware. It would be as follows:The AWG has got a high-impedance (>1GOhm) input permanently wired to the output to measure the open-circuit input voltage of the device attached to the AWG.1 - The output relay is open and the AWG measures the open-circuit output voltage.2 - The AWG adjusts its output voltage to the measured voltage while the output relay is still open.2 - The AWG closes the output relay and waits for the relay bounce time to pass. Since there is no voltage differential at the output, no current will be flowing and no bounce spikes will be present at the output3 - The AWG starts outputting the preconfigured waveform.AFAIK, none of the budget AWGs has got the mentioned option to read-back the voltage at the (disconnected) output. I think I've read about some TEK AWGs that utilize some kind of digital feedback so there this switch-on scheme should be possible. A "cheap" solution to work around pos. 1 of the list above would be to add an (optional) menu item to the parameter list of "Initial Output Level" so the user can at least predefine something that suits the application best.

author: thm_w
author_rank: Super Contributor
timestamp: January 23, 2020, 10:37:09 pm
content: I will update here once I receive Rigols response.But I don't understand this:QuoteI tried having channel one and channel two outputting a square wave or pulse of the same frequency, duty cycle can be slightly different. At no point did I see the phase angle (CH1->CH2) exceed the noise of the scope (<1deg) after Align.So I must be missing something, OP can you provide a few more details?FW version 00.01.08.00.01

author: TurboTom
author_rank: Super Contributor
timestamp: January 24, 2020, 12:50:55 am
content: Try it with a sine and a square wave.

author: MrFox
author_rank: Contributor
timestamp: January 24, 2020, 01:27:20 am
content: I tested a 0v to 3.3v 1Mhz on a 1022Z (unlocked to 1062Z) with latest firmware, and it only shows the expected relay bounce, the offset is otherwise instantaneous.Could there some hardware revisions involved here?I do wish there was a configurable weak pull up/down while the relay bounce and a delay before it starts. These things are not exactly full featured for using them as digital outputs.

author: MarkoAnte
author_rank: Regular Contributor
timestamp: February 15, 2020, 11:36:33 pm
content: Update:Still no word form Rigol.But I was at a electronics fair and got a opportunity to test Siglent DSG 1032x. We tested the same sin and square wave at 1Mhz and it had no problems starting. The sin wave started 1 cycle before the square wave but both signals were clean. I should get the FG for some testing and will post pictures of how it starts.

author: bitseeker
author_rank: Super Contributor
timestamp: February 16, 2020, 02:29:08 am
content: Interesting investigation. Following along.

author: ebastler
author_rank: Super Contributor
timestamp: February 16, 2020, 08:58:07 am
content: Quote from: thinkfat on January 20, 2020, 04:28:00 pmQuote from: Siglent on January 20, 2020, 09:00:46 pmHi Thinkfat -- just curious: Did you reach out to Siglent, and did they have a solution? I have the same SDG, and am generally pleased with it. If Siglent were actually able to provide solutions for that kind of issue, I'd be very pleasantly surprised!

author: thinkfat
author_rank: Unknown
timestamp: February 16, 2020, 10:25:08 am
content: Quote from: ebastler on February 16, 2020, 08:58:07 amYes, I did contact the EU support, but they were not really able to help. They said they could not reproduce the issue and if I wasn't able to solve it I should send the device back for replacement because clearly, then the hardware would be faulty.Of course it wasn't. I eventually found an obscure setting in the Output configuration which synced the two channels and eliminated the phase shift.Only now, possibly after updating to the latest firmware I have a different issue: Even if I clock the device from an external source (GPSDO) I get a significant frequency offset. I tried feeding a 10MHz signal into my TIC and clocked it against a 1PPS from a GPS and what came out had a very significant drift. I know I did the same test with the factory firmware and it didn't exhibit that problem.

author: 2N3055
author_rank: Super Contributor
timestamp: February 16, 2020, 07:51:47 pm
content: Tried on both DG1062Z and SDG6052X.At no point they swung negative on switch on. 1MHz 50% pulse, 0-5V. DG1062Z has some relay bounce on switch on, and SDG6052X also have switch-on artefacts.But not going negative. Ever.I have one reminder though. When generating logic level signals, you should always enter voltages as Low/high level pair. If you enter it as voltage P-P + offset, it is easy to send wrong voltages to circuit.Generators don't have full output swing at all frequencies.On DG1062Z:You setup 1 MHz pulse 50% ratio, 5V P-P and 2.5V offset and you get nice 0 to 5 V signal.Then you change frequency to 15 MHz. What happens? Since generator can't swing 10V P-P at that frequency but only 5V P-P, it will KEEP amplitude and CHANGE offset. Your signal just got reconfigures to output -2,5 to +2,5V on output. This I believe is what happened here.It is algorithm, in which Rigol, when they get to the point hardware cannot swing it anymore, they chose to keep P-P swing and decrease offset to reach what is output capable at that frequency.DG1062Z can swing 0-5V (10V P-P) up to 10 MHz. If you go to 11MHZ it will switch to 5V P-P and screw up offset. And might kill something on the output.SDG6052X can swing 0-5V up to full square wave frequency (150 MHz). One of the reasons I got it.But if you try with higher amplitude (like 0-7V), then it will move upper amplitude (7V to 6V) and also will move low from 0V to 1 V.So it will keep OFFSET and decrease only amplitude. Never going negative.So on Rigol DS1062Z, generator can change voltage settings on it's own, going negative, when simply going with frequency too high.On Siglent SDG6052X it will also change signal while changing frequency. But it won't go negative, just not have wanted levels anymore.Both of them will show it on the screen. But also wont make any warning it's about to do it...And both could be enhanced by software to deal with that situation better.

author: thinkfat
author_rank: Unknown
timestamp: February 20, 2020, 09:47:38 pm
content: Quote from: thinkfat on February 16, 2020, 10:25:08 amI got it worked out, I believe:- if the two channels are phase-locked, even if the second channel is turned off, phase locking takes priority over frequency accuracy. What puzzles me, though, is that even if the first channel is an integer multiple of the second (e.g. 10MHz, 1Hz), the 10MHz output will be slightly off (couple of mHz). Might be an attribute of the PLL they use for synthesis. What's even more puzzling is, if I tune the second channel to 2Hz, the frequency offset is gone, at 3Hz it's back, etc.- If the second channel is switched off, the first channels' frequency offset stays whatever it was before you turned the second channel off. Even if you change the second channel frequency while it's off, no change on the first channel. You need to turn the second channel on again to see the effect.- If you set the two channels to "independent", no frequency offset.Here's a little table I worked out (Ch.1 set to 10MHz):Code:Ch.2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Ch.1 -170 +830 0 -500 -240 0 0 +160 0 -240 0 0 0 0 0 +160Above 16Hz you get mostly '0', but occasionally there will be a difference of a couple 10 mHz.Strange, but once you know about it you know how to take care of it.

author: MarkoAnte
author_rank: Regular Contributor
timestamp: February 21, 2020, 02:28:44 pm
content: Update:I tested and played around with Siglent SDG 1032X.My thoughts about on comparison of problems from original post.1) It does not go negative on start up, BUT sometimes it starts ok, sometime it does not, form what I can tell its random. See pictures below. The setup is ch1: square wave, 0 to 3.3V, 1MHz ch2: sin wave, -250mV to 250mV, 1MHz. I triggered on square wave, had sin wave on, square wave off and then turned square wave on.Ok:Not ok:Zoomed pictures also attached.2)Phase alignment is better, as it at least does not jump around, but it still leave a lot to be desired. (Phase set to 0)f 0.8 0.9 1.0 1.1 1.2 1.3Angle[°] 14 16 18 20 21 233) Did not test communication4) Phase align is automatic when you change something, presets seem to work, no touch screen so, in my mind, its 10X better to use just because of that.5) Standard design, better feeling power button, stack-able, has handle and rubber corners/feet, has usb in the front for loading arb. waveforms.From what I tested the siglent seems to be a better unite (it has less stuff that rub me the wrong way) but still does not star ok (sometimes). If I would be buying a new FG I would get the siglent but I don't know, if its good enough for me to buy it and have it with the rigol.@2N3055 I don't think so.1) I always enter Low/high level pair because I'm lazy and don't want to the hard maths that is 3.3/2.2) I was doing 0 - 3.3V at 1MHz on a FG that does 25MHz. Also I can increase the frequency and it still does 0-3.3V no problem.3) It does not show the setting change on screen.4) If that the output voltage would be the problem, then it would presumably not be a transient response on start up but always present.

author: thm_w
author_rank: Super Contributor
timestamp: February 26, 2020, 06:33:51 pm
content: Response from Rigol:QuoteNot sure why the release time is so long, but nice if it can be fixed.

author: thm_w
author_rank: Super Contributor
timestamp: March 06, 2020, 05:59:40 am
content: This offset on power on issue is now fixed in the firmware released on Feb 18 (0.2.4.0.0):https://www.eevblog.com/forum/testgear/new-rigol-16-bit-function-generators-dg800900-series/msg2950062/#msg2950062

author: core
author_rank: Regular Contributor
timestamp: March 28, 2020, 12:22:33 pm
content: On the paper DG800 it's a good AWG for the price, but with all these issues it's not easy for me to justify the money.The MSO5k internal AWG have the same problem regarding the offset when the generator is started.In the picture : square wave, 1kHz, 500mV, offset 250mV.

author: nigelwright7557
author_rank: Frequent Contributor
timestamp: March 28, 2020, 12:52:25 pm
content: A lot of businesses are under pressure to get stuff out the door quickly and bring in much needed cash.This means sometimes testing is only partly/quickly done.I design cheapo PC USB scopes myself and have been caught out a couple of times with silly bugs.If its a pc end bug then I can just send an update via email or pop the update on a website.If its in the microcontroller end then not so easy.So i tried to make the microcontroller end as simple as possible with most of the intelligence in the pc end.

author: eTobey
author_rank: Super Contributor
timestamp: May 03, 2024, 05:54:25 am
content: I have gotten this wavegen too.There is no issue with negative levels with firmware 00.02.06.00.01.