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: 
6,944 Views
Registered: ‎01-07-2015

Problem reading adc AD7961 using FMC in Zedboard?

Hi,

I am using the EVAL_AD7961_FMCZ board to read values from the ADC into the Zedboard. I got the ADC verilog driver file from the Analog Devices WIKI project that uses AD7961 that has the following interface:

module AD7961
(
input m_clk_i, // 100 MHz Clock, used for tiing
input fast_clk_i, // Maximum 300 MHz Clock, used for serial transfer
input reset_n_i, // Reset signal, active low
input [ 3:0] en_i, // Enable pins input
input d_pos_i, // Data In, Positive Pair
input d_neg_i, // Data In, Negative Pair
input dco_pos_i, // Echoed Clock In, Positive Pair
input dco_neg_i, // Echoed Clock In, Negative Pair
output [ 3:0] en_o, // Enable pins output
output cnv_pos_o, // Convert Out, Positive Pair
output cnv_neg_o, // Convert Out, Negative Pair
output clk_pos_o, // Clock Out, Positive Pair
output clk_neg_o, // Clock Out, Negative Pair
output data_rd_rdy_o, // Signals that new data is available
output [15:0] data_o // Read Data
);

So making use of the AXI4Lite I have designed a hardware that reads and latches the value of data_o when the data_rd_rdy_o goes high. I debugged the hardware using ILA and the output wasn't as expected.

Capture5.PNG

The first signal is the data_o (only last 16bits) and the second signal is the data_rd_rdy_o. The third one is where I latch the value of data_o. The data output looks strange as
Looks like data keeps accumulating till the data_rd_rdy_o goes high but it suddenly accumulates to zero sometimes.
The data output value is always zero or 21 (hex) no matter what input I give to the board.
Could some one please point out what could have gone wrong?

Heres my hardware setup :

20150202_114744.jpg

Thanks.

0 Kudos
6 Replies
Teacher muzaffer
Teacher
6,923 Views
Registered: ‎03-31-2012

Re: Problem reading adc AD7961 using FMC in Zedboard?

What is the relationship between the clock which sources data_rd_rdy_o signal and the clock used for axi ? If they are not related, you would see "weird" behavior sometimes. This suggests that you need proper clock domain synchronization in your design.
- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos
6,914 Views
Registered: ‎01-07-2015

Re: Problem reading adc AD7961 using FMC in Zedboard?

Actually I got it working somehow but there are glitches in the data when I input the signal through a signal generator. However if input a DC signal from DC power supply the ADC seems to work fine. In case of the signal generator, the data has noisy spikes but the spikes do not appears when a DC signal is applied through DC pwoer supply.

 

Following is the data output from the DC power supply (1v and 2v)

Capture9.PNG

And following is the data acquired from a square wave from signal generator

Capture10.PNG

The glitch is also seen in Vivado waveform using ILA

Capture8.PNG

 

Any ideas why is this happening when both signals are applied in the same way.

 

Thanks

0 Kudos
6,908 Views
Registered: ‎01-07-2015

Re: Problem reading adc AD7961 using FMC in Zedboard?

Sorry I forgot that the data was in 16bit signed 2's complement format. But still there seems to be some form of glitch, I will report back with the correct waveform.

0 Kudos
6,905 Views
Registered: ‎01-07-2015

Re: Problem reading adc AD7961 using FMC in Zedboard?

Apart from everything the signal from the DC power supply was being read correctly, however suddenly the read value dropped to half. I'm trying to find the fault but actually I did not change anything in the hardware or SDK source file.

Earlier test

Capture9.PNG

Sudden drop to half

Capture11.PNG

0 Kudos
6,885 Views
Registered: ‎01-07-2015

Re: Problem reading adc AD7961 using FMC in Zedboard?

Hi,

 

I changed the ADC board configuration to read single ended volts and that problem is cleared now but the output is showing some strange phenomena when applied a sine wave of 5kHz:

  1. As you can see in the figure, the signal is quantized to steps
    Capture_5kHz_2.5Vpk_411samples.PNG

Capture_5kHz_2.5Vpk_411samples_zoom.PNG

2. The sample rate should be 5Mhz but the number of samples in the 5kHz single wave is ~400 which makes it calculates to a sample rate of  2MHz.

3. Also when I tried to check the sample rate through Vivado hardware debugging using ILA, I found the duration between two data_rd_out signals to be 20ns which takes the sample rate to 50MHz.

Capture_5kHz_2.5Vpk_411samples_hardware.PNG

 

What could I be doing wrong?

 

Thanks.

Tags (4)
0 Kudos
Visitor bach_2016
Visitor
1,826 Views
Registered: ‎10-18-2017

Re: Problem reading adc AD7961 using FMC in Zedboard?

Hi , 

Did you find a solution for this problem? Can you share it? I got the same behavior with AD7961. 

Thanks

0 Kudos