Skip to main content
Tran Minh Cong
Associate III
April 16, 2018
Question

F746 using LCD

  • April 16, 2018
  • 1 reply
  • 1169 views
Posted on April 16, 2018 at 15:37

Dear every body,

I are using

LCD TFT 7 inch 800x480

/external-link.jspa?url=https%3A%2F%2Fwww.buydisplay.com%2Fdefault%2F7-tft-lcd-touch-screen-display-module-800x480-for-mp4-gps-tablet-pc

  in our design with 

STM32F746BTG6

 processor working at  200 

MHz frequency

.

The data is loaded from SDRAM  to LTDC (STM32F7 LCD Controller)

using DMA2D and FMC interface

(Flexible Memory Controller – Working at 200/2 MHz).

- SDRAM which i'm using:

/external-link.jspa?url=https%3A%2F%2Fwww.micron.com%2Fparts%2Fdram%2Fsdram%2Fmt48lc16m16a2p-6a

MT48LC16M16A2 – 4 Meg x 16 x 4 banks

- IDE: MDK Version 5 - Keil

- Library: HAL. 

I have some question to ask you:

How do I enable the frame interrupt ?

How do I disable the SDRAM auto refresh function ?

Please support me.

Thank you!

#f746-using-lcd
    This topic has been closed for replies.

    1 reply

    Tesla DeLorean
    Guru
    April 16, 2018
    Posted on April 16, 2018 at 16:10

    You should be able to generate a Line interrupt for the LTDC via a position programmed into LIPCR

    See:

    HAL_LTDC_ProgramLineEvent()

    STM32Cube_FW_F7_V1.9.0\Projects\STM32746G-Discovery\Applications\STemWin\STemWin_HelloWorld\STemWin\Target\LCDConf.c

    HAL_LTDC_LineEventCallback()

    STM32Cube_FW_F7_V1.9.0\Projects\STM32746G-Discovery\Examples\LTDC\LTDC_Display_2Layers\Src\main.c

    Not sure of the value of killing the auto-refresh, presumably you feel the display visits rows/columns sufficiently. The SDRAM initialization has a command sent to the chip itself, and a clock count for the controller.

    For display ripping consider not modifying the active frame buffer, or getting better optimized routines, the BSP library examples here are rather inefficient.

    Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
    Tran Minh Cong
    Associate III
    April 25, 2018
    Posted on April 25, 2018 at 11:04

    Dear you,

    I want ask you about step by step LTDC out data to LCD TFT.

    What is signalling signal of LTDC to MCU to read data from SDRAM. After that, LTDC out data to LCD TFT.

    Example link:

    https://www.embedded.com/design/mcus-processors-and-socs/4426244/Building-eye-catching-GUIs-for-your-embedded-MCU-designs

    https://m.eet.com/media/1202452/KEOLABS%20figure%jpg

    https://github.com/hampussandberg/HexConnect/wiki/Simple-GUI

    https://raw.githubusercontent.com/hampussandberg/HexConnect/master/Documentation/version-2/images/simple-gui/simple-gui-layer-management-hardware.png

    LTDC can't get data directly from SDRAM. Isn't it?

    Thank you!

    Tesla DeLorean
    Guru
    April 25, 2018
    Posted on April 25, 2018 at 15:47

    Not sure I'm up for generating a step-by-step

    The DMA2D is what is classically a Bit-Blit operation, manipulating the frame buffer, see your lower diagram with back-n-forth to SDRAM 

    https://en.wikipedia.org/wiki/Bit_blit

     

    The LTDC paints the rasters (lines) to the screen, it manages the serialization of the pixel, line and frame data to the display, it reads the frame buffer from SDRAM, and pipes it to the display in the RGB form required, along with any control signalling and clocking.

    Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..