2014-06-24 16:45:01 +05:30
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html;charset=iso-8859-1" >
< title >
2014-08-23 18:47:04 +05:30
vtc_6_1
2014-06-24 16:45:01 +05:30
< / title >
< link href = "$DriverApiDocsCssPath" rel = "stylesheet" type = "text/css" >
< / head >
< h3 class = "PageHeader" > Xilinx Processor IP Library< / h3 >
< hl > Software Drivers< / hl >
< hr class = "whs1" >
2014-07-16 15:56:00 +05:30
<!-- Generated by Doxygen 1.4.7 -->
2014-06-24 16:45:01 +05:30
< div class = "tabs" >
< ul >
< li id = "current" > < a href = "index.html" > < span > Main Page< / span > < / a > < / li >
< li > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
< li > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< / ul > < / div >
2014-08-23 18:47:04 +05:30
< h1 > vtc_6_1< / h1 >
2014-06-24 16:45:01 +05:30
< p >
2014-08-23 18:47:04 +05:30
This is the main header file of Xilinx MVI Video Timing Controller (VTC) device driver. The VTC device detects video signals, independently overrides any one of them, re-generates video signals with +/- delay and with polarity inversion, and generates up to 16 one cycle Frame Sync outputs.< p >
The device has the following main features:< ul >
< li > Detect video signals:< ul >
< li > horizontal sync< / li > < li > horizontal blank< / li > < li > vertical sync< / li > < li > vertical blank< / li > < li > active video< / li > < li > field id< / li > < / ul >
< / li > < li > Independently override any one signal.< / li > < li > Re-generate video signals with +/- delay and with polarity inversion.< / li > < li > Generate up to 16 one cycle Frame Sync outputs.< / li > < / ul >
2014-06-24 16:45:01 +05:30
< p >
For a full description of VTC features, please see the hardware specification.< p >
2014-07-16 15:56:00 +05:30
< b > Software Initialization & Configuration< / b > < p >
The application needs to do following steps in order for preparing the VTC to be ready to process video signal handling.< p >
< ul >
< li > Call XVtc_LookupConfig using a device ID to find the core configuration.< / li > < li > Call XVtc_CfgInitialize to initialize the device and the driver instance associated with it.< / li > < li > Call XVtc_SetGenerator to set up the video signals to generate, if desired.< / li > < li > Call XVtc_SetPolarity to set up the video signal polarity.< / li > < li > Call XVtc_SetSource for source selection< / li > < li > Call XVtc_SetGeneratorHoriOffset to set up the Generator VBlank/VSync horizontal offsets, if values other than the default are needed< / li > < li > Call XVtc_EnableSync, if generator needs to be synced to the detector< / li > < li > Call XVtc_Enable to enable/start the VTC device.< / li > < / ul >
< p >
< b > Interrupts < / b > < p >
2014-06-24 16:45:01 +05:30
The interrupt types supported are:< ul >
2014-07-16 15:56:00 +05:30
< li > Frame Sync Interrupts 0 - 15< / li > < li > Generator interrupt:< ul >
2014-06-24 16:45:01 +05:30
< li > Generator Active Video Interrupt< / li > < li > Generator VBLANK Interrupt< / li > < / ul >
< / li > < li > Detector interrupt:< ul >
< li > Detector Active Video Interrupt< / li > < li > Detector VBLANK Interrupt< / li > < / ul >
2014-07-16 15:56:00 +05:30
< / li > < li > Signal Lock interrupt:< ul >
2014-06-24 16:45:01 +05:30
< li > Active Chroma signal lock< / li > < li > Active Video Signal Lock< / li > < li > Field ID Signal Lock< / li > < li > Vertical Blank Signal Lock< / li > < li > Vertical Sync Signal Lock< / li > < li > Horizontal Blank Signal Lock< / li > < li > Horizontal Sync Signal Lock< / li > < / ul >
< / li > < / ul >
< p >
2014-07-16 15:56:00 +05:30
< b > Virtual Memory < / b > < p >
This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.< p >
< b > Threads < / b > < p >
This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.< p >
< b > Asserts < / b > < p >
Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.< p >
< b > Building the driver < / b > < p >
The Vtc driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.< p >
2014-06-24 16:45:01 +05:30
< b > Examples < / b > < p >
An example is provided with this driver to demonstrate the driver usage.< p >
< b > Cache Coherency< / b > < p >
< b > Alignment< / b > < p >
< b > Limitations< / b > < p >
< b > BUS Interface< / b > < p >
< pre >
MODIFICATION HISTORY:< / pre > < p >
2014-07-16 15:56:00 +05:30
< pre > Ver Who Date Changes
----- ------ -------- -----------------------------------------------
1.00a xd 08/05/08 First release
1.01a xd 07/23/10 Added GIER Added more h/w generic info into
xparameters.h Feed callbacks with pending
interrupt info. Added Doxygen & Version support
2.00a xd 05/13/11 1. Renamed to "Video Timing Controller"
2. Added Generator/Detector VBlank/VSync
Horizontal offset setup/fetch support
3. Renamed the IP to support to be axi_vtc
4. Supported sync between generator and detector
with addition of new XVtc_EnableSync and
XVtc_DisableSync functions
5. Renamed XVtc_SetSync to XVtc_SetFSync
6. Renamed XVtc_GetSync to XVtc_GetFSync
7. Removed unnecessary register write in
XVtc_Reset
8. Corrected driver name in .mdd file
9. Updated register bit definition (a few fields grow
from 12 to 13 bit wide)
2.00a cm 05/25/11 1. Renamed XVtc_SetSkip to XVtc_SetSkipLine
2. Renamed XVtc_GetSkip to XVtc_GetSkipLine
3. Added XVtc_SetSkipPixel
4. Added XVtc_GetSkipPixel
2.00a cm 06/16/12 1. Added missing xil_assert.h include
2.00a cm 07/25/12 1. Removed unused XVtc_IntrSetLockPolarity function
3.00a cm 08/02/12 1. Added the XVtc_Sync_Reset frame sync'ed SW
reset function.
3.00a cjm 08/02/12 Converted from xio.h to xil_io.h, translating
basic types, MB cache functions, exceptions and
assertions to xil_io format.
Replaced the following
"XExc_Init" -> "Xil_ExceptionInit"
"XExc_RegisterHandler" -> "Xil_ExceptionRegister
Handler"
"XEXC_ID_NON_CRITICAL_INT" -> "XIL_EXCEPTION_ID_INT"
"XExceptionHandler" -> "Xil_ExceptionHandler"
"XExc_mEnableExceptions" -> "Xil_ExceptionEnable"
"XEXC_NON_CRITICAL" -> "XIL_EXCEPTION_NON_CRITICAL"
"XExc_DisableExceptions" -> "Xil_ExceptionDisable"
"XExc_RemoveHandler" -> "Xil_ExceptionRemoveHandler"
"microblaze_enable_interrupts" -> "Xil_ExceptionEnable"
"microblaze_disable_interrupts" -> "Xil_Exception
Disable"< / pre > < p >
< pre > "XCOMPONENT_IS_STARTED" -> "XIL_COMPONENT_IS_STARTED"
"XCOMPONENT_IS_READY" -> "XIL_COMPONENT_IS_READY"< / pre > < p >
< pre > "XASSERT_NONVOID" -> "Xil_AssertNonvoid"
"XASSERT_VOID_ALWAYS" -> "Xil_AssertVoidAlways"
"XASSERT_VOID" -> "Xil_AssertVoid"
"Xil_AssertVoid_ALWAYS" -> "Xil_AssertVoidAlways"
"XAssertStatus" -> "Xil_AssertStatus"
"XAssertSetCallback" -> "Xil_AssertCallback"< / pre > < p >
< pre > "XASSERT_OCCURRED" -> "XIL_ASSERT_OCCURRED"
"XASSERT_NONE" -> "XIL_ASSERT_NONE"< / pre > < p >
< pre > "microblaze_disable_dcache" -> "Xil_DCacheDisable"
"microblaze_enable_dcache" -> "Xil_DCacheEnable"
"microblaze_enable_icache" -> "Xil_ICacheEnable"
"microblaze_disable_icache" -> "Xil_ICacheDisable"
"microblaze_init_dcache_range" -> "Xil_DCacheInvalidate
Range"< / pre > < p >
< pre > "XCache_DisableDCache" -> "Xil_DCacheDisable"
"XCache_DisableICache" -> "Xil_ICacheDisable"
"XCache_EnableDCache" -> "Xil_DCacheEnableRegion"
"XCache_EnableICache" -> "Xil_ICacheEnableRegion"
"XCache_InvalidateDCacheLine" -> "Xil_DCacheInvalidate
Range"< / pre > < p >
< pre > "XUtil_MemoryTest32" -> "Xil_TestMem32"
"XUtil_MemoryTest16" -> "Xil_TestMem16"
"XUtil_MemoryTest8" -> "Xil_TestMem8"< / pre > < p >
< pre > "xutil.h" -> "xil_testmem.h"< / pre > < p >
< pre > "xbasic_types.h" -> "xil_types.h"
"xio.h" -> "xil_io.h"< / pre > < p >
< pre > "XIo_In32" -> "Xil_In32"
"XIo_Out32" -> "Xil_Out32"< / pre > < p >
< pre > "XTRUE" -> "TRUE"
"XFALSE" -> "FALSE"
"XNULL" -> "NULL"< / pre > < p >
< pre > "Xuint8" -> "u8"
"Xuint16" -> "u16"
"Xuint32" -> "u32"
"Xint8" -> "char"
"Xint16" -> "short"
"Xint32" -> "long"
"Xfloat32" -> "float"
"Xfloat64" -> "double"
"Xboolean" -> "int"
"XTEST_FAILED" -> "XST_FAILURE"
"XTEST_PASSED" -> "XST_SUCCESS"
4.00a cjm 02/07/13 Removed Unused Functions
XVtc_IntrEnableGlobal
XVtc_IntrDisableGlobal
5.00a cjm 08/07/13 Replaced XVTC_RESET with (XVTC_CTL)
Replaced XVTC_RESET_RESET_MASK with
(XVTC_CTL_RESET_MASK)
Replaced XVTC_SYNC_RESET_MASK with (XVTC_CTL_SRST_MASK)
5.00a cjm 10/30/13 Replaced XVtc_RegUpdate with XVtc_RegUpdateEnable
Added XVtc_RegUpdateDisable
Removed type parameter from XVtc_Enable
Added XVtc_EnableGenerator to enable only the Generator
Added XVtc_EnableDetector to enable only the Detector
5.00a cjm 11/01/13 Added Timing, VideoMode and Signal Conversion
Functions:
XVtc_ConvVideoMode2Timing
XVtc_ConvTiming2Signal
XVtc_ConvSignal2Timing
XVtc_ConvTiming2VideoMode
Added Timing and Video Mode Set/Get Functions:
XVtc_SetGeneratorTiming
XVtc_SetGeneratorVideoMode
XVtc_GetGeneratorTiming
XVtc_GetGeneratorVideoMode
XVtc_GetDetectorTiming
XVtc_GetDetectorVideoMode
6.0 adk 19/12/13 Updated as per the New Tcl API's.
2014-08-23 18:47:04 +05:30
6.1 adk 23/08/14 Implemented XVtc_SelfTest in
2014-07-16 15:56:00 +05:30
< a class = "el" href = "xvtc__selftest_8c.html" > xvtc_selftest.c< / a > .
2014-08-23 18:47:04 +05:30
Modified prototype of XVtc_GetVersion API.< / pre > < p >
< pre > Modifications from < a class = "el" href = "xvtc_8c.html" > xvtc.c< / a > file are:
Modified HActiveVideo value to 1920 for
XVTC_VMODE_1080I mode.
Removed Major, Minor and Revision parameters from
XVtc_GetVersion.
Modified return type of XVtc_GetVersion from
void to u32.< / pre > < p >
< pre > Modifications from < a class = "el" href = "xvtc__hw_8h.html" > xvtc_hw.h< / a > file are:
Removed XVTC_ERR_FIL_MASK macro because it is not
present in latest product guide.
Modified register offsets from XVTC_* to XVTC_*_OFFSET
for consistency.
Added backward compatibility macros.< / pre > < p >
< pre > Modifications from < a class = "el" href = "xvtc__intr_8c.html" > xvtc_intr.c< / a > and < a class = "el" href = "xvtc__sinit_8c.html" > xvtc_sinit.c< / a > files
are:
updated doxygen tags.< / pre > < p >
< pre > Modifications from < a class = "el" href = "xvtc__selftest_8c.html" > xvtc_selftest.c< / a > file are:
First Release.
Implemented following function:
XVtc_SelfTest.
2014-07-16 15:56:00 +05:30
< / pre > Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.