Improper/overlapping display on a 800*600 display

We have made a custom S7G2 based board, details of which are as follows

uc- R7FS7G2H2A01CBD s7g2, BGA package(224 pins)

Sdram ic- AS4CM16SA 64Mb synchronous


Resolution- 800*600, TFT

Interface- RGB 666 interface(18 bits)

The problem is that the display appears repeated /overlapped onto each other, I have done all display settings (Vertical, Horizontal sync signal, RGB format, clock divider etc) according to the datasheet. The datasheets of our sdram, display & a zipped project (to understand the configurator settings) are attached herewith. Also attached is an reference image of how the display is produced.

  • In reply to heman:

    Hi Heman, pay attention to:
    1) LCD front/back horizontal/vertical porch
    2) cable length: try to make short connection
    3) try to modify "Port Drive Capability" (DSCR bits on PmnPFS)
  • In reply to RobertoG:

    Hi Herman,

    Also check your SDRAM to make sure that it is implemented correctly on your custom board. If the frame buffer is in SDRAM, this could be the cause of your issue if the memory decode is incorrect.

  • Hi heman,

    >The problem is that the display appears repeated /overlapped onto each other,
    Each frame buffers is never overlapped because they are defined as multidimensional array.

    uint8_t g_display_fb_background[1][((256 * 320) * DISPLAY_BITS_PER_PIXEL_INPUT0) >> 3] BSP_ALIGN_VARIABLE_V2(64) BSP_PLACE_IN_SECTION_V2(".bss");

    The ghost appears left side of display, so I guess it is caused by hardware problem.
    To find the cause, I recommend that you try the following.

    1. Check byte independency of sdram.
     I often use the method that the memory is filled with 0, and written/verified the pattern repeats every 255 bytes. )

    2. Disable hardware graphic support.

    3. If you can allocate one frame buffer on sram, set number of frame buffers to 1, and move it to bss section.
    (Insubstantial frame buffers may cause flickering, though the problem is maybe improved.)
  • In reply to tenballs:

    We changed some macros in the generated Synergy sdram.c file to match the specifications of our sdram ic. Thanx for the help and making me understand the root cause of the problem. The display works fine now.