Author Topic: Driving TFT displays  (Read 13219 times)

0 Members and 1 Guest are viewing this topic.

Offline VEGETATopic starter

  • Super Contributor
  • ***
  • Posts: 1954
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Driving TFT displays
« on: June 12, 2015, 09:51:18 am »
Hi all,

I am planning to do a future project with Renesas microcontrollers (or any 32-bit ARM-based ones) that controls a TFT display. the project is a car dashboard screen (or a car control system), it requires a good TFT screen with powerful RTOS controller MCU.

Do you have any suggestions? I've seen this solution:  http://www.futureelectronics.com/en/technologies/development-tools/development-tool-hardware/Pages/2003542-YLCDRSKRX62NS.aspx

but it is 770$ which is just crazy! this solution implements the Direct drive LCD feature... now, I don't insist on it... I am fine with anyway that drives a TFT like using a driver or something. One note is that the TFT will not be small.

Also, I would like to know if it is complicated or not.. as I haven't used an ARM MCU before and I am willing to learn it, then do such project. What about software to be used?

looking forward to your reply.

thanks!

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 797
  • Country: lt
Re: Driving TFT displays
« Reply #1 on: June 12, 2015, 12:50:27 pm »
It depends on your app.
We use FPGAs for high frame rate video. Low frame rate video for surround view systems have DSP. For basic video path you can use Intersil (former Techwell) products like TW8836 or something. The most recent family is Spansion Traveo. It has 2D/2.5D or 3D engines, embedded video RAM and Cortex-R5.

Is it your own project? I might help you further if you'd like to expand your team :)
 

Offline VEGETATopic starter

  • Super Contributor
  • ***
  • Posts: 1954
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Re: Driving TFT displays
« Reply #2 on: June 12, 2015, 09:11:54 pm »
It depends on your app.
We use FPGAs for high frame rate video. Low frame rate video for surround view systems have DSP. For basic video path you can use Intersil (former Techwell) products like TW8836 or something. The most recent family is Spansion Traveo. It has 2D/2.5D or 3D engines, embedded video RAM and Cortex-R5.

Is it your own project? I might help you further if you'd like to expand your team :)

Hi friend, thanks for your reply.

My application is not like what you wrote, I actually don't know what it will be exactly. I basically want to make a car dashboard display that shows gauges and other parameter usually displayed in the car, but it is digital now and more customizable.

Also, the project might expand to be like a car control and monitor system, hence, the user can press the screen to control or adjust something. I think I should learn CAN  bus protocol if this is going to be useful.

However, I want to actually begin with this in about a year or so as a part of my research in another country, which is before master degree (or alongside it).

I still haven't learned ARM based MCUs yet! I plan on learning them as soon as my journey begins (it is a part of my research proposal) so I will break my way from basics of ARM MCUs to learning the use of RTOS... then GUI and HMI stuff like TFT. So this project is just a proof-of-concept to show previous skills. << this is my plan.

As I don't know anything about CAN protocol nor I have sufficient knowledge in automobiles... I will use this dashboard display system on a car robot, which only has few parameters like speed and battery life. So there will be no video or something... all will be menus and some graphics that I must create myself.

I am interested in learning Renesas MCUs (the ARM based MCUs in the research proposal), so I can get the 99$ board for a cheaper price (used)... I wonder if i can use it in such project, especially that I will use a big screen like 7" or something.


thanks

Offline VEGETATopic starter

  • Super Contributor
  • ***
  • Posts: 1954
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Re: Driving TFT displays
« Reply #3 on: June 18, 2015, 08:46:50 pm »
any new ideas? replies?

Do you know where can I get the embedded GUI solution kit from Renesas for a low price (used one)? it is 200$ but it is pricey for me right now.

BTW, it comes with a 4.3' display... can it drive a 7' or more?

Offline Tantalum

  • Regular Contributor
  • *
  • Posts: 79
  • Country: 00
Re: Driving TFT displays
« Reply #4 on: June 18, 2015, 09:24:12 pm »
Hi

Well for the screens interface it's simple.
You have screens with very low resolution around max 480p that work with a simple SPI bus.
Until 720p or even 1024p you have screens using a 24bit parallel bus (some also with SPI but only at low frame rate).
For 720p, HD and more you have a Mipi/DSI interface (used on phones and tablets screens)

So.
Now about the MCU, well I like the STM32 family, but honestly I don't know the products from NXP/ Freescale or more powerful SoCs.
You have the STM32F429/439 (Cortex M4) and the new STM32F7 (Cortex M7) which have a tft 24bit // interface, (and also ram, nand controller, SDIO, important when you need to works with graphical stuff)
Or even better, the new STM32F469 which has also a 2 link DSI bus. (Is still not available yet)
http://www.st.com/web/en/catalog/mmc/SC1169/SS1577

There are quite inexpensive demo boards from ST available ("Discovery", some with LCD)
http://www.mouser.com/ProductDetail/STMicroelectronics/STM32F429I-DISCO/?qs=%2fha2pyFaduhXhUhb2naka90IfK8nhfnO7vH9WcpCTLDGgTRk9AUhva4nkDIbAxoj



About the software, well you could use ChibiOS or FreeRTOS, in conjunction with uGFX (library for displays, but first check the compatibility with the screen controller ), or use the libs provided by ST.
ChibiOS supports natively all the ST Discovery and ST Nucleo boards, the community is quite reactive.


If you need something more powerful,, well than you could use the Raspberry PI hardware, there are already compatible plug & play LCD available.
« Last Edit: June 18, 2015, 10:58:08 pm by Tantalum »
 

Offline Yansi

  • Super Contributor
  • ***
  • Posts: 3893
  • Country: 00
  • STM32, STM8, AVR, 8051
Re: Driving TFT displays
« Reply #5 on: June 18, 2015, 09:35:50 pm »
24bit TFT interface is also on F429, to be exact.

And in your listing of interfaces, you forgot LVDS. Quite common interface for notebook displays. You can easily convert between paralel RGB data and LVDS-7 interface.
 

Offline VEGETATopic starter

  • Super Contributor
  • ***
  • Posts: 1954
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Re: Driving TFT displays
« Reply #6 on: June 18, 2015, 10:27:25 pm »
24bit TFT interface is also on F429, to be exact.

And in your listing of interfaces, you forgot LVDS. Quite common interface for notebook displays. You can easily convert between paralel RGB data and LVDS-7 interface.

So, you are telling me to use a dedicated controller chip rather than "Direct drive LCD" solution from say Renesas?

In this way, I think even 8-bit micros can drive the TFT, right? but some people say it will cause slowness that won't allow you to control say a 7' display.
 
Is there any program example using a controller IC or an affordable kit?

What I liked in the direct drive LCD option of Renesas is that it doesn't require anything else... and it is compatible with professional tools like Altia designer and micrium. However, it is pricey with no tutorials.


Offline Yansi

  • Super Contributor
  • ***
  • Posts: 3893
  • Country: 00
  • STM32, STM8, AVR, 8051
Re: Driving TFT displays
« Reply #7 on: June 18, 2015, 10:46:45 pm »
No TFT panel is suitable for any 8bit micro. As I've written today elsewhere - if you need big screen, use adequate microcontroller to drive it.

For mostly static image (which car dashboard is), with STM32 you can get reasonable performance up to SVGA (800x600x16) by using an 32bit SDRAM. Sure it can also do XGA (1024x768x16), but it starts to be troublesome quite easily. If you need only 8-bit color palette, then both the SVGA and the XGA resolution is quite doable. But I'd not recommend using more that VGA or WVGA. (800x480).

There are also dedicated controller chips for driving TFT panels. I'd rather suggest you to use those. Toying with 32bit SDRAMs and with highspeed data isn't recommended for beginners.

Just go on youtube and look for some TFT driver demos. Just use "tft driver" keyword. There many choices to go. These dedicated driverchips are mostly easy to use. They have onchip videoRAM and sometimes even HW graphics accelerators for shape drawings. (Shame that they haven't implemented such things in STM32.. and also shame that the FMC runs the SDRAM only at half the HCLK speed)
« Last Edit: June 18, 2015, 10:51:04 pm by Yansi »
 

Offline VEGETATopic starter

  • Super Contributor
  • ***
  • Posts: 1954
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Re: Driving TFT displays
« Reply #8 on: June 19, 2015, 07:48:37 pm »
Thank you Yansi for your reply...

I forgot to mention that I've seen this kit: http://am.renesas.com/products/tools/introductory_evaluation_tools/renesas_demo_kits/ylcdrx63n/index.jsp

This was recommended to me by them as it contains an RX63N which got DMA and Direct drive LCD option, the board itself has SRAM and stuff needed for TFT displays. I have 2 issues with this, they are:

1- It is a bit pricey for me now (200$). I wonder why, another RX63N board worth 100$ new.

2- It has a small display, while I prefer to have a bigger one.

As I mentioned before, I constructed a research plan that goes briefly like this:

1- learn basics of 32-bit ARM-based MCUs... that is why I want the 100$ Renesas board, it has 2 great books to support it.

2- learn the implementation of a RTOS. this is totally new to me, I have never done it.

3- learn designing and implementing a good GUI using these tools.

 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: Driving TFT displays
« Reply #9 on: June 19, 2015, 08:22:22 pm »
Do you really want an uphill battle? just buy RPee and hdmi touch screen, should be $80 with free shipping for complete solution, $10-20 for canbus shield/cape/usb/bluetooth dongle and you are done with hardware without even lifting a soldering iron. Rest is simply writing application in whatever language you like.
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline Yansi

  • Super Contributor
  • ***
  • Posts: 3893
  • Country: 00
  • STM32, STM8, AVR, 8051
Re: Driving TFT displays
« Reply #10 on: June 19, 2015, 08:41:15 pm »
...and complete idiotic setup will arise. Just slap there a-duino, b-duino, c-duino, x-shield, y-shield and z-shield. Puke there some crap lib code and... Mum, it is a hack!  ;D

There are actually peaople, who want to learn the real stuff. And I hope/guess that he (or she) might after a few or more years of practice be capable of designing such thing as the raspi, bud on his custom board for his custom application. No hack slaps or craps, pure engineering. And I'd like to support anyone who can live without the blue silly board.  :-+


Vegeta: I have no experience with renesas (I hate this company for almost no reason), so I'm not the right one to talk about their stuff. But I can suggest you to buy STM32F429I-DISCOVERY. Recommended price is about $20 and its a perfect toy to learn some adult COrtex M4F microcontroller. With that 20 dollars or so you get the processor, SDRAM, TFT display and mainly a free programmer/debugger which is not locked to the kit or any specific MCU. You can use it with whatever MCU from ST you like without limitations. That's imho quite friendly, unlike other vendors.  You will have a lot of fun with that kit.

You can possibly test your bigger screens with it, if I publish the resources for a board/adaptor for connecting LVDS interfaced panels. (The board also contains an 8bit NAND FLASH and SDIO card slot. And a 12 to 3.3V switchmode PSU,  because that one on the kit is quite weak for that much stuff). But I haven't had time to test the board thoroughly, not ready yet to be published. I plan also similar board with a DVI transmitter and some other cool stuff.

 

Offline VEGETATopic starter

  • Super Contributor
  • ***
  • Posts: 1954
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Re: Driving TFT displays
« Reply #11 on: June 19, 2015, 09:32:16 pm »
...and complete idiotic setup will arise. Just slap there a-duino, b-duino, c-duino, x-shield, y-shield and z-shield. Puke there some crap lib code and... Mum, it is a hack!  ;D

There are actually peaople, who want to learn the real stuff. And I hope/guess that he (or she) might after a few or more years of practice be capable of designing such thing as the raspi, bud on his custom board for his custom application. No hack slaps or craps, pure engineering. And I'd like to support anyone who can live without the blue silly board.  :-+


( I am the prince of all Sayians! so I am a "HE" xD)
you are right there (although you shed more generosity on my potential xD, I hope I meet your expectations), I don't want to use an Arduino or anything like it (RasperryPI too). I am doing this as a part of my planned research of a certain scholarship (I hope I succeed and get it first xD). In the long run, I am planning to work in companies that could benefit of such skills. So, I MUST know how stuff work not just run a ready demo.

I designed the plan to be in steps as the following (I rearranged them for the topic's sake):

1- fundamental building blocks: just what it says, basics of all electronics. make stuff and test them, design a switch-mode power supply... etc. basically a revision of gained skills in electronics.

2- ARM-based 32-bit Microcontrollers: because I want to work as an embedded system design engineer, I must learn the best MCUs in the market today, right? not just PIC.

3- Using RTOS: I've seen that most good designs use RTOS. one like micrium and freeRTOS. I saw that it can be used with other stacks like GUI and USB which helps the product reach market faster.

4- Professional design for manufacturing: basically, designing PCBs using CM or CS. do it in a professional way just like dave once explained... you know this.

5- HMI design: this is what this topics is about. I've seen many solutions (Renesas and others)... I've seen the eMIRAI car which is just great and innovative. many solutions can go in this field and I liked it. that is why I put it in my research plan.

I've searched and found impressive solutions such as using Renesas Rx (or Rz) MCUs with Altia designer (3rd party), or other partners of Renesas. However, ALL of these requires a lot of money and experience. Someone like me can never afford right now. I will surely be more capable when the time comes for this phase, and at that time I will do more research and probably open a new thread like this one xD. *troll dance*

fewwww... I tired you with my plan hhhh... just hope I do well in the interview and exams to earn the damn scholarship.


Quote
Vegeta: I have no experience with renesas (I hate this company for almost no reason), so I'm not the right one to talk about their stuff.

well, i love it for almost no reason! but I hate their pricing! and their "made for elitists elite" kits and ecosystem. But they offer very powerful and professional MCUs and tools that I'd like to learn someday.

Quote
Recommended price is about $20 and its a perfect toy to learn some adult COrtex M4F microcontroller. With that 20 dollars or so you get the processor, SDRAM, TFT display and mainly a free programmer/debugger which is not locked to the kit or any specific MCU. You can use it with whatever MCU from ST you like without limitations. That's imho quite friendly, unlike other vendors.  You will have a lot of fun with that kit.

VERY cheap price for the features! does this kit drive the TFT directly (using the MCU itself interfaced with SRAM...) or does it use a drive chip? I will definitely get this board! the renesas one is great and has 2 great books to support it, but it is 99$. does this kit or mcu family has any book to learn from? As I wrote before, I must learn ARM based MCUs first. 

Quote
You can possibly test your bigger screens with it, if I publish the resources for a board/adaptor for connecting LVDS interfaced panels. (The board also contains an 8bit NAND FLASH and SDIO card slot. And a 12 to 3.3V switchmode PSU,  because that one on the kit is quite weak for that much stuff). But I haven't had time to test the board thoroughly, not ready yet to be published. I plan also similar board with a DVI transmitter and some other cool stuff.

looking forward to that project of yours one day, hopefully after I get the scholarship xD.

The bad thing with ARM MCUs is the setup and IDEs! unlike microchip with its MPLAB X and PICKIT3... these give headache for just preparing the tools needed. examples and tutorials are significantly less than PIC or Arduino.
 

Offline Yansi

  • Super Contributor
  • ***
  • Posts: 3893
  • Country: 00
  • STM32, STM8, AVR, 8051
Re: Driving TFT displays
« Reply #12 on: June 19, 2015, 09:43:08 pm »
Use proffesional tools for ARM like Keil, IAR. No problems whatsoever.  Just a few clicks, if you learn where  :D

Yes, STM32F429 can drive the TFT directly. The videobuffer is usually stored in an SDRAM.  The hardware can also do two layer alphablending, transcoding using an 8-bit color pallete. Supports storing bitmaps in many pixelformats. And there's also a special DMA controller called DMA2D to help with bitmap images.

Depending on application and performance needed, you can use the TFTdrive peripheral (LTDC) from as smal as QVGA or less up to XGA (1024x768) resolution.

If you look into how TFTs are driven, there's not much complex about it. There was also some application note how to "bend" the STM32F1 series chips to direct drive a QVGA TFT using only simple DMA peripheral and FSMC ("external bus from the MCU"). But not recommended to do so :-)
 

Offline Christe4nM

  • Supporter
  • ****
  • Posts: 252
  • Country: nl
Re: Driving TFT displays
« Reply #13 on: June 19, 2015, 10:24:07 pm »
What I'm wondering about is why you mention Renesas so much? I mean, you clearly stated that you are starting with 32b ARM. In that case please choose something with a LOT of examples, support, community etc.

In addition I strongly advice you to break your learning process into smaller steps. ARM controllers can become overwhelming quite quickly. (Been there)

So your first goal is to get familiar with ARM Cortex-M. I'd say pick a $10-$20 devkit of ST, Freescale or NXP (or others) and get familiar with a small controller first. Not anthing fancy,  yet.

Once you are comfortable, step up and look into the solutions for hooking up a TFT. Think of the pros and cons of each solution and choose one to go with. Incidentally such a comparison could be used in your research report.

So: 1 start with a controller with a lot of support . And 2 start small, build from there.
 

Offline VEGETATopic starter

  • Super Contributor
  • ***
  • Posts: 1954
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Re: Driving TFT displays
« Reply #14 on: May 12, 2016, 11:15:12 am »
I've reconsidered my research proposal (not finished yet), and I still need a Touchscreen! My system is mainly like this:

1- FreeRTOS controlled (this is a must!).
2- 7" touch tft.
3- ability to view camera's video feedback when choosing so.
4- connect to remote units and control their behavior (rover robots with cameras...).
5- connect to a remote pc for storage purposes.


the system so far is about multi-robot control which the robots build 3d map around them and cooperate to reach the goal... honestly, I am still not very sure about it, maybe it will change, but the main idea about control + freertos won't.

There is some time left until scholarship entry application starts, and it all depend on if i get it or not.

I need to make sure I can do everything, and it is a good unique idea. Because I must write the damn literature review which is annoying!!

Offline sjd.aliyan

  • Contributor
  • Posts: 20
  • Country: ir
Re: Driving TFT displays
« Reply #15 on: May 12, 2016, 12:36:26 pm »
I've reconsidered my research proposal (not finished yet), and I still need a Touchscreen! My system is mainly like this:

1- FreeRTOS controlled (this is a must!).
2- 7" touch tft.
3- ability to view camera's video feedback when choosing so.
4- connect to remote units and control their behavior (rover robots with cameras...).
5- connect to a remote pc for storage purposes.


the system so far is about multi-robot control which the robots build 3d map around them and cooperate to reach the goal... honestly, I am still not very sure about it, maybe it will change, but the main idea about control + freertos won't.

There is some time left until scholarship entry application starts, and it all depend on if i get it or not.

I need to make sure I can do everything, and it is a good unique idea. Because I must write the damn literature review which is annoying!!

Every option that you want is a different story
you need high frame rate then forget the cortex-M
You need too much processing power.
With all you wrote i suggest to you go for Cortex-A
You can connect MIPI-CSI compatible camera to a cortex-a
best option for you is Raspberry-Pi or chinese Raspberry clones for rapid Prototyping your project.
 
The following users thanked this post: VEGETA

Offline VEGETATopic starter

  • Super Contributor
  • ***
  • Posts: 1954
  • Country: jo
  • I am the cult of personality
    • Thundertronics
Re: Driving TFT displays
« Reply #16 on: May 12, 2016, 04:28:58 pm »

Every option that you want is a different story
you need high frame rate then forget the cortex-M
You need too much processing power.
With all you wrote i suggest to you go for Cortex-A
You can connect MIPI-CSI compatible camera to a cortex-a
best option for you is Raspberry-Pi or chinese Raspberry clones for rapid Prototyping your project.


Ok, I understand you.

Actually, I considered Raspberry Pi 3 but in this case I will find it very troublesome to deploy FreeRTOS to it (remember, it is essential). So after reading your words, I came up with this solution, tell me what you think:

- Use Raspberry Pi 3 for camera video feedback and possibly the whole GUI with its control.
- Deploy FreeRTOS on an ARM-based MCU (STM32) to be the main controller which does all things, especially those which control the remote robots.
- Use the Pi 3 for connection to the remote PC/server, which also can be a Pi itself. Internet connection that is.
 
do you think it will work? the only downside is that the Pi will be the sole responsible controller for the GUI while I wanted everything to be controlled by one MCU that has FreeRTOS with it. Because this is going to be a good opportunity to learn designing embedded GUIs.

The problem is because I want to see the video feedback AND other options at the same time with the ability to hide or show them all. And I think I can not make 2 separate controllers (Pi and STM32) control one TFT chip right?


The second option is, inspired by your post, is using a more powerful MCU. I wanted to use STM32 because they support FreeRTOS and has tons of tutorials and very cheap hardware. They are quite the easiest to use for ARM beginners like myself. I like Renesas products and wish I can use them fluently, especially RX and RZ series... but as we say in our Arab Islamic culture: "the eye sight is long, but the hand is short" xD.

Do you know a good powerful platform to use?

and most importantly, the software to design the damn gui! all solutions are pricey as hell! and the free ones don't seem very convincing. And 3rd party tools like Qt seem to have hard learning curve and bad licensing so...

thanks!

Offline Kilrah

  • Supporter
  • ****
  • Posts: 1852
  • Country: ch
Re: Driving TFT displays
« Reply #17 on: May 12, 2016, 08:02:59 pm »
An STM32F439 has a layered LCD controller, a camera interface and a (basic) graphics accelerator (A memory-to-memory DMA with some pixel/color conversion capability). On a board with some external RAM if you can work within the parameters of each you should be able to display live video and overlay an UI on top of it.
 

Offline casinada

  • Frequent Contributor
  • **
  • Posts: 599
  • Country: us
Re: Driving TFT displays
« Reply #18 on: May 12, 2016, 08:58:02 pm »
http://www.banggood.com/Raspberry-Pi-7-inch-HDMI-HD-1024-600-Touch-Screen-Module-Kit-With-Housing-Bracket-p-1029923.html

Add Raspberry Pi and your software :) at least for Quick proof of concept for little money.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf