Jump to content
  • 0

Data acquisition


Tony_B

Question

Just looking for some help / advise / pointing in the right direction ..

I need to capture some 16-bit parallel data from a sensor at about 10M samples / sec., accumulate it into blocks, and send the blocks out over a GigE link. The sensor data is going to be read from an external FIFO which will interface to my hardware. 

1). Would an Arty Z4-20 be capable of this? .. or would something else be a better choice?

2). Assuming a Z4, any suggestions on topology?  How would I best structure this?
eg. I’m thinking DMA from GPIO to memory on the PL side, then Ethernet transfer from the PS side?  .. or could it all be done in the PL side?

3). What about an OS?  I don’t think I need PetaLinux for any other functions .. but would it help with the GigE transfers?

Any suggestions or experience would be very helpful!  

Thx. 

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

Before selecting hardware your first consideration is the 16-bit sensor interface. Likely there are more than 16 signals involved. Digilent FPGA boards tend to be designed to work with 12-pin PMOD add-on boards. The exceptions are those with an FMC connector like the Zedboard ( if you want to use ZYNQ ) or the Nexys Video or Genesys2 The question is: can you develop an FMC mezzanine board for this interface? It's not trivial. If your sensor interface has a clock then you need to have access to a clock capable FPGA pin. Be aware that the Digilent low speed PMODs have 200 ohm series resistors that can be problematic for some hardware designs and the high-speed PMODs are not ideal for anything.

Ethernet has a lot of overhead so 1GbE is appropriate. You could certainly use any of the board's that I've mentioned, if the FMC connector isn't a problem. The ZYNQ approach eliminates having to worry about Ethernet PHY design issues You can DMA sensor data through the PL to memory that the PS has access to and write code to package it and transfer it over the PS connected Ethernet port. Logic in the PL can't be interfaced directly to the PS PHY. I doubt that you need a full blown OS for the Ethernet software but there are a lot to choose from. A free RTOS might be ideal if the SDK tool support is lacking. You can investigate Vivado support without hardware. I suggest that you do before spending money.

For the Genesys2 or Nexys Video you can use a Microblaze, which likely will require purchasing an IP licence for the Ethernet MAC.

Or, you could design you own Ethernet IP and only implement the packets required by your external "FIFO". I have no experience with the Microblaze approach. The all HDL approach requires considerable effort and knowledge and skill at developing with an HDL.

The Cyclone LP development board is cheap and has both a GbE PHY and 40-pin connector for GPIO. The FPGA is not ARM based so you'd need to use the NIOS or all HDL approach. I don't know if you can implement the Ethernet interface without an IP license using Quartus. Wouldn't it be nice if Digilent offered a board like that? It's unfortunate but there just aren't many vendors designing products that are ideal for customers wanting to do the kinds of things like you want to do.

I've read of suggestions for free HDL Ethernet interfaces but except for @PhDevnot from anyone claiming to have used them. Be cautious of advice that isn't based on first hand experience; the devil is in the details an often discovered well into the design process.

Link to comment
Share on other sites

Good point about the 2 x PMOD ports only give 16-bits, and yes, the project will no doubt need a couple more lines for handshaking.

Mmmm, ok, 200 ohm series resistors on the Shield IO Port could be problematic. Thanks for pointing that out.
I wonder if a board re-work might be feasible to replace them with 0 ohm links? (.. assuming they are physical SMD resistors?).

We could possibly handle an FMC interface design, but it’s starting to look way more complicated than it needs to be for this project, especially with those high “feature count” development boards. I would really like to keep things as simple as possible.

I do like the Cyclone suggestion and will investigate this and alternate boards a bit further.

Thx!

Link to comment
Share on other sites

1 hour ago, Tony_B said:

I do like the Cyclone suggestion and will investigate this and alternate boards a bit further

I much prefer the Xilinx ecosystem but when I have a job to do I have found that it's best to select the appropriate platform that best suits my needs at the best cost point. You should spend the time to make sure that Quartus will allow you to build a configuration sof file using NIOS with an Ethernet interface without an IP license. I believe that Intel provides the default flashed demo source as a test. I have used the board's 1GbE port in an all HDL non-standard protocol application. Don't get the latest Quartus version as it doesn't support the low end parts. I am not fond of what Intel has done to the Cyclone family.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...