NHD-5.0-800480TF-ATXL-CTP Flickering
Hello,
we are currently evaluating the NHD-5.0-800480TF display and are encountering some interesting effects:
1. The display fades to white directly after writing a line. The display is written from top to bottom. The display frequency was reduced to 2MHz (ca 5 FPS) for this picture, at the normal CLK of 40 MHz this leads to a strong flickering and a dull picture. The white lines at the bottom of the picture move with the next new frame, could be related to problem 2?
2. Colors seem to alternate between every 2 frames.
3. Settings:
Controller: NXP Cortex M4 LPC4357
static const LCD_CONFIG_T NHD50TFT_LCD =
{
.HBP = 88, /*!< Horizontal back porch in clocks */
.HFP = 40, /*!< Horizontal front porch in clocks */
.HSW = 48, /*!< HSYNC pulse width in clocks */
.PPL = 800, /*!< Pixels per line */
.VBP = 32, /*!< Vertical back porch */
.VFP = 13, /*!< Vertical front porch */
.VSW = 10, /*!< VSYNC pulse width */
.LPP = 480, /*!< Lines per panel */
.IOE = 1, /*!< Invert output enable, 1 = invert */
.IPC = 1, /*!< Invert panel clock, 1 = invert */
.IHS = 0, /*!< Invert HSYNC, 1 = invert */
.IVS = 0, /*!< Invert VSYNC, 1 = invert */
.ACB = 1, /*!< AC bias frequency in clocks (not used) */
.BPP = 5, /*!< Maximum bits per pixel the display supports 5->24bpp*/
.LCD = LCD_TFT, /*!< LCD panel type */
.color_format = LCD_COLOR_FORMAT_RGB, /*!< BGR or RGB */
.Dual = 0 /*!< Dual panel, 1 = dual panel display */
};
I tested this issue with 3 displays, the only change is the intensity of the flickering. We tried to vary the timing parameters and to invert the dotclock signals but could not stop the fading.
I will try to take some good pictures of problem 2 post them later.
Any idea where to start? Thank you for your help.
-
Your issue seems to be caused by some settings on your MCU, as this behavior is not reflective of a defect. Can you try changing your pixel clock frequency to see if you see any favorable changes on the display? Perhaps faster than what you have already tried, and also confirm this frequency with a scope. Have you tried changing the BPP setting? Try playing with any settings related to vertical active length/resolution as well, as it seems this fading is happening on at a portion of the display.
0 -
Hello Michael,
thank you for your reply. We managed to resolve the two issues:
Display Fading: After setting the clock to 40 Mhz the problem is solved. (Proviously we had only 20 Mhz due to a wrong clock divider)
(Edit: If you use the LPC Open Library there is a hardcoded Pixel clock divider with a todo comment in the file lcd_18xx_43xx.c)
Color Flickering: A horizontal back porch of 87 instead to 88 solved this issue.
Here are the final parameters:
static const LCD_CONFIG_T NHD50TFT_LCD =
{
.HBP = 87, /*!< Horizontal back porch in clocks */
.HFP = 40, /*!< Horizontal front porch in clocks */
.HSW = 48, /*!< HSYNC pulse width in clocks */
.PPL = 800, /*!< Pixels per line */
.VBP = 32, /*!< Vertical back porch */
.VFP = 13, /*!< Vertical front porch */
.VSW = 10, /*!< VSYNC pulse width */
.LPP = 480, /*!< Lines per panel */
.IOE = 1, /*!< Invert output enable, 1 = invert */
.IPC = 1, /*!< Invert panel clock, 1 = invert */
.IHS = 0, /*!< Invert HSYNC, 1 = invert */
.IVS = 0, /*!< Invert VSYNC, 1 = invert */
.ACB = 1, /*!< AC bias frequency in clocks (not used) */
.BPP = 5, /*!< Maximum bits per pixel the display supports 5->24bpp*/
.LCD = LCD_TFT, /*!< LCD panel type */
.color_format = LCD_COLOR_FORMAT_RGB, /*!< BGR or RGB */
.Dual = 0 /*!< Dual panel, 1 = dual panel display */
};
Looks nice!0 -
Great! Thank you for sharing your solution!
0
Please sign in to leave a comment.
Comments
3 comments