• 0
Sign in to follow this  
Mingfei

Qustions about arty-z7 HDMI out demo

Question

Hi everyone,

I'm building a project based on arty-z7 hdmi demo to display a series continuous moving images. Basically, I made some changes to DemoInverterFrame() function and use it to load in my image. Then, I put this in a while(1) loop to make it continuous changing frames. I have attached a part of the code as attachment. Everything works fine, the only problem is that HDMI display can only refresh 8 new images per second. Can I ask that if there is any way to increase this to 50fps? Thank you!

Mingfei

364.png

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Hi @Mingfei,

If you are referring to Arty-Z7-XX-hdmi-out, where XX is either 10 or 20, demo then you  have series of solutions to make it work faster.

Before I go in to detail regarding this let's talk a bit what the demo actually does. It basically reads one frame (dispCtrl.framePtr[dispCtrl.curFrame]) and then takes every pixel and inverts it in to the output frame (dispCtrl.framePtr[nextFrame]) this is a software approach (based on how DemoInvertFrame() is written) which means that it will depend on the processor how fast it can manage the data. Therefor stuff like printing text on the console (like printf("Volage.....)) will slow it down. As for the solutions there are 2 way to try and speed it up:

1. Software, VDMA has a feature called frame buffer parking you can read all about it in the User Guide (PG020 for v6.3), it basically parks the output frame on one buffer and lets you edit the other 2 frames without interrupting the video out stream. This will increase your out put to 50 fps but the refresh rate of what you want to do, the actual processing, will still only work at 5 frames.

2. Hardware, you could take advantage of your FPGA and write a IP core which does the inversion in HW thus offloading the task from the processor and getting to almost no processing delay; this of course means you will have to redesign your project. I would recommend writing the IP in HLS because it's easier and placing it at the output stage be teen the VDMA and the Subset Convertor.

-Ciprian

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this