cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
1,374 Views
Registered: ‎02-09-2017

Video Timing Controller: VGA

Jump to solution

Hello,

 

trying to detect the video mode of an image sensor configured to output VGA, I realised that Vivado and SDK could present incosistent data between the IP core and its driver.

 

The 640x480p (VGA) mode for VTC generator defines the following timing parameters:

Sin título.png

 

Note that the active sizes are 640 H and 480 V.

 

But when I tried (and failed) to detect the video mode for this input timing, I realised that the implementation of XVtc_ConvTiming2VideoMode function states:

 

...
} else if((TimingPtr->HActiveVideo == 656) && 
          (TimingPtr->VActiveVideo == 496)) {
              return XVTC_VMODE_VGA;
}
...

So the driver expects 656 of H Active size instead of 640 and 496 V instead of 480, so it returns 0 when VGA is applied, althought the Detector Active Size Register returns 640x480.

 

I want to add that another test I've done is to connect a 640x480p VTC Generator to a VTC Detector, resulting in XVtc_ConvTiming2VideoMode() = 0, so the driver can not detect the IP core's VGA default timing, which can cause confusion for an entry user as I am.

 

I am working with Vivado 2016.3.

 

Am I missing something? Is this actually a bug?

 

Thank you,

 

Miguel.

0 Kudos
Reply
1 Solution

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

Hi @jmigue,

 

In my opinion, this is an issue in the driver. For some reason, VGA was defined as 656x496 while it should be 640x480 as per the CVT standard.

I have already reported this to development and I expect an update of the driver in a future version (the issue is still in the driver in 2018.2).

 

You might want to update the driver manually (create a local repo) to change the VGA resolution to 640x480

 

Regards,


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

View solution in original post

0 Kudos
Reply
3 Replies
Moderator
Moderator
1,463 Views
Registered: ‎11-09-2015

Hi @jmigue,

 

In my opinion, this is an issue in the driver. For some reason, VGA was defined as 656x496 while it should be 640x480 as per the CVT standard.

I have already reported this to development and I expect an update of the driver in a future version (the issue is still in the driver in 2018.2).

 

You might want to update the driver manually (create a local repo) to change the VGA resolution to 640x480

 

Regards,


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

View solution in original post

0 Kudos
Reply
Visitor
Visitor
1,308 Views
Registered: ‎02-09-2017

Thank you for your reply, @florentw.

Led me add that the reciprocal function XVtc_ConvVideoMode2Timing of the same driver defines the same HActive and VActive timings that expected for the ConvTiming2VideoMode function.

 

I am sure you considered it, anyway.

Miguel.

Moderator
Moderator
1,305 Views
Registered: ‎11-09-2015

Hi @jmigue,

 

Thank you for reporting this as well. But yes, I already reported both to development ;)


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