Jump to content
  • 0

Data Acquisition using Eclypse Z-7 with Two ZMOD ADCs


su_21

Question

Hello Friends,

I have to implement simple data acquisition system using Eclypse Z-7 and Two ZMOD ADCs. However, my requirement is to use four ADC channels in order to capture four different signals using two ZMODs with synchronization between them and make the data available to user using any mechanism. I have been going through the provided baremetal and linux demo's and also through the low level ZMOD ADC controller and AXI based IP. In an order to implement the design, I was thinking of using existing demo's, but I have few queries about them.

1.The existing baremetal application, at a time, only provides output of one ADC channel using the ZMOD class. How to get data from both channel simultaneously?
And do I need to create my own ZMOD class to provide 4 ADC output if using two ZMODs?

2. In an order to use two ZMOD ADCs I will have to instantiate another low level Controller IP and AXI IP (those provided by digilent). Is it possible to provide output of second AXI IP to common DMA? Is it possible to use single DMA for both ZMODs?

If you have any other suggestions to achieve the task apart from this, it will be very helpful for me. Please let me know if you any suggestions on this.

Thank you in advance.
 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0
1 hour ago, su_21 said:

I have to implement simple data acquisition system using Eclypse Z-7 and Two ZMOD ADCs.

"simple data acquisition system" isn't much to work with; simple and data acquisition aren't concepts that I tend to associate with each other. I'm imagining that besides simple your implementation has to be useful for some particular purpose. Can you be more specific? For instance, what sample depth do you need? Do you need to process data in 'real time' or just collect n samples. What do you want to do with the samples?

In my experience trying to go from the Digilent demo sources to a custom design isn't as simple as one would imagine. I had better results using the low level ADC controller code with some modifications and replacing the AXI level controllers all together. That's just one opinion from someone who's used the hardware.

Unfortunately, the many good features of the ZMOD ADC1410 modules aren't fully implemented in the demos.

I recommend being generous with estimating the time and effort to do a unique project with this platform.

Link to comment
Share on other sites

  • 0

Hello @zygot,

Thank you very much for the reply. I have gone through all the discussion you have done in the forum regarding the Eclypse Z-7 and also the PoC project you did with opal Kelly XEM7320 with 2 ADC1410 ZMODs, that’s very cool. However, I am restricted to use only the Eclypse Z-7 platform with two ZMODs.

My application is to capture three pulsed shaped signals (with pulse width between 1-10 us) from an optical module, and those signals will be in sync with each other. As of now the main purpose of the captured data will be for analysis and further to find correlation between them.

The sample depth provided by current digilent’s project i.e. 0x3FFE which will be fine for me, though if possible I’ll like to increase it to the maximum. No real time processing is there as of now, I just wanted to collect the data samples.

As of now developing own logic using low level controller IP is the only option I see as of now.

Thank you in advance.

Link to comment
Share on other sites

  • 0

Well, your requirements seem to fit well with what the demo code supports as far as sample depth is concerned. You ought to be able to work out a way to do 4 'simultaneous' channels. Read the Digilent comments about sample synchronization across channels. You might have to do some experimentation and calibration to assure correlation. Even though the demo ( I haven't looked at the repository for some time now ) seems to support one channel at a time this can be worked out as long as all 4 channels have capture buffers in the PL. You likely will have to work out better support for things like AC/DC coupling, scaling etc. but perhaps the prospects for completing your project without excessive effort isn't so bleak in your case. The Z7020 AXI is quite capable of DMAing 64-bit data into the external DDR at 100 MHz data rates so this might be an option and a way to increase sample depth per channel. [edit] Without bit packing, 4 channels of 100 MHz sample need to transfer 800 M bytes/s to DMA data directly into the PS controlled DDR . I've done close to 1100 M bytes/s on the Eclypse-Z7, albeit at a higher AXI clock rate, so this is doable.

It would have been nice if Digilent provided better support for Ethernet data exchange as the platform doesn't have a decent alternative or extra IO headers suitable for high speed PC communication. But this isn't an insurmountable obstacle. The ADP3450 shows that Digilent know s how to do this and at the same time likely circumvents any such support for the Eclypse-Z7.

 

Edited by zygot
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...