EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Some help on using a small 2.4" touch TFT display

Started by pozz March 17, 2015
I'm going to develop a project where a small 2.4" TFT display module 
with resistive touch panel will be used.

I'd like to use free emWin libraries distributed from NXP or ST for 
their Cortex-M3/M4 MCUs.

At first, I was thinking to use MCUs with integrated TFT controller that 
would drive "directly" the display through RGB interface (vsync, hsync, 
dotclock, red, green, blue).  The problem arrived when I started finding 
a suitable display: it's very difficult to find a small 2.4" TFT with 
RGB interface.  Most of them provide only a parallel 8/16-bits MPU 
interface.

I think because, at small sizes, the parallel MPU interface is generally 
sufficient for most applications, where the graphics aren't too complex. 
  So the RGB interface isn't necessary.

Parallel MPU interface could save me an external SDRAM for framebuffer 
(with parallel interface, the framebuffer is inside the external TFT 
controlle) and simplify the PCB.  I'm not able to understand if the 
parallel bandwidth is sufficient for my application, but I'd like to 
give it a try.

I have two questions related to drive the TFT module through parallel 
interface.

The first: are emWin libraries released by NXP (and ST) compatible with 
parallel interface?  The original product (from Segger) is surely 
compatible, but it's not clear to me if the compiled version released by 
NXP (or ST) is compatible.  I worry the compiler library could work only 
with RGB interface.

The second question: should the MCU have an external memory bus for 
interfacing the display?  I know I can use a generic GPIO port as the 
parallel port for the display, but I think the performance won't be 
good.  I think it should be better to interface the parallel port of TFT 
to the external memory bus of the MCU.
In this case, I'm not sure how to make a good connection, how to manage 
all the signals (chip select, write enable, read enable, ...).  Do you 
know any demo board with such kind of connection with publicly available 
schematics?

On 3/17/2015 7:24 PM, pozz wrote:
> I'm going to develop a project where a small 2.4" TFT display module > with resistive touch panel will be used. > > I'd like to use free emWin libraries distributed from NXP or ST for > their Cortex-M3/M4 MCUs. > > At first, I was thinking to use MCUs with integrated TFT controller that > would drive "directly" the display through RGB interface (vsync, hsync, > dotclock, red, green, blue). The problem arrived when I started finding > a suitable display: it's very difficult to find a small 2.4" TFT with > RGB interface. Most of them provide only a parallel 8/16-bits MPU > interface. > > I think because, at small sizes, the parallel MPU interface is generally > sufficient for most applications, where the graphics aren't too complex. > So the RGB interface isn't necessary. > > Parallel MPU interface could save me an external SDRAM for framebuffer > (with parallel interface, the framebuffer is inside the external TFT > controlle) and simplify the PCB. I'm not able to understand if the > parallel bandwidth is sufficient for my application, but I'd like to > give it a try. > > I have two questions related to drive the TFT module through parallel > interface. > > The first: are emWin libraries released by NXP (and ST) compatible with > parallel interface? The original product (from Segger) is surely > compatible, but it's not clear to me if the compiled version released by > NXP (or ST) is compatible. I worry the compiler library could work only > with RGB interface. > > The second question: should the MCU have an external memory bus for > interfacing the display? I know I can use a generic GPIO port as the > parallel port for the display, but I think the performance won't be > good. I think it should be better to interface the parallel port of TFT > to the external memory bus of the MCU. > In this case, I'm not sure how to make a good connection, how to manage > all the signals (chip select, write enable, read enable, ...). Do you > know any demo board with such kind of connection with publicly available > schematics?
I don't know of an eval board with "such kind of connection" if you mean an external bus. But your concerns about performance of GPIO all depends on what you plan to do with the display. Perhaps you should think about a more integrated system rather than a separate CPU and display? I believe the BeagleBone has a display port that you can use to drive an LCD which is already configured to work with it. Or the Raspberry Pi can do that I think. -- Rick
pozz:
> I'm going to develop a project where a small 2.4" TFT display module > with resistive touch panel will be used. > > I'd like to use free emWin libraries distributed from NXP or ST for > their Cortex-M3/M4 MCUs. > > At first, I was thinking to use MCUs with integrated TFT controller
that
> would drive "directly" the display through RGB interface (vsync,
hsync,
> dotclock, red, green, blue). The problem arrived when I started
finding
> a suitable display: it's very difficult to find a small 2.4" TFT with
> RGB interface. Most of them provide only a parallel 8/16-bits MPU > interface. > > I think because, at small sizes, the parallel MPU interface is
generally
> sufficient for most applications, where the graphics aren't too
complex.
> So the RGB interface isn't necessary. > > Parallel MPU interface could save me an external SDRAM for framebuffer
> (with parallel interface, the framebuffer is inside the external TFT > controlle) and simplify the PCB. I'm not able to understand if the > parallel bandwidth is sufficient for my application, but I'd like to > give it a try. > > I have two questions related to drive the TFT module through parallel
> interface. > > The first: are emWin libraries released by NXP (and ST) compatible
with
> parallel interface? The original product (from Segger) is surely > compatible, but it's not clear to me if the compiled version released
by
> NXP (or ST) is compatible. I worry the compiler library could work
only
> with RGB interface. > > The second question: should the MCU have an external memory bus for > interfacing the display? I know I can use a generic GPIO port as the
> parallel port for the display, but I think the performance won't be > good. I think it should be better to interface the parallel port of
TFT
> to the external memory bus of the MCU. > In this case, I'm not sure how to make a good connection, how to
manage
> all the signals (chip select, write enable, read enable, ...). Do you
> know any demo board with such kind of connection with publicly
available
> schematics?
Take a look at FTDI's FT800 chips and development packages - the FT800 offloads the display control and graphics library to an external chip (which is a bit different from using the NXP library but in some ways more portable). They sell development boards with little displays which might be good for small qunatity production but can be cloned for volume. MK
pozz wrote:
> I'm going to develop a project where a small 2.4" TFT display module > with resistive touch panel will be used. > > I'd like to use free emWin libraries distributed from NXP or ST for > their Cortex-M3/M4 MCUs. >
are you aware of this ? http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF259090 not sure for touch panel, but I am confident <snip>
Il 18/03/2015 07:50, rickman ha scritto:
> I don't know of an eval board with "such kind of connection" if you mean > an external bus. But your concerns about performance of GPIO all > depends on what you plan to do with the display.
It's a simple HMI: some graphic buttons, dynamic text, several screens, and so on. It is simple, but I'd like to have good quality. For example, I'd like to have text rendering with alpha channel and to have fluent transitions between two screens. I don't want to have a slow screen drawing, where I can see the painting from top to bottom.
> Perhaps you should think about a more integrated system rather than a > separate CPU and display? I believe the BeagleBone has a display port > that you can use to drive an LCD which is already configured to work > with it. Or the Raspberry Pi can do that I think.
No, I have to design my own board and keep the total cost as low as possible.
Il 18/03/2015 09:51, Michael Kellett ha scritto:
> Take a look at FTDI's FT800 chips and development packages - the FT800 > offloads the display control and graphics library to an external chip > (which is a bit different from using the NXP library but in some ways > more portable). They sell development boards with little displays which > might be good for small qunatity production but can be cloned for > volume.
I already know FT800 from FTDI, but it needs a RGB interface with the TFT display, but it's very difficult to find in small-sized display, such as 2.4". Indeed their basic modules starts from 3.5" models.
Il 18/03/2015 11:22, mmm ha scritto:
> pozz wrote: >> I'm going to develop a project where a small 2.4" TFT display module >> with resistive touch panel will be used. >> >> I'd like to use free emWin libraries distributed from NXP or ST for >> their Cortex-M3/M4 MCUs. > > are you aware of this ? > > http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF259090 > > not sure for touch panel, but I am confident
It's another demo board that uses a small 2.4" TFT module with RGB interface. The other one I know is MCB4350 from Keil (with NXP MCUs). I don't know why they (ST and Keil) produce demo boards with displays that are very difficult to find on the market. Many TFT manufacturers I contacted don't have such displays in normal production programs. Of course, many are available to make a custom product, but I prefer to avoid this way. The BOM list of that demo board reports a display from manufacturer "xinchuangtianyuan". I couldn't find it. The part number is SF-TC240T-9370-B-T and some google search says it is from Saef Technology Limited (www.saef.com.cn). On their website, the only 2.4" TFT module doesn't have RGB interface. Maybe they created a custom product for Discovery demo board for ST.
> The BOM list of that demo board reports a display from manufacturer "xinchuangtianyuan". I couldn't find it. The part number is SF-TC240T-9370-B-T and some google search says it is from Saef Technology Limited (www.saef.com.cn). On their website, the only 2.4" TFT module doesn't have RGB interface. Maybe they created a custom product for Discovery demo board for ST.
That's typical, even for standard interfaces. If ST paid for toolings for such product and they sell them to you without tooling costs. Would ST go back to them next time, other than with their lawyers?
On 3/18/2015 8:28 AM, pozz wrote:
> Il 18/03/2015 07:50, rickman ha scritto: >> I don't know of an eval board with "such kind of connection" if you mean >> an external bus. But your concerns about performance of GPIO all >> depends on what you plan to do with the display. > > It's a simple HMI: some graphic buttons, dynamic text, several screens, > and so on. It is simple, but I'd like to have good quality. > For example, I'd like to have text rendering with alpha channel and to > have fluent transitions between two screens. I don't want to have a > slow screen drawing, where I can see the painting from top to bottom.
I'm not asking how you feel. I'm asking you to define "slow". If you can't quantify your requirements you can't design to them. If you are talking about a simple menu like user interface where pressing a button brings up some type of options on a screen for the user to press more buttons, I can't see that needing a lot of performance from nearly any graphics device.
>> Perhaps you should think about a more integrated system rather than a >> separate CPU and display? I believe the BeagleBone has a display port >> that you can use to drive an LCD which is already configured to work >> with it. Or the Raspberry Pi can do that I think. > > No, I have to design my own board and keep the total cost as low as > possible.
As to cost, you will be hard pressed to build a CPU as cheaply as the rPi unless you are building millions. Even if you are rolling your own PCB, there is nothing to say you can prototype with an existing board and use that design in your product. Both the Beaglebone and the rPi are open in that regard. In fact, you asked about eval boards... so they are eval boards. -- Rick
> >> The BOM list of that demo board reports a display from manufacturer
"xinc=
>huangtianyuan". I couldn't find it. The part number is
SF-TC240T-9370-B-T=
> and some google search says it is from Saef Technology Limited
(www.saef.c=
>om.cn). On their website, the only 2.4" TFT module doesn't have RGB
interf=
>ace. Maybe they created a custom product for Discovery demo board for ST. > >That's typical, even for standard interfaces. If ST paid for toolings for
=
>such product and they sell them to you without tooling costs. Would ST go
=
>back to them next time, other than with their lawyers? > >
The emWin libraries released by NXP are compatible with the parallel interface. You need to modify the provided LCD driver example. GPIO mode is just fine if you do not have an external memory interface. In terms of bandwidth, you should be fine unless you need to run a VNC server. In this case, your system needs enough RAM (internal or external) for the screen buffer to have reasonable refresh rates on the VNC client. Here is a good schematic example for a ILI9431 using 8 bit parallel interface (see page 20 and 21): http://embdev.ca/uploads/3/3/7/3/3373266/ut2.8cpi_usermanual-rev02.pdf --------------------------------------- Posted through http://www.EmbeddedRelated.com

Memfault Beyond the Launch