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 jackielee
Visitor
1,394 Views
Registered: ‎11-23-2017

How to configure VDMA to transfer only one frame?

Jump to solution

We want to transfer a 640*480 picture by PS,first,we write it to DDR,and transfer it to PL by VDMA.We just want to transfer it once,then stop,but the VDMA transfer the same picture continuously.We configure the VDMA as follows:

QQ图片20171228101520.png
We use ILA to see the wave as follows:
QQ图片20171228101529.png
According to the result,we can find the TVALID signal get down,but then the signal return to 1 and continuously transfer the same picture.
How to configure VDMA to transfer only one frame?
 
Tags (3)
0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
1,752 Views
Registered: ‎11-09-2015

Re: How to configure VDMA to transfer only one frame?

Jump to solution

Hi @jackielee,

 

 Check the control register for the VDMA (offset 00h).  On bit [23:16]:

"The minimum setting for the count is 0x01. A write of 0x00 to this register sets the count to 0x01. When DMACR.FrameCntEn = 1, this value determines the number of frame buffers to process."

 

Then just set FrameCntEn = 1 + [23:16] = 0

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

4 Replies
Scholar watari
Scholar
1,372 Views
Registered: ‎06-16-2013

Re: How to configure VDMA to transfer only one frame?

Jump to solution

Hi @jackielee

 

I'm not sure. But at least your code has some wrong settings.

Refer the following suggestion.

 

- "MM2S_HSIZE" (54h) => This unit is NOT pixel. It's byte. In this case you need to set 640 * 4, if your color depth and color format is 24bit/RGB (RGB888) or 24bit/YUV (YUV444) or 30bit/RGB (RGB101010) or 30bit/YUV (YUV444).

- "MM2S_VSIZE" (50h) => It seems wrong. It might set 480.

 

Best regards,

0 Kudos
Visitor jackielee
Visitor
1,364 Views
Registered: ‎11-23-2017

Re: How to configure VDMA to transfer only one frame?

Jump to solution

Thank you for your replying,it seems the realy point is not your said.The point is to make VDMA just transfer one frame.Thanks again.

0 Kudos
Moderator
Moderator
1,753 Views
Registered: ‎11-09-2015

Re: How to configure VDMA to transfer only one frame?

Jump to solution

Hi @jackielee,

 

 Check the control register for the VDMA (offset 00h).  On bit [23:16]:

"The minimum setting for the count is 0x01. A write of 0x00 to this register sets the count to 0x01. When DMACR.FrameCntEn = 1, this value determines the number of frame buffers to process."

 

Then just set FrameCntEn = 1 + [23:16] = 0

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

Highlighted
Visitor jackielee
Visitor
1,230 Views
Registered: ‎11-23-2017

Re: How to configure VDMA to transfer only one frame?

Jump to solution

thank you very much.Your answer is very good.

0 Kudos