Post Go back to editing

Color inversion (ADV7842 & ADV7513)

Hi all

I have a design with the ADV7842 and the ADV7513.

I have checked all the signal but i did't not find why i have a color inversion.

The input is RGB (PC VGA) and the output is HDMI.

any idea ?

Franck

Which scripts are you using?

Make sure Y1Y0 register in the 7513 is set correctly.  Trying toggling it to see if it fixes the problem

  • Hy Guenter

    input resolution is : 1280x1024@60

    ADV7842 script is

    DEVICE_ADDR_ADV7842_IO_MAP, 0x00, 0x05,   // VID_STD=000101b for SXGA60

    DEVICE_ADDR_ADV7842_IO_MAP, 0x01, 0x82,   // Prim_Mode to graphics input

    DEVICE_ADDR_ADV7842_IO_MAP, 0x02, 0xF6,   // Auto input color space, Limited Range RGB Output

    DEVICE_ADDR_ADV7842_IO_MAP, 0x03, 0x40,   // 24 bit SDR 444

    DEVICE_ADDR_ADV7842_IO_MAP, 0x05, 0x28,   // Disable AV Codes

    DEVICE_ADDR_ADV7842_IO_MAP, 0x0C, 0x40,   // Power up Part

    DEVICE_ADDR_ADV7842_IO_MAP, 0x15, 0xB0,   // Disable Tristate of Pins except for Audio pins

    DEVICE_ADDR_ADV7842_CP_MAP, 0x73, 0xEA,   // Set manual gain of 0x2A8

    DEVICE_ADDR_ADV7842_CP_MAP, 0x74, 0x8A,   // Set manual gain of 0x2A8

    DEVICE_ADDR_ADV7842_CP_MAP, 0x75, 0xA2,   // Set manual gain of 0x2A8

    DEVICE_ADDR_ADV7842_CP_MAP, 0x76, 0xA8,   // Set manual gain of 0x2A8

    DEVICE_ADDR_ADV7842_CP_MAP, 0x85, 0x0B,   // Disable Autodetectmode for Sync_Source for CH1. Force CH1 to use HS&VS

    DEVICE_ADDR_ADV7842_CP_MAP, 0xC3, 0x39,   // ADI recommended write

    DEVICE_ADDR_ADV7842_AFE_DPLL_MAP, 0x0C, 0x1F,   // ADI recommended write

    DEVICE_ADDR_ADV7842_AFE_DPLL_MAP, 0x12, 0x63,   // ADI recommended write

    DEVICE_ADDR_ADV7842_AFE_DPLL_MAP, 0x00, 0x80,   // ADC power Up

    DEVICE_ADDR_ADV7842_AFE_DPLL_MAP, 0x02, 0x00,   // Ain_Sel to 000. (Ain 1,2,3)

    DEVICE_ADDR_ADV7842_AFE_DPLL_MAP, 0xC8, 0x00   // DLL_PHASE - 000000b

    ADV7513 script is:

    0x98, 0x03,                                      // ADI recommended write*

    0x9A, 0xE0,                                      // ADI recommended write*

    0x9C, 0x30,                                      // ADI recommended write*

    0x9D, 0x61,                                      // ADI recommended write

    0xA2, 0xA4,                                      // ADI recommended write*

    0xA3, 0xA4,                                      // ADI Recommended Write*

    0xE0, 0xD0,                                      // ADI Recommended Write*

    0x01, 0x00,                                      // Set 'N' value at 6144

    0x02, 0x18,                                      // Set 'N' value at 6144

    0x03, 0x00,                                      // Set 'N' value at 6144

    0x15, 0x00,                                      // 24-bit, 444 RGB input

    0x16, 0x00,                                      // RGB 444

    0x18, 0x46,                                      // Disable CSC

    0x40, 0x80,                                      // General control packet enable

    0x49, 0xA8,                                      // ADI recommended write*

    0x96, 0x00,                                      // HPD interrupt clear

    0x56, 0x08,                                      // Set active format aspect

    0xAF, 0x04,                                      // Select DVI mode

    0xBA, 0xA0,                                      // Set TX Clock Delay

    0xE4, 0x60,                                      // VCO_Swing_Reference_Voltage

    0x45, DEVICE_ADDR_ADV7513_PACKET_MEM_MAP,        // I2C Address for PACKET MEM REG

    0x43, DEVICE_ADDR_ADV7513_EDID_MAP,              // I2C Address for EDID_MAP

    0xE1, DEVICE_ADDR_ADV7513_CEC_MAP,               // I2C CEC_MAP

    0xF9, DEVICE_ADDR_ADV7513_FIXI2C_MAP,            // I2C Address for FIXI2C_MAP

    i have try to toogle the y0y1 register in the  adv7513 (0x55[6:5]) but no change

    franck

  • How is it inverted.

    When you input a blue screen, what do you get out?

    Please check IO 0x04[7:5] OP_CH_SEL.  If the output digital channels are swapped, you will get strange color conversions too.  I notice you don't seem to be writing it so it will be at the default

  • Hello

    inverted like this

    White --> Black

    Black --> White

    Green  --> magenta

    Red --> cyan

    Yellow --> blue

    franck

    Ce message, ainsi que tous les fichiers joints à ce message,

    peuvent contenir des informations sensibles et/ ou confidentielles

    ne devant pas être divulguées. Si vous n'êtes pas le destinataire

    de ce message (ou que vous recevez ce message par erreur), nous

    vous remercions de le notifier immédiatement à son expéditeur, et

    de détruire ce message. Toute copie, divulgation, modification,

    utilisation ou diffusion, non autorisée, directe ou indirecte, de

    tout ou partie de ce message, est strictement interdite.

    This e-mail, and any document attached hereby, may contain

    confidential and/or privileged information. If you are not the

    intended recipient (or have received this e-mail in error) please

    notify the sender immediately and destroy this e-mail. Any

    unauthorized, direct or indirect, copying, disclosure, distribution

    or other use of the material or parts thereof is strictly

    forbidden.

  • Solved !

    The problem was the connexion between the output of the HDMI transmiter and

    the switch connected behind.

    i just revert the source sign of the HDMI trace and that isolve the problem.

    Good to know !

  • Thanks for the update! Can you clarify what you did to resolve the issue?

    -Matt

  • Hi Matt

    The output HDMI trace from the ADV7513 was connected directly to the switch AD8192.

    The problem was that the polarity of the differential trace was inverted.

    And if the polarity is inverted the color are inverted to !

    I mean for example TC0+ of ADV7513 was connected to TC0- of AD8192 

    and TC0- of ADV7513 was connected to TC0+ of AD8192.

    The issue was resolve thanks to the possibility of the AD8192 to reverse the polarity by

    programming the internal register.

    i hope that helps

    Captcha