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
Contributor
Contributor
2,104 Views
Registered: ‎08-28-2017

How to stop and start VDMA READ(mm2s) and WRITE(s2mm) using extern fSync

Jump to solution

Hi Folks,

 

we are writing and reading DDR through VDMA. 

 

we want to stop VDMA(Read and Write)  for external interrupt signal for 500us and again VDMA(Read and Write) start for 160us.

 

we are currently using externfsync . How to configure external fsync?

 

Please suggest us regard this.

 

Thanks and Best Regards 

Vinod Sajjan

 

Tags (1)
Xilinx.JPG
0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
2,479 Views
Registered: ‎08-02-2007

Re: How to stop and start VDMA READ(mm2s) and WRITE(s2mm) using extern fSync

Jump to solution

@vinod.sajjan

 

It depends on your application. You can use Circular_Park register to set read side at Park mode. When it stops, let the frame stop at last frame.

Park ModeEngine will park on frame buffer referenced by PARK_PTR_REG.RdFrmPntrRef. or you can use soft reset to totally reset the channel, when reset is release, VDMA is back to normal operation.

 

The advantage of using fsync is to let image restart from the first of pixel. For example, when you stops reading, you have no clue image stops at which pixel, it's very likely the last pixel stops in the middle of the image. After some micro seconds, when you restart reading, the first pixel of new image will be loaded, and read out. If you don't use fsync, you will see some part of two images are mixed in the same screen.

 

 

0 Kudos
9 Replies
Moderator
Moderator
2,055 Views
Registered: ‎11-09-2015

Re: How to stop and start VDMA READ(mm2s) and WRITE(s2mm) using extern fSync

Jump to solution

HI @vinod.sajjan,

 

What do you mean by "How to configure external fsync?"

 

Do you need to know how to configure the VDMA?

 

Regards,


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Contributor
Contributor
2,049 Views
Registered: ‎08-28-2017

Re: How to stop and start VDMA READ(mm2s) and WRITE(s2mm) using extern fSync

Jump to solution

Hi @florentw,

 

Thank you for your support.

 

Yes i want known, how to configure the VDMA for External fsync mode (means not free running mode).

 

here i want to known how exactly mm2s_Fsync of VDMA works?

 

Please Suggest me regarding this.

 

Thanks and Best Regards

Vinod Sajjan

 

vdam_fsync_in.png
vdma_fsynv.png
0 Kudos
Moderator
Moderator
2,022 Views
Registered: ‎11-09-2015

Re: How to stop and start VDMA READ(mm2s) and WRITE(s2mm) using extern fSync

Jump to solution

Hi @vinod.sajjan,

 

The fsync won't help you to start/stop the VDMA. You need to do this using your processor.

 

The fsync is just to synchronize the VDMA with the timing signals.

 

Regards,


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Xilinx Employee
Xilinx Employee
2,004 Views
Registered: ‎08-02-2007

Re: How to stop and start VDMA READ(mm2s) and WRITE(s2mm) using extern fSync

Jump to solution

This thread seems duplicate to the another one in this board. Let me repeat the answer here :

 

tready can be used to control the read side, whether slave side is ready to read out the data or not

 

After you stop, and then restart, you can issue an fsync pulse. fsync should be only asserted for one cycle. 

 

When an fsync happens, the VDMA flushes its buffers, advances the genlock pointers, and starts the new frame at the address in MM2S_START_ADDRESS registers.

 

If you are familiar with VIP, you can simulate VDMA and evaluate the behaviour of fsync by using a really small test frame. If not, probably you need to capture the fsync and read side AXI Streaming interface in ILA

0 Kudos
Contributor
Contributor
1,918 Views
Registered: ‎08-28-2017

Re: How to stop and start VDMA READ(mm2s) and WRITE(s2mm) using extern fSync

Jump to solution

Hi @xud,

 

Thank you for your support.

 

In our application we need to stop the VDMA for some micro seconds, because we have limited size of buffer in target side (32KB buffer) and again we need to start VDMA. Please kindly suggest us how to start and stop the VDMA read and write.

 

 

Thanks and Best Regards

Vinod Sajjan 

 

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

Re: How to stop and start VDMA READ(mm2s) and WRITE(s2mm) using extern fSync

Jump to solution

Hi @vinod.sajjan,

 

The correct way to start / stop the VDMA is to use the configuration registers


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Contributor
Contributor
1,909 Views
Registered: ‎08-28-2017

Re: How to stop and start VDMA READ(mm2s) and WRITE(s2mm) using extern fSync

Jump to solution

Hi @florentw,

 

Thank you for your support and concern.

 

We have doubt, how fsync is useful in VDMA?

 

Is there any VDMA configuration side of IP for start and stop the VDMA, because we need to stop and start the VDMA side of PL for our application.

 

Thanks and Best Regards

Vinod Sajjan

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

Re: How to stop and start VDMA READ(mm2s) and WRITE(s2mm) using extern fSync

Jump to solution

Hi @vinod.sajjan,

 

Fsync gives the information when to start a new frame. It is not used to stop the VDMA.

 

I do not think there is any way to stop the VDMA directly from the PL. One solution might be to disable the input clock for the AXI4S interface but I am not sure if this will work properly


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Xilinx Employee
Xilinx Employee
2,480 Views
Registered: ‎08-02-2007

Re: How to stop and start VDMA READ(mm2s) and WRITE(s2mm) using extern fSync

Jump to solution

@vinod.sajjan

 

It depends on your application. You can use Circular_Park register to set read side at Park mode. When it stops, let the frame stop at last frame.

Park ModeEngine will park on frame buffer referenced by PARK_PTR_REG.RdFrmPntrRef. or you can use soft reset to totally reset the channel, when reset is release, VDMA is back to normal operation.

 

The advantage of using fsync is to let image restart from the first of pixel. For example, when you stops reading, you have no clue image stops at which pixel, it's very likely the last pixel stops in the middle of the image. After some micro seconds, when you restart reading, the first pixel of new image will be loaded, and read out. If you don't use fsync, you will see some part of two images are mixed in the same screen.

 

 

0 Kudos