UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor roquetto
Visitor
5,699 Views
Registered: ‎06-02-2016

XADC Simultaneous Sampling

Hi,

I am using the XADC on an application where I use the Vaux4 and Vaux12 pairs. My question is, if it is sampling both pairs simultaneously, how do I access the data? From my understanding, you give the XADC the pair address using the address_in pin and the sampled bits are retrieved on the data_out line (which is a single output line). Wouldn't it be necessary to have two data outputs, one for each pair? How does it work? 

Thank you guys for your time and patience,
Leo

0 Kudos
5 Replies
Xilinx Employee
Xilinx Employee
5,685 Views
Registered: ‎08-01-2008

Re: XADC Simultaneous Sampling

check this post
https://forums.xilinx.com/t5/Embedded-Linux/Zynq-XADC-via-AXI-with-Petalinux-2014-4/td-p/559551
Thanks and Regards
Balkrishan
--------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
0 Kudos
Visitor roquetto
Visitor
5,650 Views
Registered: ‎06-02-2016

Re: XADC Simultaneous Sampling

Hi Balkris,

Thanks for replying, although I still don't quite get it. After I instantiate the adc module using the XADC Wizard in Vivado, this is what I get for a simultaneous sampling instantiation:

 

          input [6:0] daddr_in;
          input dclk_in;
          input den_in;
          input [15:0] di_in;
          input dwe_in;
          input reset_in;
          input vauxp4;
          input vauxn4;
          input vauxp12;
          input vauxn12;
          input vp_in;
          input vn_in;

          output busy_out;
          output [4:0] channel_out;
          output [15:0] do_out;
          output drdy_out;
          output eoc_out;
          output eos_out;
          output alarm_out;

As you can see, there is only one do_out, whereas two ADCs are working simultaneously, generating 12 bits each. Could you shine a light upon this? I don't really get how I am supposed to read the outputs from ADC A and ADC B simultaneously (all I could get was it to work in channel sequencer mode).

Best,
Leo

0 Kudos
Visitor aaron_curry
Visitor
4,946 Views
Registered: ‎09-08-2016

Re: XADC Simultaneous Sampling

We (Leo and I) are still having troubles understanding how to retrieve BOTH outputs from the xADC during simultaneous sampling mode.  Could some one please explain:

1) In DRP mode, there are 16 output bits (do_out[15:0]).  What information is being output for these 16 bits? 

2) in AXI4Lite mode, there appear to be 32 output bits (s_axi_rdata[31:0]).  What information is being output for these 32 bits? 

3) What is the difference between DRP and AXI4Lite? 

4) How do we retrieve 12 bits from xADCA and 12 bits from xADCB?

Kind Regards,

Bruce

0 Kudos
Visitor aaron_curry
Visitor
4,464 Views
Registered: ‎09-08-2016

Re: XADC Simultaneous Sampling

So no reply, but since there are 481 views and we figured it out, I figured I would provide an explanation to anyone else stuck on this. 

This document should be reviewed thoroughly:

https://www.xilinx.com/support/documentation/user_guides/ug480_7Series_XADC.pdf

The status registers: 10h to 1Fh (page 38) store the results of the auxiliary input conversions. Therefore, in simultaneous sampling mode, if Aux 4/12 are used, their results are stored in 14h and 1C respectively.  In order to access the results, the DRP interface is used.  It can read 1 value at a time, therefore, 2 reads are necessary at the end of each conversion in order to obtain the results.  Once an EOC event occurs, you may then read the results using the DRP interface.  Using the DRP interface is described on page 74. 

Also, the xADC IP wizard does not work very well.  For example, we desired to have:

Dclk=64Mhz

n=4

ADCclk=16Mhz

Acquisition time=10

sample rate=500ksps

The wizard does not allow this even though it is within the specs of the xADC.  Therefore, we had to manual program the control registers via the xADC instantiation (the xadc_wiz_'name'.v had to be manually edited) in order to achieve desired operation.  For this, the control registers must be analyzed thoroughly (pages 42-47). 

Best Regards,

Bruce Wayne

 

0 Kudos
Highlighted
Visitor liuz3
Visitor
2,520 Views
Registered: ‎08-03-2016

Re: XADC Simultaneous Sampling

Just wanted to say thank you for leaving the answer. 

 

I am a novice at FPGA and this really helped me out a lot.

 

Sincerely

 

0 Kudos