stm32 tft lcd controller quotation

The STM32 LTDC has a peripheral called LTDC LCD TFT Display Controllerwhichprovides a digital parallel interface(DPI) for a variety of LCD and TFT panels. It sends RGB data in parallel to the display and generates signals for horizontal and vertical synchronization (HSYNC, VSYNC), as well as pixel clock (PCLK) and not data enable (DE) signals:

Configuring the timing signals is the first thing to do to initialize the LTDC controller. The function HAL_LTDC_MspInit()initializes the low level details of the LTDC peripheral (clock and GPIOs):

In this example I use the display on the STM32F429-Discovery board, which is driven by the ILI9341 display controller. The ILI9341 can drive a QVGA (Quarter VGA) 240×320 262,144 colors LCD display. The controller can be configured via SPI (or parallel interface, depending on the panel settings) to use a digital parallel 18 bit RGB interface (since only 6 lines per color channel are wired on the board to the LTDC). Since the display pixel format is less than 8 bit per channel (RGB666 in this case), the RGB display data lines are connected to the most significant bits of the LTDC controller RGB data lines:

Before enabling the LTDC we must configure the clock system. The LTDC uses a specific clock LCD_CLOCK to generate the pixel clock signal and it must be configured and enabled during the system initialization phase:

To display an image we must convert an image file to an array (possibly a const one, so it can be stored in flash memory) of bytes. To do this I used LCD image converter, a simple but powerful application that can convert a file to a variety of different pixel formats:

Now I’m just showing 100 x 100 pixels of the layer 1 image so I configured the color buffer line length as 100 and the color buffer number of lines as 100. The line pitch value indicates that a framebuffer line is still 240 * 3 bytes long so the controller knows how to fetch bytes from the frame buffer correctly. I also moved the start of the window adding an offset of 50 pixels and 50 scan lines. The default background color is used where the layer isn’t used (the layer background color is a solid green):

In this example the framebuffers have a RGB888 color depth and for a 240×320 display that makes 225 KiB of memory for each buffer (3 bytes per pixel x 240 x 320 pixels) so they must be stored in external SRAM (the STM32F429I-DISCOVERY has a 64Mbit external SRAM so we’re good). The FMC Flexible Memory Controller has to be initialized and the address of the two frame buffers has to be configured. Drawing on the framebuffer is a matter of writing the right bytes in order to change the color. Once all pixels are drawn (bytes are written) the buffers are switched and the code can draw the next frame:

stm32 tft lcd controller quotation

Therefore, it may be more advantageous to use a driver chip, to avoid a lot of setup with external memory. Since it"s not just a software issue, but also the hardware doesn"t have all the support to perform the direct operation with the TFT display (it doesn"t accept STN either).

stm32 tft lcd controller quotation

ER-TFTM050-3 is 800x480 dots 5" color tft lcd module display with RA8875 controller board,superior display quality,super wide viewing angle and easily controlled by MCU such as 8051, PIC, AVR, ARDUINO,and ARM .It can be used in any embedded systems,industrial device,security and hand-held equipment which requires display in high quality and colorful image.

It supports 8080 6800 8-bit,16-bit parallel,3-wire,4-wire,I2C serial spi interface. Built-in MicroSD card slot. It"s optional for 4-wire resistive touch panel (IC RA8875 built-in touch controller),capacitive touch panel with controller,font chip, flash chip and microsd card. We offer two types connection,one is pin header and the another is ZIF connector with flat cable.Mounting on board by default. There is no capacitive touch panel connection on the board of ER-TFTM050-3,its capacitive touch panel needs to be connected with your external board.Now we design another new board with capacitive touch connection named_ER-TFTM050A2-3.

Of course, we wouldn"t just leave you with a datasheet and a "good luck!".Here is the link for5" TFT capacitive touch shield with libraries,examples,schematic diagram for Arduino Due,Mega 2560 and Uno. For 8051 microcontroller user,we prepared the detailed tutorial such as interfacing, demo code and development kit at the bottom of this page.

stm32 tft lcd controller quotation

What makes you say that/where did you read it? I can’t find anything about a touch controller or touch support, in either the part datasheet or the board’s.

Ahh yeah look at that! If you look closely, top right of the LCD, that’s obviously a flex connector for a resistive touch overlay (4 contacts running to the 4 sides of the LCD overlay).

Agreed! I will be picking one up. I’ve been happy developing for the stm32f4discovery (and other stm32 chips) with gcc, openocd and gdb. It is all free.

The STM32F4 cores are pretty well supported by libopencm3 and Code Sourcery and summon-arm-toolchain both build working toolchains and openOCD supports the stlink natively now.

A fair number of inexpensive baseboards/motherboards/accessories have also appeared for earlier versions. I hope Olimex puts out a couple nice STM32F429/427 boards.

I can see there is only a STLINK usb connector on board, so there is even no FS to expect. beside HS, I suppose does mean High Speed (480mbps). but HS anyway needs a separate physical layer USB chip for addition to STM32F4 chip and most likely this is chip is not present on this board anyway, because this is STM32F4+LCD+SDRAM demoboard and there is no need for USB at all.

The data brief bullet-points “USB OTG with micro-AB connector”. Looks like the micro-usb is on the underside, sticking out at the bottom of the photo. With matching T/H mounting tabs on the topside, labelled USB USER. But like you said, the STM32F4 requires an external PHY for HS, and it seems unlikely they’d include one on this board.

I think Farnell’s 21€ will be accurate, as ST’s suggested USD price is $24. The placeholders for the STM32F429I-DISCO on element14 (a division of Farnell) and mouser show $42, which I think predates the later ST announcement. I think the ST announced $24 will hold, and the distributor prices will match that, as they have in the past.

I wouldn’t expect TI to hack profits from their calculator range, and HP have always been expensive, but ST could easily change their format to calculator-friendly. Clamshell design, LCD & battery in top half, CPU & keypad in bottom half, expansion pins to left / right of keypad makes a self contained unit.

HP Palm – Love the idea, hate the baguette (french bread loaf) layout. If I could get custom key covers, and surface-mount key switches, I’d be designing my own low-profile keypad to go with an LCD module. Top side keypad, bottom side CPU / RAM / USB / LCD driver / power regulation / expansion port.

Great find, thanks! Man, could they have buried the details on that guy any farther down into the document? I can’t help but feel like a quick pointer in the LCD section to “oh by the way there’s a touch screen, here’s how to talk to it” would have been a good idea.

It’s certainly useable in any other project where you have an onboard LCD controller. Especially any other project that happens to use a STM32F4. What difference would it have made if it had an external controller? Surely it’d have been on the same PCB. Were you hoping for a removeable SPI-interfaced module?

Look in the UM1670 user manual, paragraph 4.8: the tft includes an ILI9341 controller. The ILI9341 has it’s own graphics ram inside, it is not mapped into the STM32 address space. It is connected to the STM32 via a parallel bus. The ILI9341 and similar controllers are common on cheap chinese tfts. So it is no problem to source similar tfts for your final product after developing on the discovery board.

UM1670 in paragraph 4.8 also says that “The TFT LCD is a 2.41″ display of 262 K colors. Its definition is QVGA (240 x 320 dots) and is directly driven by the STM32F429ZIT6 using the RGB protocol”. ILI9341 has multiple modes of operation including direct RGB/HSYNC/VSYNC mode which bypasses internal GRAM. I don’t have the board yet but I assume display buffer is located in external SDRAM which is also on the board. The whole point of this kit is to show TFT and SDRAM interface in new STM32F4x9.

I’ve checked this discovery board firmware available from ST’s site (“STM32F429 discovery firmware package UM1662” number: STSW-STM32138, btw. finding it is a bit difficult – ST’s site is terrible):

They are using FreeRTOS, FatFs, STemWinLibrary which is ST’s version of Segger’s emWin graphic library and STM32F4xx_StdPeriph_Driver v1.2.1 which includes F429/439 support (FMC, LTDC and DMA2D added).

Check again martin. Those lines have pullups to vdd and are connected to cpu pins. I have this board for some time and I can confirm that lcd is driven by lcd controller from cpu and frame buffer is in external dram which is also on the board.

stm32 tft lcd controller quotation

first thanks for your response..i am new for TFT lcd.I attached my details.If u got any idea tell me.i am facing problem in 10" TFT lcd interfacing.problem is lcd back light is flikering.i attached a file see that.

1)my TFT pannel WY101ML308HS18A is a Active matrix TFT panels and it can support up to 24-bit bus.my controller is lpc1788 so it has inbuild lcd controller and it can support .

2)the controller has a parallel bit interface, the panel has a LVDS interface.But here i am using a SN75LVDS83B to convert the 24 bit parallel data into LVDS format..and sending to TFT lcd pannel via 4 bus.

4)i thought the problem is in lcd initialization.i need the exact value for hsync and vsync front porch,back porch ,horizontal and vertical pulse width value.

lcd_14arial_writestr(a,b,"WELCOME","B",RED,WHITE);// Its a function for displaying 14 Arial font character. a=horizontal location,b=vertical location,welcome =character should display in TFT lcd(accessing from ASCII Library), red=character color,white=screen border color.

stm32 tft lcd controller quotation

I am working on STM32F103ZT6 and with SSD1963. I have connected 480X272 and 320X240 LCD’s. I am initializing SSD1963 with the Init Commands on same pins as you use, but in GPIO mode & not in FSMC mode. The Clock Freq from Crystal is 8MHz and in STM32 acitvating PLL is made to 72MHz. So, Clk Freq for SSD1963 is 8MHz. Hope we should configure the PLL in SSD1963. So below is my Initialisation Sequence details.

stm32 tft lcd controller quotation

You can use "OshStencil" to make solder-paste stencils for this board, I"d recommend just making individual stencils for the "STM32" processor and the two LCD connectors, not the entire board.

Still working on the code/GUI, little by little getting all the menus tied together...plus I added an "ini" parser code in, so I could put a "config.ini" onto the microsd as well, this is what stores configuration stuff...ie LCD brightness, sensor enables, etc...

So once I start populating the new board this weekend, I"ll test out that everything is up and working, and I didn"t forget any of the many cuts/jumps I had to add to my current board.. lol... plus keeping my fingers crossed the SRAM works... in that case I can start testing displaying images from the SD card to the LCD...

In manual mode on the chinese controller it leveled off nicely at around 160C or so with the fan and lamp on out of the box.. only thing i can figure is whatever garbage mineral wool they used must have had the chemical in it because i had it completely torn down to inspect for putting an internal air stiring fan too.. that or maybe the adhesive from the heat tape they used?