We are developing a product that takes in VGA or component video using an ADV7403 to convert to 16 bit YUV422 for capture. I have been attempting to program the ADV part and it seems to be having trouble locking on to the signal. I have adapted the following register settings from the example:
{03,0x09},
{0x05, 0x02}, // ; Prim_Mode =010b for GR
{0x06, 0x01}, // ; VID_STD=0001b for 800x600 _@ 60
{0x1D, 0x47}, // ; Enable 28MHz Crystal
{0x3A, 0x11}, // ; set latch clock settings to 001b, Power Down ADC3
{0x3B, 0x80}, // ; Enable External Bias
{0x3C, 0x5D}, // ; PLL_QPUMP to 101b
{0x6A, 0x00}, // ; DLL Phase Adjust
{0x6B, 0xC3}, // ; Swap Pr & Pb
{0x73, 0x90}, // ; Set man_gain
{0xbf, 0x00},
{0xF4, 0x3F}, // ; Max Drive Strength
{0x0E, 0x80}, // ; ADI Recommended Setting
{0x52, 0x46}, // ; ADI Recommended Setting
{0x54, 0x00}, // ; ADI Recommended Setting
{0x0E, 0x00}, // ; ADI Recommended Setting
The result is that the chip fails to lock on to my 800x600 VGA source; disabling the "blue screen" output enabled me to capture the attached picture, which shows that the syncs are not aligned correctly.
I have tried using the following register settings for CSC but these simply turned the picture green:
{0x52, 0x00}, // conversion from RGB->YPrPb
{0x53, 0x00}, // CSC start
{0x54, 0x07}, // CSC Register
{0x55, 0x0C}, // CSC
{0x56, 0x94}, // CSC
{0x57, 0x89}, // CSC
{0x58, 0x48}, // CSC
{0x59, 0x08}, // CSC
{0x5A, 0x00}, // CSC
{0x5B, 0x7a}, // CSC
{0x5C, 0xe1}, // CSC
{0x5D, 0x00}, // CSC
{0x5E, 0x19}, // CSC
{0x5F, 0x48}, // CSC
{0x60, 0x08}, // CSC
{0x61, 0x00}, // CSC
{0x62, 0x20}, // CSC
{0x63, 0x03}, // CSC
{0x64, 0xa9}, // CSC
{0x65, 0x1a}, // CSC
{0x66, 0xb8}, // CSC last
What register settings should I use to fix the colour space and to align the syncs?