This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TFP401A: TFT Display showing up with bad colors.

Part Number: TFP401A
Other Parts Discussed in Thread: TFP401

Hello,

We have just designed a board using a TFP401A to decode an HDMI signal into a 24 bit parellel RGB signal that is then sent to a standard 50-pin TFT display module which uses a 24-bit parallel RGB bus. After configuring an EDID with the correct resolution, the image shows up with the correct resolution but the completely wrong colors. We've tried a couple of different things and have double checked the pin-out but have been unable to root cause the issue so far.

Link to to images and schematic

Here's a summary of what we've done:

TFP401 Configuration:

See attached schematic page for more info.

DFO: set to TFT (low)

ST: set to high (33 ohm external resistor in series with each RGB line) 

PIXS: set to 1px/clk mode (low)

STAG: set to high (unstaggered)

OCK_INV: set to falling edge (low)

Images:

Image 1: Correct colors:

Image 2: Colors shown on display

Image 3: "Ghosting" issue. Note that the ghost image is not actually burned in and moves with the window on the display.

Observations/Issue Description:

1. Red and Black appear inverted. This is odd as it does not seem like a simple R/B or R/G swap.

2. Image shows some "ghosting" that tracks the image on the display. It looks like two frames are overlapping each other with one frame being vertically offset from the other. 

3. HSYNC and VSYNC signals are generated at ~38Khz and ~60hz as expected for display resolution with no obvious Jitter

4. Clock shows up at expected 51Mhz frequency. 

Solutions Attempted:

1. Tested a different TFT panel. Same issue occurs

2. Tested the TFT panel with the board supplied by the manufacturer. This worked as expected and had no color issues. Their implementation used an LT8619C from Lontium semiconductor to perform the decoding. 

3. Checked all the bias voltages and made sure they matched the manufacturer demo board.

4. Tried changing clock edge from high to low. This resulted in a worse image showing up with the same color issue. 

5. Tried changing from TFT mode to DSTN mode. This offset the image on the display but did not fix any issues.

6. Change the EDID color space from 8-bit RGB to Y'CbCr 4:4:4 or other color-spaces. This shifted the colors that showed up on the display but did not actually resolve the issue.

7. Change the EDID frame rate from 60hz to 30hz. This appeared to do nothing

Schematic PDF:

Handheld-DISPLAY.pdf

UPDATE

Turns out the color issue was caused by the red channel being inverted. This was caused by a swapped D2 pair coming from the HDMI line. After swapping this pair the color issue went away but I am still seeing the second "Ghosting". Any clue on what could be causing this issue? I will post more pictures later.

If anyone has any ideas on what could be wrong help would be greatly appreciated!

  • Hi,

    Does the HDMI signal include audio as well? If it does, can you disable audio and just send the video signal to TFP401A?

    Thanks

    David

  • The audio should be disabled, here is the EDID I used to program the display EEPROM: 

    edid-decode (hex):
    
    00 ff ff ff ff ff ff 00 32 8d 02 2c 01 01 01 01
    01 15 01 03 80 59 32 78 0a 0d c9 a0 57 47 98 27
    12 48 4c 20 00 00 01 01 01 01 01 01 01 01 01 01
    01 01 01 01 01 01 00 14 00 40 41 58 23 20 a8 20
    f6 00 20 c2 31 00 00 1e 00 14 00 40 41 58 23 20
    a8 20 f6 00 20 c2 31 00 00 18 00 00 00 fc 00 4c
    6f 6e 74 69 75 6d 20 53 65 6d 69 0a 00 00 00 fd
    00 3a 3e 0e 46 06 00 0a 20 20 20 20 20 20 01 57
    
    02 03 0e 80 41 01 67 03 0c 00 10 00 00 0c 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 99
    
    ----------------
    
    Block 0, Base EDID:
      EDID Structure Version & Revision: 1.3
      Vendor & Product Identification:
        Manufacturer: LTM
        Model: 11266
        Serial Number: 16843009
        Made in: week 1 of 2011
      Basic Display Parameters & Features:
        Digital display
        Maximum image size: 89 cm x 50 cm
        Gamma: 2.20
        RGB color display
        First detailed timing is the preferred timing
      Color Characteristics:
        Red  : 0.6250, 0.3398
        Green: 0.2802, 0.5947
        Blue : 0.1552, 0.0703
        White: 0.2832, 0.2978
      Established Timings I & II:
        DMT 0x04:   640x480    59.940 Hz   4:3    31.469 kHz  25.175 MHz
      Standard Timings: none
      Detailed Timing Descriptors:
        DTD 1:  1024x600    59.993 Hz 128:75   38.095 kHz  51.200 MHz (800 mm x 450 mm)
                     Hfront  168 Hsync  32 Hback 120 Hpol P
                     Vfront   15 Vsync   6 Vback  14 Vpol P
        DTD 2:  1024x600    59.993 Hz 128:75   38.095 kHz  51.200 MHz (800 mm x 450 mm)
                     Hfront  168 Hsync  32 Hback 120 Hpol N
                     Vfront   15 Vsync   6 Vback  14 Vpol N
        Display Product Name: 'Lontium Semi'
      Display Range Limits:
        Monitor ranges (GTF): 58-62 Hz V, 14-70 kHz H, max dotclock 60 MHz
      Extension blocks: 1
    Checksum: 0x57
    
    ----------------
    
    Block 1, CTA-861 Extension Block:
      Revision: 3
      Underscans IT Video Formats by default
      Native detailed modes: 0
      Video Data Block:
        VIC   1:   640x480    59.940 Hz   4:3    31.469 kHz  25.175 MHz
      Vendor-Specific Data Block (HDMI), OUI 00-0C-03:
        Source physical address: 1.0.0.0
        Maximum TMDS clock: 60 MHz
    Checksum: 0x99

    Any other clues?

    Thank you!

  • Hi,

    Can you measure the ODCK, DE, HSYNC, and VSNYC with a scope? Do they match the input video timing?

    Thanks

    David