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?
Some help on using a small 2.4" touch TFT display
Started by ●March 17, 2015
Reply by ●March 18, 20152015-03-18
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
Reply by ●March 18, 20152015-03-18
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 controllerthat> would drive "directly" the display through RGB interface (vsync,hsync,> dotclock, red, green, blue). The problem arrived when I startedfinding> 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 isgenerally> sufficient for most applications, where the graphics aren't toocomplex.> 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) compatiblewith> parallel interface? The original product (from Segger) is surely > compatible, but it's not clear to me if the compiled version releasedby> NXP (or ST) is compatible. I worry the compiler library could workonly> 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 ofTFT> to the external memory bus of the MCU. > In this case, I'm not sure how to make a good connection, how tomanage> all the signals (chip select, write enable, read enable, ...). Do you> know any demo board with such kind of connection with publiclyavailable> 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
Reply by ●March 18, 20152015-03-18
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>
Reply by ●March 18, 20152015-03-18
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.
Reply by ●March 18, 20152015-03-18
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.
Reply by ●March 18, 20152015-03-18
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 confidentIt'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.
Reply by ●March 18, 20152015-03-18
> 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?
Reply by ●March 18, 20152015-03-18
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
Reply by ●March 18, 20152015-03-18
> >> The BOM list of that demo board reports a display from manufacturer"xinc=>huangtianyuan". I couldn't find it. The part number isSF-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 RGBinterf=>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