AnsweredAssumed Answered

8-bit ITU-R BT.656 to ADV7513

Question asked by DanLaks on May 26, 2015
Latest reply on May 30, 2015 by GuenterL

I have a circuit that outputs 8-bit ITU-R BT.656 video with embedded syncs. I'm trying to convert the video to HDMI using an ADV7513. So far, the ADV7513 appears to be doing nothing with the input video. The HDMI clock and data outputs are all flat-lined.

 

Here are the specifics that I know about my system that I think are important:

1. The source video is 8-bit BT.656.

2. I'm using embedded syncs, so the vsync, hsync, and de pins on the 7513 are floating.

3. The source is generating a 27MHz clock to the CLK pin. Therefore, I'm using a divide-by-2 on register 0x9D.

4. The 8 bits are input to the 7513 on D0-D7, so I'm using Input ID = 4 and Style = 2.

 

Besides the register changes made due to the #3 and #4 above, the rest of my register values are based on the scripts provided elsewhere on this forum. I suspect my problem has something to do with timing of the embedded syncs, but I'm not sure how to get to the bottom of that. Any direction about how to determine timing values would be greatly appreciated.

 

Here are the register calls I make to the 7513. I've left off the initial "Power Up Defaults" as those appear to be the same no matter what.

 

    I2C_Write(0x72,0x01,0x00); //Set N Value(6144)

    I2C_Write(0x72,0x02,0x18); //Set N Value(6144)

    I2C_Write(0x72,0x03,0x00); //Set N Value(6144)

    I2C_Write(0x72,0x18,0x46); //CSC disabled

    I2C_Write(0x72,0x40,0x80); //General Control packet enable

    I2C_Write(0x72,0x41,0x10); //Power down control

    I2C_Write(0x72,0x49,0xA8); //Set Dither_mode - 12-to-10 bit

    I2C_Write(0x72,0x4C,0x00); //8 bit Output

    I2C_Write(0x72,0x55,0x20); //Set YCrCb 422 in AVinfo Frame

    I2C_Write(0x72,0x56,0x08); //Set active format Aspect

    I2C_Write(0x72,0x96,0x20); //HPD Interrupt clear

    I2C_Write(0x72,0x98,0x03); //ADI Recommended Write

    I2C_Write(0x72,0x99,0x02); //ADI Recommended Write

    I2C_Write(0x72,0x9C,0x30); //PLL Filter R1 Value

    //I2C_Write(0x72,0x9D,0x61); //Set clock divide

    I2C_Write(0x72,0x9D,0x65); //Input clock is 27MHz, so divide by 2

    I2C_Write(0x72,0xA2,0xA4); //ADI Recommended Write

    I2C_Write(0x72,0xA3,0xA4); //ADI Recommended Write

    I2C_Write(0x72,0xA5,0x44); //ADI Recommended Write

    I2C_Write(0x72,0xAB,0x40); //ADI Recommended Write

    I2C_Write(0x72,0xAF,0x16); //Set HDMI Mode

    I2C_Write(0x72,0xBA,0x60); //No clock delay

    I2C_Write(0x72,0xD1,0xFF); //ADI Recommended Write

    I2C_Write(0x72,0xDE,0x9C); //ADI Recommended Write

    I2C_Write(0x72,0xE4,0x60); //VCO_Swing_Reference_Voltage

 

    I2C_Write(0x72,0x15,0x04); //Input ID = 4 (8-bit, embedded syncs), 422 YPrPb input

    I2C_Write(0x72,0x16,0x75); //4:2:2 output, 8-bit input, style 2

    I2C_Write(0x72,0x17,0x62); //gen de

    I2C_Write(0x72,0x48,0x08); //right justified

    I2C_Write(0x72,0xD0,0x32); //enable V & H gen

 

    //Enable 7511 sync regenerators

    //reference Table 33,34,35

    I2C_Write(0x72,0x30,0x04);

    I2C_Write(0x72,0x31,0xC3);

    I2C_Write(0x72,0x32,0xE0);

    I2C_Write(0x72,0x33,0x10);

    I2C_Write(0x72,0x34,0x03);

    I2C_Write(0x72,0x35,0x1E);

    I2C_Write(0x72,0x36,0x64);

    I2C_Write(0x72,0x37,0x05);

    I2C_Write(0x72,0x38,0xA0);

    I2C_Write(0x72,0x39,0x1E);

    I2C_Write(0x72,0x3A,0x00);

    I2C_Write(0x72,0xD7,0x04);

    I2C_Write(0x72,0xD8,0x03);

    I2C_Write(0x72,0xD9,0xE0);

    I2C_Write(0x72,0xDA,0x24);

    I2C_Write(0x72,0xDB,0x06);

    I2C_Write(0x72,0xDC,0x00);

    I2C_Write(0x72,0xDD,0x00);

    I2C_Write(0x72,0xFA,0x00);

    I2C_Write(0x72,0xFB,0x00);

Outcomes