Jump to content

Eclypse Z7 questions


rainwater

Recommended Posts

Hello everyone

About me

I have never worked with an fpga before a few weeks ago (tang nano 9k) and have been researching the basics of fpga's to see how practical my next hobby project is.

Ive been coding c for over 25 years (windows/linux) and arduinos for about 10.

My main area of focus is industrial controls, manufacturing equipment, networking and process automation. I interface with a lot of plc's, modbus systems, and sensor arrays.

Why am I here

it was recommended that I look into the Eclypse Z7 to run my next big project. I have a rough idea how much "horse power" I need. And from what I have read so far about this board, it will have more than enough.

I am needing a highspeed adc (+100msps), lots of storage(16g@+100MB/s), dsp and FFT processing and an mcu to run the user interface and post processing of the data collected.

What I want to do.

1) Push a button to launch a procedure 

2) control the timing and firing sequence of a few external appratus with high precision.

3) Store the adc data to the sdcard along with time stamps.

4) begin post-processing of the collected data

Questions

1) Can the 1gig ddr3 ram be accessed by the mcu and fpga? If so, can the same data be shared between the two? Answer: Yes. Page 8, https://docs.xilinx.com/v/u/en-US/ds190-Zynq-7000-Overview

2) what is the maxium write speed of the micro sd socket? with the appropriate micro sd card, will it support uhs-i?

4) are there any additional i/o pins, not connected to the pmod or zmod sockets available for use? Not counting the leds or buttons.

Edited by rainwater
Link to comment
Share on other sites

Hi @rainwater

Quote

1) Can the 1gig ddr3 ram be accessed by the mcu and fpga? If so, can the same data be shared between the two? Answer: Yes. Page 8, https://docs.xilinx.com/v/u/en-US/ds190-Zynq-7000-Overview

As you see, yes. One way to approach this would be to use Xilinx's AXI DMA controller to write data passed to it via an AXI stream interface into memory, and to read it back out into a separate AXI stream. In this scenario, the MCU coordinates transfers. Just so you are aware - for someone just getting into FPGAs, this is non-trivial.

Quote

 

2) what is the maxium write speed of the micro sd socket? with the appropriate micro sd card, will it support uhs-i?

Quoting the manual, "Both low speed and high speed cards are supported, the maximum clock frequency being 50 MHz. A Class 4 card or better is recommended.". In addition to any limits imposed by the PCB design, SD card, and Zynq chip itself, the level translator used limits the data rate to 15 MB/s. I'm not certain of the actual max rate, which may be lower than this.

Quote

4) are there any additional i/o pins, not connected to the pmod or zmod sockets available for use? Not counting the leds or buttons.

No, just Zmods and Pmods.

Thanks,

Arthur

Link to comment
Share on other sites

Thank you for your reply.

A more accurate and detailed description of what Im trying to build can be found over at eevblog. This is where the Eclypse Z7 was recommended.

Do you have any suggestions that will enable me to store 30 seconds (7.5gigs) of adc data on board?

Any advice or suggestions are greatly appreciated. Even search terms are helpful.

Plan b is to use a ring buffer or FIFO in memory, then start buffering data

As this occurs, open a file on the sd card and begin storing the data. The difference in transfer rates will allow me to squeeze a little more recording time in.

Plan C is to compress the data being stored. Compress is not a good description. The data stream will consist of pulses of 3-10nS lengths with empty space in-between (30-40nS). The important data I need to collect is the pulses, and the length of time between the start of these pulses. I could optimize the data stored by buffering everything, detect these pulses and use time stamps to slice the useless information out. This would be complicated but reduce the amount of data being recorded. This is what I planned on doing in software anyways, and already have the code written.

With ideal inputs, this procedure has reduced my test data by 65%. If this figure holds with real data this decrease the transfer rate to about 90mb/s or 2.6g over 30 seconds.

Plan D, is to send the data over ethernet for storage on a pc. I would really like to keep everything on the dev board for post processing. This option does not make use of the board's true potential.

Thank you for your time.

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...