Author Topic: New Rigol 16-bit function generators DG800/900 series  (Read 60492 times)

0 Members and 1 Guest are viewing this topic.

Offline TurboTom

  • Frequent Contributor
  • **
  • Posts: 873
  • Country: de
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #600 on: September 26, 2020, 11:14:02 pm »
Can anyone identify the FPGA on the main board?

I did a strings search for anything calibration related in the SardineMain executable program that seems to control basically every function of this unit when it is on, and found a lot of interesting information (dump attached in this message).  The first thing to say is that "/root/CalibrationData.dat" is referenced in the SardineMain program but does not exist in the firmware from Rigol's website.  This leads me to believe that as we suspected it is generated after the unit is turned on and the calibration routine has been run.  There is also a reference to a calibration routine (ServCalibration.cpp) in the dump that I have attached.  Does anyone think its possible to unpack this executable to get at these programs? (I have also attached this executable to the end of this message)

I'm going to try to read the contents of the winbond flash and hopefully extract the firmware so that I can get that CalibrationData.dat file from my unit and crack it open.

Also just as a fun note, I soldered in some leads and found that the JTAG connection is not disabled, so it is possible to reprogram the FPGA with the .bit files in the firmware (or any other bit file generated for this FPGA)


The FPGA is a Xilinx SPARTAN6 XC6SLX9-FTG256BIV. The package marking is quite difficult to decipher since the laser marking isn't very deep and moreover, Rigol arranged the assembly so there's silicone pad touching the top of the FPGA, spilling silicone oil all over it, affecting readability even more...

Anyway, application of some brake cleaner and dry tissue and placing the illumintaion at a shallow angle, revealed the imprint. So it's the second smallest FPGA in XILINX's Spartan6 range.

Yet, I don't think that's the limiting factor that precludes the contemporary use of CH2 and the frequency counter. It rather seems that the mysterious U603, of which I guess that it's a DAC (possibly 2 channel audio type) to generate the offset voltages, is used to output the trigger threshold for the freqency counter input comparator and thus is no longer available for the offset of channel 2. I may be completely wrong, though...  :-//

(rant on...) BTW, I consider it bad style to edit a post to completly change its meaning or to remove substantial parts of it. This puts consecutive posts out of order and may render considerable time and effort spent by other forum members futile. It's much better practice to just cross out the sections that one wants to remove from his / her post or to publish another post that explains the new motivation. In this case, I specifically added the citation of the original post that I was referring to... (rant off)

Cheers,
Thomas
 

Offline maxwell3e10

  • Frequent Contributor
  • **
  • Posts: 533
  • Country: us
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #601 on: September 26, 2020, 11:37:37 pm »
On a slightly different topic, I found that if the generator is outputting an arbitrary waveform it cannot seem to lock to an external 10 MHz clock. I wonder of someone can confirm it.
 

Offline SMB784

  • Frequent Contributor
  • **
  • Posts: 289
  • Country: us
    • Tequity Surplus
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #602 on: September 26, 2020, 11:39:00 pm »
(rant on...) BTW, I consider it bad style to edit a post to completly change its meaning or to remove substantial parts of it. This puts consecutive posts out of order and may render considerable time and effort spent by other forum members futile. It's much better practice to just cross out the sections that one wants to remove from his / her post or to publish another post that explains the new motivation. In this case, I specifically added the citation of the original post that I was referring to... (rant off)

Cheers,
Thomas

My bad, sorry!  Thanks for getting me that information.
 
The following users thanked this post: TurboTom

Offline TurboTom

  • Frequent Contributor
  • **
  • Posts: 873
  • Country: de
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #603 on: September 27, 2020, 07:33:20 pm »
On a slightly different topic, I found that if the generator is outputting an arbitrary waveform it cannot seem to lock to an external 10 MHz clock. I wonder of someone can confirm it.

I checked the behaviour of my "improved" DG811, F/W 00.02.04, with the built-in arbitraries and found that it very well locks onto an external reference frequency. You've got to tell the instrument in the "Utility" menu to use the external clock source, though, since by default, it uses the internal source and utilizes the "EXT Ref" port to output this frequency.
« Last Edit: September 27, 2020, 10:19:06 pm by TurboTom »
 

Offline maxwell3e10

  • Frequent Contributor
  • **
  • Posts: 533
  • Country: us
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #604 on: September 27, 2020, 11:41:08 pm »
I was using a custom uploaded waveform. I will check more, it was locking fine to external clock when outputting sine wave (after set to external) but would report a error when outputting a custom waveform.
 

Offline TurboTom

  • Frequent Contributor
  • **
  • Posts: 873
  • Country: de
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #605 on: September 28, 2020, 06:36:33 am »
That really surprises me. The "AWG engine" shouldn't even notice the difference whether the reference is supplied from its internal oscillator or via the external input. It's just a switch, controlled by the CPU module and (probably) a (divided) signal fed back via the FPGA to a counter so the CPU can verify that the external reference is in the right ballpark or present at all.

Maybe you used a dodgy BNC cable or adapter to supply the reference?

I'll set up a custom arbitrary and will experiment some further as well. Should this turn out to be truely a problem, this would be a vast negligence of Rigol...


Edit: Did some more testing and indeed, I found a very weird behavior when using custom arbitraries! The instrument drops out of external reference mode with an error if "interpolation" as filter mode is selected. When using "step" or "smooth" filter response, EXT Ref stays enabled and the instrument uses it. Must be a peculiar firmware bug! Rigol, you've got a job to do...  >:D
« Last Edit: September 28, 2020, 07:12:44 am by TurboTom »
 
The following users thanked this post: maxwell3e10

Offline maxwell3e10

  • Frequent Contributor
  • **
  • Posts: 533
  • Country: us
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #606 on: September 28, 2020, 06:48:45 pm »
Thanks for confirming it!  I was actually trying to do something with the FG (hard to believe :)) so didn't investigate further. But yes, there doesn't seem to be any fundamental reason for this problem.
Edit: Unless Rigol uses the clock reference PLL to generate some kind of variable clock for waveform output?
« Last Edit: September 28, 2020, 06:54:41 pm by maxwell3e10 »
 

Offline joeyjoejoe

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ca
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #607 on: September 29, 2020, 08:30:26 pm »
I am following steps a few pages back.

I have a DG821 with FW "00.01.08.00.01". Can anyone confirm if this IS or IS NOT considered "FW 1.08" and if I need to downgrade with Vtech's file?
 

Online tv84

  • Super Contributor
  • ***
  • Posts: 1814
  • Country: pt
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #608 on: September 29, 2020, 08:49:05 pm »
I am following steps a few pages back.

I have a DG821 with FW "00.01.08.00.01". Can anyone confirm if this IS or IS NOT considered "FW 1.08" and if I need to downgrade with Vtech's file?

IS.
 

Offline joeyjoejoe

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ca
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #609 on: September 29, 2020, 08:51:39 pm »
Thanks :) The wording suggested it was not.

Skipping that step, just got my magic USB stick, finishing Ultra Sigma download now... wish there was an easier way with linux, I tried PyVISA but it didn't seem to respond to commands.
 

Offline joeyjoejoe

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ca
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #610 on: September 29, 2020, 09:00:57 pm »
Update - thanks Luckygecko, tv84 and vtech. DG821->DG992 complete.
 

Offline TurboTom

  • Frequent Contributor
  • **
  • Posts: 873
  • Country: de
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #611 on: October 02, 2020, 12:07:05 am »
After @nctnico's review of the Tektronix AFG31022, I just had to have a more detailed observation of my "DG811+++'s" inter-channel phase accuracy behavior. So I hooked up both channels of the AWG to my 53310A modulation domain analyzer, configured as a high-speed timer. Channel 1 would start the measurement, Channel 2 would stop it.

Since I wanted to analyze a possible "phase drift" at whole-number multiples of frequencies between the two channels, I always configured channel 2 to output a whole number multiple frequency of channel 1. I experimented in "couple mode" with both frequency and phase coupling enabled or disabled with little observable effect.

The result was disappointing: depending on the frequency pairs, I can find a phase drift, regardless of the coupling parameter, at factors sometimes as low as ten between the frequencies. I didn't dial in ultra-odd combinations. 60kHz and 1.2MHz for example walks away at approx. 100ps per minute. Other combinations are drifting even faster.

Seems like Rigol didn't get the phase accumulator math exactly right. I'ld expect that the "phase coupling" has some real effect, even if the frequencies are not identical but whole number multiples. Otherwise, the "frequency copupling" should work accurately to multiples of at least 1000.

IMO, the DG811 "hacker's delight"  >:D is still a good AWG for its price, but never ever pay the price for a higher model in the range, especially not the DG900 or DG2000 series. For that kind of money, the performance will be disappointing, and there are better choices available.

I'm quite curious if we'll eventually see a firmware update that takes care of this... IMO it would be sufficient to reset (re-align) the phase automatically each time when the multiple of periods has passed. The additional phase noise in the faster channel should be neglible. It may not be necessary to modify the math routines that probably, due to rounding inaccuracies, cause the phase accumulators to drift.
« Last Edit: October 02, 2020, 11:31:05 am by TurboTom »
 

Offline sequoia

  • Supporter
  • ****
  • Posts: 122
  • Country: us
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #612 on: October 04, 2020, 03:01:26 am »
Anyone succeeded "downgrading" back to v1.08 firmware on unit that came with v2.05 firmware from factory?

I tested modified 1.08 firmware update and unit detects it and prompts for upgrade. However, if you choose "ok" it just spins in the waiting screen for a while and then the animation freezes and after a while whole upgrade window goes away (unit does not reboot). Then it will prompt again for upgrade....


UPDATE:

I was able to use the official 2.04 firmware to "downgrade" from 2.05 -> 2.04 firmware.  However, no change in behaviour if attempt to downgrade to 1.08 firmware....
« Last Edit: October 04, 2020, 03:33:11 am by sequoia »
 

Offline TK

  • Super Contributor
  • ***
  • Posts: 1603
  • Country: us
  • I am a Systems Analyst who plays with Electronics
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #613 on: October 04, 2020, 04:41:39 am »
Anyone succeeded "downgrading" back to v1.08 firmware on unit that came with v2.05 firmware from factory?

I tested modified 1.08 firmware update and unit detects it and prompts for upgrade. However, if you choose "ok" it just spins in the waiting screen for a while and then the animation freezes and after a while whole upgrade window goes away (unit does not reboot). Then it will prompt again for upgrade....


UPDATE:

I was able to use the official 2.04 firmware to "downgrade" from 2.05 -> 2.04 firmware.  However, no change in behaviour if attempt to downgrade to 1.08 firmware....
When you downgrade from 2.05 to 2.04, doesn't the model change to DG992?  What do you mean by "no change in behavior"?
 

Offline sequoia

  • Supporter
  • ****
  • Posts: 122
  • Country: us
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #614 on: October 04, 2020, 04:59:06 am »
Anyone succeeded "downgrading" back to v1.08 firmware on unit that came with v2.05 firmware from factory?

I tested modified 1.08 firmware update and unit detects it and prompts for upgrade. However, if you choose "ok" it just spins in the waiting screen for a while and then the animation freezes and after a while whole upgrade window goes away (unit does not reboot). Then it will prompt again for upgrade....


UPDATE:

I was able to use the official 2.04 firmware to "downgrade" from 2.05 -> 2.04 firmware.  However, no change in behaviour if attempt to downgrade to 1.08 firmware....
When you downgrade from 2.05 to 2.04, doesn't the model change to DG992?  What do you mean by "no change in behavior"?

No, model stayed as DG811.  No change in behaviour when trying to upgrade (downgrade) to 1.08 firmware.  "Waiting" screen shows up after clicking "OK" and the animation spins for a while before freezing...


I was finally able to run the downgrade to 1.08 firmware. Starting upgrade when unit was already running (on 2.04/2.05 firmware) didn't work. But booting up unit and pressing "Help" key rapidly during power on, seemed to trigger some kind of "firmware recovery" mode that started the firmware upgrade automatically... This way downgrade to 1.08 firmware was successful.

 

Offline SMB784

  • Frequent Contributor
  • **
  • Posts: 289
  • Country: us
    • Tequity Surplus
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #615 on: October 08, 2020, 09:52:28 pm »
I verified today that the JTAG interface only works with the Xilinx Spartan6 FPGA, but I did notice something interesting on the under side of the "core board"

Does anyone have any idea what this set of 7 pads might be for (see red box in attached image)?  Maybe a JTAG interface for the TI AM335x CPU?  If so, maybe we can hook into that and download the contents of the NAND flash to get the CalibrationData.dat file specific to one of our units.

Offline rea

  • Contributor
  • Posts: 7
  • Country: af
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #616 on: October 11, 2020, 12:57:28 am »
No luck here either

Looks like we will need a custom firmware or figure another way into root shell.

Another way: http://codelabs.ru/firmware/rigol/dg8xx-9xx/2.05.00-enable-ssh/
 
The following users thanked this post: thm_w, ultranalog, TurboTom, SMB784

Offline SMB784

  • Frequent Contributor
  • **
  • Posts: 289
  • Country: us
    • Tequity Surplus
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #617 on: October 11, 2020, 02:37:50 am »
No luck here either

Looks like we will need a custom firmware or figure another way into root shell.

Another way: http://codelabs.ru/firmware/rigol/dg8xx-9xx/2.05.00-enable-ssh/

Ok this is intriguing!  The readme claims that this technique wont survive an update, but in our case that's not really a problem because all we are trying to do is get the calibration info/procedure.  My bet is that if we can update the calibration info with the correct values using this access procedure you have linked, I suspect that these calibration values will likely persist between updates back to stock firmware with the DG992 upgrade in tact.  At the very least I can try to get the contents of the firmware.

Now I just gotta figure out how to SSH into this thing via USB... do I need to get a USB->ethernet adapter for that?  If so, any recommendations?
« Last Edit: October 11, 2020, 04:30:56 am by SMB784 »
 

Offline rea

  • Contributor
  • Posts: 7
  • Country: af
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #618 on: October 11, 2020, 08:03:09 am »
G'day.

Quote
Do I need to get a USB->ethernet adapter for that?

Yes.

Quote
If so, any recommendations?

I am good with Realtek 8152-based adapter (it came with ASUS notebook).  The list of USB device identifiers can be consulted here: https://code.woboq.org/linux/linux/drivers/net/usb/r8152.c.html#rtl8152_table

ASIX-based adapters are also supported, here's the list: https://code.woboq.org/linux/linux/drivers/net/usb/asix_devices.c.html#ax8817x_info

 

Online tv84

  • Super Contributor
  • ***
  • Posts: 1814
  • Country: pt
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #619 on: October 11, 2020, 08:58:47 am »
I think I posted this in the past...

This should allow a dump of some internal files, including the calib ones.

And dump the NAND...

No need to mess with root shell for these.
 
The following users thanked this post: SMB784

Offline rea

  • Contributor
  • Posts: 7
  • Country: af
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #620 on: October 11, 2020, 08:11:36 pm »
No need to mess with root shell for these.

There are many ways to skin a (net)cat...
 

Offline SMB784

  • Frequent Contributor
  • **
  • Posts: 289
  • Country: us
    • Tequity Surplus
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #621 on: October 11, 2020, 08:36:13 pm »
I think I posted this in the past...

This should allow a dump of some internal files, including the calib ones.

And dump the NAND...

No need to mess with root shell for these.

Ok, how does the dump procedure work?  I assume since it doesn't require root shell access that there is some command that allows one to extract the desired files?  How does one input that command and collect the desired files?

G'day.

Quote
Do I need to get a USB->ethernet adapter for that?

Yes.

I am good with Realtek 8152-based adapter (it came with ASUS notebook).  The list of USB device identifiers can be consulted here: https://code.woboq.org/linux/linux/drivers/net/usb/r8152.c.html#rtl8152_table

ASIX-based adapters are also supported, here's the list: https://code.woboq.org/linux/linux/drivers/net/usb/asix_devices.c.html#ax8817x_info



I assume the adapter will need to plug into the USB host port with the type B connector, so I will find an adapter for my USB ethernet adapter.  :-DD
« Last Edit: October 11, 2020, 08:44:48 pm by SMB784 »
 

Online tv84

  • Super Contributor
  • ***
  • Posts: 1814
  • Country: pt
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #622 on: October 11, 2020, 08:43:02 pm »
How does one input that command and collect the desired files?

Execute those update .GELs.
 
The following users thanked this post: SMB784

Offline SMB784

  • Frequent Contributor
  • **
  • Posts: 289
  • Country: us
    • Tequity Surplus
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #623 on: October 11, 2020, 09:13:31 pm »
Alright, tried the reboot with help/local pressed method when the USB was plugged in and it gave me a Error: Bad script message and wouldn't boot.  Took out the USB, booted it up, put the USB back in, and executed the update.  Its currently stuck on the waiting screen, I assume that its downloading somethign to the USB but I'm not sure.  I'll give it a few more minutes before I kill it and reboot it.

*** EDIT ***

Killed it, got the cal data now (all in chinese, so this will be interesting).  Thanks for the script!
« Last Edit: October 11, 2020, 09:21:49 pm by SMB784 »
 

Offline rea

  • Contributor
  • Posts: 7
  • Country: af
Re: New Rigol 16-bit function generators DG800/900 series
« Reply #624 on: October 11, 2020, 09:33:19 pm »
I assume the adapter will need to plug into the USB host port with the type B connector

No: it can go into Type-A slot, the same place as for the USB drive.  So if you have the adapter, just plug it in and see if the scope will turn on USB icon, show LXI icon and show dialogs about network configuration being initialized.
 
The following users thanked this post: SMB784


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf