cancel
Showing results for 
Search instead for 
Did you mean: 

F746 using LCD

Tran Minh Cong
Associate II
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
3 REPLIES 3
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 Venmo
Up vote any posts that you find helpful, it shows what's working..
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!

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 Venmo
Up vote any posts that you find helpful, it shows what's working..