AnsweredAssumed Answered

facing problem with adv7401 configuration

Question asked by monu on Feb 2, 2016
Latest reply on Feb 11, 2016 by DerekBurke

hi,

 

i am using below given statements for configuration of ADV7401 using I2C interface. i have found that two of the registers are not getting updated by the value required. Please help.

 

i/p to ADV7401 is COMPONENT RGB 512x576 interlaced (signal looks like PAL, 2Vpp), HS= 64usec, VS=20msec,pixel clock= 13.5MHz

.G is on Ain6 and rest (R,B) are grounded. (digital output for G only is needed)

 

output required:

24 bit rgb digital output for same resolution (or higher if possible). LLC1 = 55.3MHz, samples required per line = 2880.

 

 

code section dealing I2C commands for configuration of ADV7401:


void Configure_Decoder(unsigned char slave) // this is for default values update

{

Write_to_Decoder(slave,0x00,0x0A);

Write_to_Decoder(slave,0x05,0x01);

Write_to_Decoder(slave,0x1D,0x47);

Write_to_Decoder(slave,0x3A,0x21);

Write_to_Decoder(slave,0x3B,0x80);

Write_to_Decoder(slave,0x6B,0xC2)

Write_to_Decoder(slave,0x7B,0x05);

Write_to_Decoder(slave,0x85,0x19);

Write_to_Decoder(slave,0x86,0x0B);

Write_to_Decoder(slave,0x8A,0xD0);

Write_to_Decoder(slave,0xC5,0xC1);

Write_to_Decoder(slave,0xF3,0x0F);

Write_to_Decoder(slave,0xF4,0x3F);

Write_to_Decoder(slave,0xB7,0x12);

value = Read_from_Decoder(slave,0x8F);

Configure_Decoder_STANAGB(slave);

}

void delay(void)

{

unsigned char i;

for(i=0;i<1000;i++);

}

 

// this function is for STANAGB setting

void Configure_Decoder_STANAGB(unsigned char slave)

{

Write_to_Decoder(slave,0x06,0x03);

Write_to_Decoder(slave,0x3C,0x5C);

Write_to_Decoder(slave,0x87,0xFB);

Write_to_Decoder(slave,0x88,0x40);

Write_to_Decoder(slave,0x90,0xC0);     //NOT GETTING UPDATED, SHOWS DEFAULT VALUE ON READ BACK

Write_to_Decoder(slave,0x8F,0x06);     // NOT GETTING UPDATED, SHOWS DEFAULT VALUE ON READ BACK

Write_to_Decoder(slave,0x7C,0xC0);

Write_to_Decoder(slave,0x7E,0x00);

Write_to_Decoder(slave,0x73,0x12);

Write_to_Decoder(slave,0x8D,0x03);

Write_to_Decoder(slave,0xF9,0x04);

Write_to_Decoder(slave,0xC4,0x80);

Write_to_Decoder(slave,0xC3,0x06);

Write_to_Decoder(slave,0x6A,0x10);

Write_to_Decoder(slave,0x68,0x01);

value = Read_from_Decoder(slave,0x8F);

value = Read_from_Decoder(slave,0x90);

}

Outcomes