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: 
Highlighted
Explorer
Explorer
792 Views
Registered: ‎04-19-2016

VDMA s2mm channel does not halt, and s2mm interrupt generated at the next tuser

Jump to solution

Dear All,

 

I have an camera that I have to capture frames from it. I am able to send fsync signal to camera as an trigger, to capture frame. Camera sends to pixel values of captured frame to Zynq. I have a VDMA to write the captured image to DDR3 memory.

 

VDMA configuration;

 

fsync_opitons : s2mm_tuser (Tuser is coming coincident with first pixel of the frame, it is seem OK.)

genlock  mode:  dynamic master

frame buffer : 1

 

First I have configured the VDMA  s2mm channel and waiting for frame. Theni, I have sent only one fsync pulse to Camera, then camera send to frame pixel values to Zynq. VDMA wrote the pixel values to memory (I can see the memory through IDE, frame is written there). But s2mm interrupt is not generated and s2mm channel does not halt and any error flag is not set in the VDMA status register. 

 

After the I have sent second fsync pulse to camera, then interrupt generated. I think there is an out-of-sync and delay in the interrupt. 

 

 This problem is very similar to below case which is written in the PG020 of AXI VDMA 6.2. I have looked at the VDMA s2mm channel Axi-Stream side by using ILA core. I looked at first 5 lines. It seen that line width in the axi-stream data lines and configured line width in the VDMA are the same. What are the another possible solutions?

 

error.JPG

 

Thank you,

 

0 Kudos
1 Solution

Accepted Solutions
Explorer
Explorer
753 Views
Registered: ‎04-19-2016

Re: VDMA s2mm channel does not halt, and s2mm interrupt generated at the next tuser

Jump to solution

Dear All,

 

I have made a detailed search about the above 'problem'. In fact this behavior (VDMA s2mm does not halt and current s2mm interrupt is generated at the next tuser falling edge) is not a problem. This is an expected working of VDMA in fsync_options mode. But I think that this interrupt (fsync_options:s2mm_tuser mode) is not useful. I have used VDMA in free-running mode. Free-running mode s2mm interrupt is much more useful than fsycn_options mode. But in this case, you should guarantee that when you set up the VDMA s2mm channel waiting for frames, at first any partial frame will not come to VDMA on the s2mm axis port in free running mode.  

 

This post and AR#66493 are very useful about the VDMA working.

 

Best Regards,

0 Kudos
1 Reply
Explorer
Explorer
754 Views
Registered: ‎04-19-2016

Re: VDMA s2mm channel does not halt, and s2mm interrupt generated at the next tuser

Jump to solution

Dear All,

 

I have made a detailed search about the above 'problem'. In fact this behavior (VDMA s2mm does not halt and current s2mm interrupt is generated at the next tuser falling edge) is not a problem. This is an expected working of VDMA in fsync_options mode. But I think that this interrupt (fsync_options:s2mm_tuser mode) is not useful. I have used VDMA in free-running mode. Free-running mode s2mm interrupt is much more useful than fsycn_options mode. But in this case, you should guarantee that when you set up the VDMA s2mm channel waiting for frames, at first any partial frame will not come to VDMA on the s2mm axis port in free running mode.  

 

This post and AR#66493 are very useful about the VDMA working.

 

Best Regards,

0 Kudos