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.

DS90C387: Problems interfacing between STM32H743 LCD and LVDS displays

Part Number: DS90C387

Hi, I've been trying to drive a LVDS display using a STM32H743 evaluation board's LCD unit. I'm using a DS90C387 chip to convert the LCD's single-pixel RGB signal into a dual-pixel one the LVDS can use, but I'm been having issues getting anything to display on the LVDS and I suspect it's because I'm misusing the DS90.

Here is documentation for the relevant pieces of my setup:

Here is the basic setup:

  • STM32H743 evaluation board LCD-TFT output is fed into DS90C387 chip for RGB666
    • LCD-R[0:5] mapped to R[10:15], R16 & R17 not tied to anything. Same for G and B.
    • LCD-CLK mapped to CLKIN
    • LCD-HSYNC mapped to HSYNC
    • LCD-VSYNC mapped to VSYNC
    • 1.65V into BAL
    • 1.65V into DUAL (for single pixel -> dual pixel mode)
  • DS90 output fed into 1920x360 LVDS display
    • The display only cycles through colors, basically meaning it's not getting a signal in the format it expects
    • Unfortunately the LVDS display does not provide any methods for debugging

At first, I thought I might not be interfacing with the DS90 correctly. I tested with several options:

  • Tested a few resolutions
    • 480x272 and 1920x360
  • Tested different LCD frequencies
    • The LVDS display I'm working with expects ~75MHz, so I have the LCD clocked at 150MHz (since I'm using single -> dual pixel mode)
    • Tested with different LCD frequencies in the range of 120-170MHz from
  • Tested with RGB565 and RGB888
    • RGB666 is not natively offered on the evaluation board I'm working with

After going through these tests, I now believe there I'm not interfacing with the DS90 chip correctly. Here are my thoughts on what could be the issue (in order from most likely to least likely):

  • The R16, R17, G16, G17, B16, B17 pins are floating, not sure if this would cause an issue
  • I've read that for the single -> dual pixel mode to work, the DE input should transition from low to high in a process called blanking, and I'm not sure if the LCD output DE signal I'm working with does this
  • I've been told a resistor (or something) may have to be added to the DUAL input
  • Issues with HSYNC and VSYNC. I'm not too sure exactly what these are for

I've searched for a while, but I'm not exactly sure how the DS90 knows whether it's getting a 18-bit or 24-bit signal (since there's no pin that does this). I would be very appreciative if someone could explain exactly how the chip determines this, or if someone could diagnose the issue. I'm a newbie at this, so I can provide additional information if needed and I appreciate any general guidance :-).

Thanks!

  • Hi Brandon,

    Re: "1.65V into BAL"
    Do you know if your LVDS display supports DC balance data transmission feature? If not, BAL should be set to low.

    Re: "DS90 output fed into 1920x360 LVDS display"
    Do you know what mapping scheme your LVDS display is expecting (JEIDA/Format1 or VESA/Format2 mapping)?


    Re: "
    The R16, R17, G16, G17, B16, B17 pins are floating, not sure if this would cause an issue"
    This should not be a problem as explained in the datasheet because it will default to “low” when left open due to internal pull-down resistor.

    Re: "dual pixel mode to work, the DE input ..."
    DE (DATA-ENABLE) is one of the video control signals and should be connected to the corresponding LCD-DE pin and shouldn't be left floating. Also, as explained in the datasheet, the "R_FDE" pin must be set high in this case. Refer to the Applications Information section in the datasheet.

    Regards,
    Solomon