Author Topic: DG1000Z Arbitrary Waveform Function Generator  (Read 13486 times)

0 Members and 1 Guest are viewing this topic.

Offline thewyliestcoyote

  • Regular Contributor
  • *
  • Posts: 100
DG1000Z Arbitrary Waveform Function Generator
« on: November 06, 2014, 06:27:40 PM »
I am in need of a basic arb gen with somewhere about 50MHz of bandwidth. I really like the deep memory of the DG1000Z and the cost.

My first question is anyone have anything good or bad to say about this instrument?

How is the Rigol software? any good or will I have to write my own?

Does anyone know of a "hack" to enable the 60 MHz bandwidth on the 30 MHz version and some of the software options? or would I be the first to try?

Thanks,
Wylie
 

Offline Wuerstchenhund

  • Super Contributor
  • ***
  • Banned!
  • Posts: 2813
  • Country: gb
  • Occasionally active on the forum, available via PM
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #1 on: November 06, 2014, 09:20:44 PM »
I am in need of a basic arb gen with somewhere about 50MHz of bandwidth. I really like the deep memory of the DG1000Z and the cost.

My first question is anyone have anything good or bad to say about this instrument?

How is the Rigol software? any good or will I have to write my own?

Well, this forum does actually have a search function you could have used, which would have lead you to a review I wrote not too long ago:

http://www.eevblog.com/forum/testgear/rigol-dg1062z-arbitrary-waveform-generator-short-review/msg512306/#msg512306
Brexit n - The undefined being negotiated by the unprepared in order to get the unspecified for the uninformed.
 

Offline thewyliestcoyote

  • Regular Contributor
  • *
  • Posts: 100
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #2 on: November 07, 2014, 05:19:56 AM »
Quote
Well, this forum does actually have a search function you could have used, which would have lead you to a review I wrote not too long ago:

http://www.eevblog.com/forum/testgear/rigol-dg1062z-arbitrary-waveform-generator-short-review/msg512306/#msg512306

Yeah I had seen that before writing this, I found that very interesting and thanks for the great information, but I always love to hear a couple persons options on something. In the case they have some special use or option on the mater. I have heard varying things about the Rigol software and it seems like I my have to write my own to fix some of my needs. I and my your as well would love to see the insides of this instrument. Is the bandwidth controlled by software? and can this be changed?
 

Offline Wuerstchenhund

  • Super Contributor
  • ***
  • Banned!
  • Posts: 2813
  • Country: gb
  • Occasionally active on the forum, available via PM
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #3 on: November 07, 2014, 05:16:27 PM »
I have heard varying things about the Rigol software and it seems like I my have to write my own to fix some of my needs.

It's been a while since I wrote that review, and after some serious use my opinion that the software is really bad has only been reinforced. Why manufacturers like Rigol believe they can get away with such piss-poor programs is beyond me. Unfortunately at the moment I don't have much time to write my own, which is why I'm considering splashing out the money for a Tek AWG which works with ArbExpress.

Quote
I and my your as well would love to see the insides of this instrument. Is the bandwidth controlled by software? and can this be changed?

My guess would be that the 30MHz version is limited by software and that the hardware is the same, but that's just a guess.
I doubt that the 60MHz version can be hacked for a higher bandwidth, though.

What would be interesting however would be a hack to enable the full 16M of sample memory.
Brexit n - The undefined being negotiated by the unprepared in order to get the unspecified for the uninformed.
 

Offline thewyliestcoyote

  • Regular Contributor
  • *
  • Posts: 100
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #4 on: November 07, 2014, 06:28:39 PM »
Quote
It's been a while since I wrote that review, and after some serious use my opinion that the software is really bad has only been reinforced. Why manufacturers like Rigol believe they can get away with such piss-poor programs is beyond me. Unfortunately at the moment I don't have much time to write my own, which is why I'm considering splashing out the money for a Tek AWG which works with ArbExpress.

So when I get mine I will be sure to write something and post it for the world to use. I am at Python and C/C++ guy, what you think of using Qt for the application? and only doing connection over Ethernet to save the complexity of USB and drivers. What function do you think is needed in a software package for a arb gen?

Quote
My guess would be that the 30 MHz version is limited by software and that the hardware is the same, but that's just a guess.
I doubt that the 60MHz version can be hacked for a higher bandwidth, though.

What would be interesting however would be a hack to enable the full 16M of sample memory.
I am interested to try to hack it for bandwidth of the 30 MHz and the memory. I am not sure why the 60 MHz would have more bandwidth, as it is 60 MHz is close to the Nyquist sampling limit of 100 MHz for the 200MSPS. This is not even counting the need for oversampling to lower distortion and improve effective resolution.

I am surprised that I have not found anything on software hacks for the Rigol DG1000 and DG1000Z.
 

Offline alex.forencich

  • Frequent Contributor
  • **
  • Posts: 397
  • Country: us
    • Alex Forencich
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #5 on: November 07, 2014, 07:22:24 PM »
Quote
It's been a while since I wrote that review, and after some serious use my opinion that the software is really bad has only been reinforced. Why manufacturers like Rigol believe they can get away with such piss-poor programs is beyond me. Unfortunately at the moment I don't have much time to write my own, which is why I'm considering splashing out the money for a Tek AWG which works with ArbExpress.

So when I get mine I will be sure to write something and post it for the world to use. I am at Python and C/C++ guy, what you think of using Qt for the application? and only doing connection over Ethernet to save the complexity of USB and drivers. What function do you think is needed in a software package for a arb gen?


If you like Python, then take a look at Python IVI.  It's open source and cross platform and it supports communicating with instruments over GPIB (linux-gpib/NI visa via pyvisa), LXI (VXI-11), USB (USBTMC), and serial.  The idea is to provide common APIs for different instruments so they can be interchangeable.  It's more intended for writing scripts, but it could certainly be leveraged as the back end for an application. 

Quote

Quote
My guess would be that the 30 MHz version is limited by software and that the hardware is the same, but that's just a guess.
I doubt that the 60MHz version can be hacked for a higher bandwidth, though.

What would be interesting however would be a hack to enable the full 16M of sample memory.
I am interested to try to hack it for bandwidth of the 30 MHz and the memory. I am not sure why the 60 MHz would have more bandwidth, as it is 60 MHz is close to the Nyquist sampling limit of 100 MHz for the 200MSPS. This is not even counting the need for oversampling to lower distortion and improve effective resolution.

I am surprised that I have not found anything on software hacks for the Rigol DG1000 and DG1000Z.

If you really need a lot of sample memory, take a look at the Hantek HDG2000 series.  There is an effort right now to build an open source replacement firmware for it that will hopefully be easier to use, less buggy, and more powerful than the default hantek firmware.  Additionally, it will hopefully be able to support 128 M points on one channel at 250 M samples per second.  (the unit supports 64 M per channel out of the box, but there is no reason why that could not be divided unevenly if the FPGA configuration is built correctly - there is more than enough memory bandwidth). 
« Last Edit: November 07, 2014, 07:25:38 PM by alex.forencich »
Python-based instrument control: Python IVI, Python VXI-11, Python USBTMC
 

Offline Wuerstchenhund

  • Super Contributor
  • ***
  • Banned!
  • Posts: 2813
  • Country: gb
  • Occasionally active on the forum, available via PM
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #6 on: November 08, 2014, 12:56:44 AM »
So when I get mine I will be sure to write something and post it for the world to use. I am at Python and C/C++ guy, what you think of using Qt for the application? and only doing connection over Ethernet to save the complexity of USB and drivers.

Sounds good. I'd say Ethernet is much more important than USB as it's much more flexible, and is even adequate for cases where one might have used USB instead (i.e. simple connection of one instrument to a PC, which can be done equally simple with a network cable).

Quote
What function do you think is needed in a software package for a arb gen?

First and foremost it should do the basic functions right, i.e. allowing the user to easily create waveforms without having to jump through hoops like having to calculate how many cycles are needed to get a certain frequency. A good Zoom functionality would be a bonus, and the template properties (i.e. sample size, max voltage) should be changeable without having to close the current file and create a new one with the right properties.

The Windows version (if you'd think of doing something for multiple platforms) should follow the Windows UX guidelines, i.e.  how Windows behave and what standard key shortcuts like STRG-C do (the Rigol Ultra Station software is a very good example how a Windows program should *not* look like). It should also allow full screen mode (which the Rigol software doesn't do) to allow using more of the screen estate of a modern monitor for waveform editing.

Oh, and just to be sure: no Java!

Have a look at Tektronix ArbExpress which is their free utility for their own AWGs, which is the best one I've seen so far and very useable. If your program was a clone of ArbExpress then I'd gladly pay some money for it.

Ideally the program would also be flexible to be adapted to other AWGs, i.e. by storing the device-specific configuration in XML files so that other AWGs can be added in the future.

Quote
I am surprised that I have not found anything on software hacks for the Rigol DG1000 and DG1000Z.

I guess that the DG1000z doesn't sell that well. It's pretty expensive compared to the older DG1000 or the Siglent kit. And with a price close to the DG4000 most people are probably opting for higher bandwidth over the larger sample memory of the DG1000z.
« Last Edit: November 08, 2014, 01:12:35 AM by Wuerstchenhund »
Brexit n - The undefined being negotiated by the unprepared in order to get the unspecified for the uninformed.
 

Offline Wuerstchenhund

  • Super Contributor
  • ***
  • Banned!
  • Posts: 2813
  • Country: gb
  • Occasionally active on the forum, available via PM
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #7 on: November 08, 2014, 01:08:55 AM »
If you really need a lot of sample memory, take a look at the Hantek HDG2000 series.  There is an effort right now to build an open source replacement firmware for it that will hopefully be easier to use, less buggy, and more powerful than the default hantek firmware.  Additionally, it will hopefully be able to support 128 M points on one channel at 250 M samples per second.  (the unit supports 64 M per channel out of the box, but there is no reason why that could not be divided unevenly if the FPGA configuration is built correctly - there is more than enough memory bandwidth).

This is all great stuff but the potential features are worth nothing if the hardware is crap (it's Hantek after all!) and the software buggy. And I'm not even touching the complex task of writing and maintaining(!) reliable firmware for that thing that is not a pain to use, and this is under the assumption that the project won't be abandoned when the next hackable cheap-ass AWG comes out.

I'm not a Rigol fan but the DG1000z hardware quality is worlds apart from anything I've seen so far carrying the Hantek label.
Brexit n - The undefined being negotiated by the unprepared in order to get the unspecified for the uninformed.
 

Offline AlessandroAU

  • Regular Contributor
  • *
  • Posts: 154
  • Country: au
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #8 on: November 08, 2014, 03:01:41 AM »
I have a dg1022.

While the supplied software is terrible,

You can make some really nice software interfaces with the LABview VI's that rigol supplies.
 

Offline thewyliestcoyote

  • Regular Contributor
  • *
  • Posts: 100
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #9 on: November 08, 2014, 06:07:18 AM »
Quote
Oh, and just to be sure: no Java!
No problem, I don't think any one has to tell me that, lol. I am a fan of Qt as it is cross platform and covers up some of the shortcomings of C++ for user interface stuff.

Quote
Quote
I am surprised that I have not found anything on software hacks for the Rigol DG1000 and DG1000Z.
I guess that the DG1000z doesn't sell that well. It's pretty expensive compared to the older DG1000 or the Siglent kit. And with a price close to the DG4000 most people are probably opting for higher bandwidth over the larger sample memory of the DG1000z.
Shame I really like the large memory of it. I am working on a real time control system with some real hard timing requirements, so I was planning building a hardware in the loop test bench, and the large memory makes that possible.

Quote
If you like Python, then take a look at Python IVI.  It's open source and cross platform and it supports communicating with instruments over GPIB (linux-gpib/NI visa via pyvisa), LXI (VXI-11), USB (USBTMC), and serial.  The idea is to provide common APIs for different instruments so they can be interchangeable.  It's more intended for writing scripts, but it could certainly be leveraged as the back end for an application. 
I have seen that, I have had some trouble with it in the past for projects at work. I will definitely keep it in mind, I believe in the practical solution to problems and if seems reasonable then I will go for it.

Quote
I have a dg1022.

While the supplied software is terrible,

You can make some really nice software interfaces with the LABview VI's that rigol supplies.
guess it is that bad, I am not really a LABview kind of guy for a couple reasons. I have even used NI-CVI for work and I am not a fan. I have no problem writing even the "visa" from scratch.

Quote
Have a look at Tektronix ArbExpress which is their free utility for their own AWGs, which is the best one I've seen so far and very useable. If your program was a clone of ArbExpress then I'd gladly pay some money for it.

Ideally the program would also be flexible to be adapted to other AWGs, i.e. by storing the device-specific configuration in XML files so that other AWGs can be added in the future.
I will be sure and take a look at the Tek software. I have written some software for work to control different VNA's of differing models and manufactures and I never could quite figure out a good way to make it definable using something like XML files or JSON files. There are always little differences that I have found in the way the instruments behave or perform that make it that much harder than just having a dll for each instrument.

I am a fun of having some sort of scriptability and programmability in applications, would there be any objects to this part being python? maybe allow for signal manipulation with numpy and scipy? or maybe even the GNURadio libraries for things like filters?
 

Offline alex.forencich

  • Frequent Contributor
  • **
  • Posts: 397
  • Country: us
    • Alex Forencich
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #10 on: November 08, 2014, 07:40:59 AM »
If you really need a lot of sample memory, take a look at the Hantek HDG2000 series.  There is an effort right now to build an open source replacement firmware for it that will hopefully be easier to use, less buggy, and more powerful than the default hantek firmware.  Additionally, it will hopefully be able to support 128 M points on one channel at 250 M samples per second.  (the unit supports 64 M per channel out of the box, but there is no reason why that could not be divided unevenly if the FPGA configuration is built correctly - there is more than enough memory bandwidth).

This is all great stuff but the potential features are worth nothing if the hardware is crap (it's Hantek after all!) and the software buggy. And I'm not even touching the complex task of writing and maintaining(!) reliable firmware for that thing that is not a pain to use, and this is under the assumption that the project won't be abandoned when the next hackable cheap-ass AWG comes out.

I'm not a Rigol fan but the DG1000z hardware quality is worlds apart from anything I've seen so far carrying the Hantek label.

I'm actually working on the FPGA side of things on the HDG2000.  The hardware does not seem like complete crap, but it certainly isn't top of the line.  We'll see how it goes.  One thing that I have noticed is that most of the cheap arbs now all have basically the same architecture - a decently fast DAC (usually an AD TxDAC) paired with an FPGA and a bunch of sample memory (generally DDR2 SDRAM).  Even if another cheap AWG comes out, so long as it has a similar architecture, all is not lost as it should be possible to port most of the design over. 
Python-based instrument control: Python IVI, Python VXI-11, Python USBTMC
 

Offline alex.forencich

  • Frequent Contributor
  • **
  • Posts: 397
  • Country: us
    • Alex Forencich
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #11 on: November 08, 2014, 07:47:29 AM »
Quote
Have a look at Tektronix ArbExpress which is their free utility for their own AWGs, which is the best one I've seen so far and very useable. If your program was a clone of ArbExpress then I'd gladly pay some money for it.

Ideally the program would also be flexible to be adapted to other AWGs, i.e. by storing the device-specific configuration in XML files so that other AWGs can be added in the future.
I will be sure and take a look at the Tek software. I have written some software for work to control different VNA's of differing models and manufactures and I never could quite figure out a good way to make it definable using something like XML files or JSON files. There are always little differences that I have found in the way the instruments behave or perform that make it that much harder than just having a dll for each instrument.

I am a fun of having some sort of scriptability and programmability in applications, would there be any objects to this part being python? maybe allow for signal manipulation with numpy and scipy? or maybe even the GNURadio libraries for things like filters?

Right now, python-ivi can be used to transfer numpy-generated waveforms to arbitrary waveform generators.  Extending that could produce a very powerful (and open) platform.  I suppose the only main concern is speed; if you want to do real-time high performance DSP (e.g. software radio), then python is not really the best choice.  But if this is just intended for offline processing, then I think leveraging python makes a great deal of sense. 
Python-based instrument control: Python IVI, Python VXI-11, Python USBTMC
 

Offline thewyliestcoyote

  • Regular Contributor
  • *
  • Posts: 100
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #12 on: November 08, 2014, 08:39:03 AM »
Quote
Right now, python-ivi can be used to transfer numpy-generated waveforms to arbitrary waveform generators.  Extending that could produce a very powerful (and open) platform.  I suppose the only main concern is speed; if you want to do real-time high performance DSP (e.g. software radio), then python is not really the best choice.  But if this is just intended for offline processing, then I think leveraging python makes a great deal of sense.
I am not sure if real time performance is of any interest here, I wish common waveform generators could do direct digital synthesis of waveform from  a data stream from a PC. This is a feature that I have payed top dollar in the past in the form of SDR's. I think python for a different set of reasons is very good for SDR's. Its a very GNURadio and makes its flexibility of it possible. My thinking on using using the GNURadio libraries is for easy filtering and other functions of signal generation and a wide range of extensions for it. VOLK is another big plus, I believe in making the most out of what you have and a cheap gain in math performance is always a win in my mind.
 

Offline alex.forencich

  • Frequent Contributor
  • **
  • Posts: 397
  • Country: us
    • Alex Forencich
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #13 on: November 08, 2014, 09:05:39 AM »
I wish common waveform generators could do direct digital synthesis of waveform from  a data stream from a PC.

Now that is a very interesting idea.  This could certainly be doable for a low-rate generator channel that could be either output directly or used as a modulation input to a higher rate channel.  Maybe this is something to implement in the open source HDG2000 firmware, if we can come up with a good architecture.  It looks like the interface between the SoC and the FPGA can run around 30 to 40 Mbit/sec.  That's sufficient to stream one channel at 1 or 2 Msa/sec with a 16 bit sample depth, and double that if you decrease the sample depth to 8 bits. 

I have an Agilent ESG4433B with the digital baseband and dual arb options.  The digital baseband can take an arbitrary bit stream in through a BNC connector on the front panel (clock + data) and then use that to generate programmable I/Q symbols internally and modulate the RF output.  It should be possible to implement something similar, only the data source would come from a PC over USB or Ethernet. 
Python-based instrument control: Python IVI, Python VXI-11, Python USBTMC
 

Offline thewyliestcoyote

  • Regular Contributor
  • *
  • Posts: 100
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #14 on: November 08, 2014, 03:12:58 PM »
Quote
Now that is a very interesting idea.  This could certainly be doable for a low-rate generator channel that could be either output directly or used as a modulation input to a higher rate channel.  Maybe this is something to implement in the open source HDG2000 firmware, if we can come up with a good architecture.  It looks like the interface between the SoC and the FPGA can run around 30 to 40 Mbit/sec.  That's sufficient to stream one channel at 1 or 2 Msa/sec with a 16 bit sample depth, and double that if you decrease the sample depth to 8 bits. 
Wow I did not know anyone was doing anything with opensource firmware for any test equipment, good to know. I would love this feature! As for the data rate I think there are a number of ways that the data stream could be compressed to make use the the USB 2 or Ethernet speed limits. That would make a great signal generator for a SDR and many other things. One thing that I would ask something like that would having the instrument to shift up in frequency the input frequency.

I have a couple hours of work on the app(Nothing is the bigger picture) when I have something that I think looks good I will post it to github.
 

Offline alex.forencich

  • Frequent Contributor
  • **
  • Posts: 397
  • Country: us
    • Alex Forencich
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #15 on: November 08, 2014, 05:39:55 PM »
Quote
Now that is a very interesting idea.  This could certainly be doable for a low-rate generator channel that could be either output directly or used as a modulation input to a higher rate channel.  Maybe this is something to implement in the open source HDG2000 firmware, if we can come up with a good architecture.  It looks like the interface between the SoC and the FPGA can run around 30 to 40 Mbit/sec.  That's sufficient to stream one channel at 1 or 2 Msa/sec with a 16 bit sample depth, and double that if you decrease the sample depth to 8 bits. 
Wow I did not know anyone was doing anything with opensource firmware for any test equipment, good to know. I would love this feature! As for the data rate I think there are a number of ways that the data stream could be compressed to make use the the USB 2 or Ethernet speed limits. That would make a great signal generator for a SDR and many other things. One thing that I would ask something like that would having the instrument to shift up in frequency the input frequency.

I have a couple hours of work on the app(Nothing is the bigger picture) when I have something that I think looks good I will post it to github.

I'm actually working on the FPGA part of the open source firmware.  It's just getting started right now, not sure if you are interested in helping out at all: http://www.eevblog.com/forum/testgear/hdg2002b-awg-firmware-reverse-engineering/

Anyway, the bandwidth limit is imposed by an SPI connection between the SoC and the FPGA inside the arb.  It's designed so that the SoC/user interface can be isolated from the front end with digital isolators.  They are not installed in the units, but the connection to the FPGA is limited to the single SPI interface.  We're trying to work out the maximum rate possible over that interface right now, actually.  Also, the FPGA is quite small so it may not be possible to implement much in terms of compression. 
Python-based instrument control: Python IVI, Python VXI-11, Python USBTMC
 

Offline thewyliestcoyote

  • Regular Contributor
  • *
  • Posts: 100
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #16 on: November 09, 2014, 05:48:38 AM »
Quote
I'm actually working on the FPGA part of the open source firmware.  It's just getting started right now, not sure if you are interested in helping out at all: http://www.eevblog.com/forum/testgear/hdg2002b-awg-firmware-reverse-engineering/
Sounds interesting I will see what I can contribute, I know VHDL not Verilog tho. Should be a good chance to learn. I will have to get my hands on the hardware so that my take some time.

Its been a interest of my for some time now to design open source test gear, but time, money, work, school (same old BS).

Quote
Anyway, the bandwidth limit is imposed by an SPI connection between the SoC and the FPGA inside the arb.  It's designed so that the SoC/user interface can be isolated from the front end with digital isolators.  They are not installed in the units, but the connection to the FPGA is limited to the single SPI interface.  We're trying to work out the maximum rate possible over that interface right now, actually.  Also, the FPGA is quite small so it may not be possible to implement much in terms of compression.

SPI? Really that seems kind of slow for this sort of device. That is going to be a bigger bandwidth limit then USB or Ethernet. From the looks of it some modest compression could be done on the Ethernet or USB connections (Maybe something like just the derivative of the signal as this should be value limited to less than 16bits, or maybe FFT compression). I am not sure there is anything can be done on the SPI bus.

 

Offline alex.forencich

  • Frequent Contributor
  • **
  • Posts: 397
  • Country: us
    • Alex Forencich
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #17 on: November 09, 2014, 02:27:10 PM »
Quote
SPI? Really that seems kind of slow for this sort of device. That is going to be a bigger bandwidth limit then USB or Ethernet. From the looks of it some modest compression could be done on the Ethernet or USB connections (Maybe something like just the derivative of the signal as this should be value limited to less than 16bits, or maybe FFT compression). I am not sure there is anything can be done on the SPI bus.

Yeah, it is a little annoying.  I suppose it was an engineering tradeoff - lower bandwidth to the front end, but support for front end isolation.  Still, if we can get the SPI bus working at 48 MHz (I think the clock settings will support that, fallback is 33.3 MHz) that can still do 2-3 MSa/sec at the full depth.  Now, I'm thinking this may be far more useful as a modulating signal than as a baseband signal, and it could also be possible to send raw data bits and then generate symbols on the fly in the FPGA.  Well see how much space is available on the FPGA, it's a Spartan 6 LX 16, so there isn't a whole heck of a lot of space available.  I think the main limit will be DSP slices; the chip has 32 of them that will have to be shared across both channels. 
Python-based instrument control: Python IVI, Python VXI-11, Python USBTMC
 

Offline thewyliestcoyote

  • Regular Contributor
  • *
  • Posts: 100
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #18 on: November 09, 2014, 04:44:53 PM »
Quote
Yeah, it is a little annoying.  I suppose it was an engineering tradeoff - lower bandwidth to the front end, but support for front end isolation.
Hmm yeah that is kind of old, there are parallel bus isolators.

Quote
Now, I'm thinking this may be far more useful as a modulating signal than as a baseband signal, and it could also be possible to send raw data bits and then generate symbols on the fly in the FPGA.
I am sure I am not the only one that could use I and Q modulation of a signal and PRBS for symbol generation.

Quote
Well see how much space is available on the FPGA, it's a Spartan 6 LX 16, so there isn't a whole heck of a lot of space available.  I think the main limit will be DSP slices; the chip has 32 of them that will have to be shared across both channels.
What is the clock speed of the FPGA? I am not sure that 32 DSP slices is going to be a problem. How much math needs to be done in real time? There is only a slow connection to the DAC, it hinds at that the modulation is done in the SOC and only the modulation signal is generated in the FPGA and transferred over the SPI bus.
 

Offline alex.forencich

  • Frequent Contributor
  • **
  • Posts: 397
  • Country: us
    • Alex Forencich
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #19 on: November 09, 2014, 05:15:20 PM »
Quote
Yeah, it is a little annoying.  I suppose it was an engineering tradeoff - lower bandwidth to the front end, but support for front end isolation.
Hmm yeah that is kind of old, there are parallel bus isolators.
Well, a more standard interface would be to emulate an SRAM interface and then stick the FPGA on the SoC memory bus.  However, this requires a large number of traces, and isolating this is not very straightforward.  So using SPI means that only 4 pins need to be isolated instead of ~32. 
Quote
Quote
Well see how much space is available on the FPGA, it's a Spartan 6 LX 16, so there isn't a whole heck of a lot of space available.  I think the main limit will be DSP slices; the chip has 32 of them that will have to be shared across both channels.
What is the clock speed of the FPGA? I am not sure that 32 DSP slices is going to be a problem. How much math needs to be done in real time? There is only a slow connection to the DAC, it hinds at that the modulation is done in the SOC and only the modulation signal is generated in the FPGA and transferred over the SPI bus.

The clock input is 10 MHz, which gets upconverted to 250 MHz for the DS logic and ADC.  The FPGA interface to the DAC consists of 2 parallel 16 bit busses.  Sample memory is 2 1 Gbit DDR2 DRAMs, each controlled by MCB hardcores.  The FPGA is also connected to a 1 MSa/sec ADC for the external modulation input. 
Python-based instrument control: Python IVI, Python VXI-11, Python USBTMC
 

Offline bushmg

  • Newbie
  • Posts: 2
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #20 on: November 18, 2014, 01:50:30 PM »
I recently purchased a DG1032Z, and it came with Firmware 00.01.05.  I noticed that the hardware is exactly the same as the DG1062Z, and I'm wondering if it would be possible to "unlock" the 60 MHz capability as has been done for the various scopes.  I know that Rigol has been countering the "hacking" of options - witness the DSA815 coming now with Bootloader 01.04 and Firmware 01.09 - and when I went to upgrade the DG1032Z firmware to 01.06, I was sent both the Firmware AND a new Bootloader.  The instructions were to install the new Bootloader 01.05 first, then the 01.06 firmware.  I have not done this. 

Instead, I'm attaching these files in the hope that they might provide a clue to the latest Rigol protection.  I don't have the smarts or the equipment to JTAG and disassemble this code, but I know that there are some really sharp eevbloggers out there that might like to have a stab at it!

Oops! the Firmware is too big for this post so I will find another way to provide it.  Also, the GEL file is not allowed, so I added a .C to the name.  Please remove it after downloading.

UPDATE: Here is the link to the DG1032Z firmware file.  Please let me know if it does not work, as this is the first time I have tried using Dropbox in this way.

https://www.dropbox.com/s/m1q3dk0cq3830bs/DG1KZDSP_00.01.06.GEL?dl=0
« Last Edit: November 19, 2014, 01:14:11 PM by bushmg »
 

Offline BloodyCactus

  • Frequent Contributor
  • **
  • Posts: 452
  • Country: us
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #21 on: November 20, 2014, 11:13:52 AM »
just got mine today, 00.01.05.00.01 firmware.

damn, the scpi command READ is locked out :( cant easy dump it.

out of curiosity, when I go to its web page, network settings has a password. it is NOT blank. anyone know what the username/password is?

« Last Edit: November 20, 2014, 11:37:54 AM by BloodyCactus »
 

Offline onesixright

  • Frequent Contributor
  • **
  • Posts: 365
  • Country: nl
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #22 on: December 12, 2014, 08:48:17 PM »
Hi,

I hope it doesn't sound stupid, but I'm curious if you can create I2C / SPI waveforms with Ultra Station ?

Anybody tried that?

Thanks!
 

Offline Wuerstchenhund

  • Super Contributor
  • ***
  • Banned!
  • Posts: 2813
  • Country: gb
  • Occasionally active on the forum, available via PM
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #23 on: December 13, 2014, 03:00:38 AM »
I hope it doesn't sound stupid, but I'm curious if you can create I2C / SPI waveforms with Ultra Station ?

That's not a stupid question at all. Unfortunately it also again highlights the sad state of Waveform Editors in general.

You probably can create I2C/SPI waveforms as required, by what essentially amounts to hand-drawing your waveform. You could also manually define your waveform in csv format, i.e. through Excel.

I guess you expected something like a button which pre-defines some I2C or SPI waveform and which you can simply change as required. Unfortunately it doesn't work that way. Ultra Station is a really primitive tool, think about as the equivalent as doing photo editing with Microsoft Paint. You really have to use Ultra Station to appreciate how shit it is.
Brexit n - The undefined being negotiated by the unprepared in order to get the unspecified for the uninformed.
 

Offline onesixright

  • Frequent Contributor
  • **
  • Posts: 365
  • Country: nl
Re: DG1000Z Arbitrary Waveform Function Generator
« Reply #24 on: December 13, 2014, 03:10:28 AM »
Thank you, yeah i just found out. Installed it doesn't look state of the art :-)

I actually meant more, can a (i.e. DG1000Z series) burst a I2C signal (i.e. a char) to a LCD (via MCP23006) ?

Anyway you can capture the Wave (DSO), send it to your AWG and replay it ?

Thanks!




 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf