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:
- STM32H743 datasheet (information on LCD on pages 189, 300)
- DS90C387 datasheet
- Connecting DS90 to LVDS
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!