Dolence Posted January 19, 2018 Report Posted January 19, 2018 Hi! I'm basically an AVR 8-bit withou much experience with real time OSes. Recently I've been learning ChibiOS and STM32 microcontrollers. Using uGFX I was able to properly drive an small and very slow 2.2" ILI9341 SPI display. I want to buy a bigger and faster display for use in a future project. I will probably pick an FSMC capable STM32, unless someone say LTDC would be a better option. Actually I have considered these options: 9 in 1) 9 inch LCD Module TFT Display w/OPTL Touch Panel,I2C+Serial SPI 2) 9"TFT LCD Module Touch Display w/SSD1963 Controller Board for Arduino 10.1 in 3) Serial SPI I2C 10.1"TFT LCD Module Dislay w/RA8876,OPTL Touch Panel Between 1 and 2 (RA8875 and SSD1963) which one would be faster and better supported by uGFX considering they would be wired to 16-bit FSMC interface? By the controllers datasheet RA8875 apparently have more hardware acceleration options. Option 3 seens to be slightly different from RA8875. How difficult would be to get it working with uGFX and what are the benefits (beside increased screen size and resolution)? If you have any other suggestion, I would be glad to hear it! Thanks in advance!
cpu20 Posted January 21, 2018 Report Posted January 21, 2018 On 19/01/2018 at 15:27, Dolence said: How difficult would be to get it working with uGFX and what are the benefits (beside increased screen size and resolution)? On embedded systems the increased resolution isn't always a benefit as it will increase your required RAM-size significantly and also the data throughput to your display. Be sure to consider those drawbacks also especially when dealing with animations. On 19/01/2018 at 15:27, Dolence said: Between 1 and 2 (RA8875 and SSD1963) which one would be faster and better supported by uGFX considering they would be wired to 16-bit FSMC interface? As the drivers for both displays are already included in µGFX they are both fully supported. As for the speed, my guess would be that the MCU will be the deciding factor. On 19/01/2018 at 15:27, Dolence said: I want to buy a bigger and faster display for use in a future project. If you are just starting to experiment which these things and want to experiment more I would recommend the STM32F746G-Discovery board. This board is fully supported by µGFX, is very popular and already has alot of peripherals on board. Also the display is already reasonably large.
Dolence Posted January 21, 2018 Author Report Posted January 21, 2018 (edited) Hi cpu20! Thanks for your reply. I've been doing my homework in the past few days. With my current setup I can't even display gifs and pngs. Looking into the drivers, SSD ones appears to already have hardware acceleration implemented. RA8875 have more hardware acceleration options but almost none of them are present on driver. I don't know how easy would be to a newbie guy like me implement those functions. I will take a look on how it was done on another driver. The MCU I was planning to use was an STM32F4 with192 kB ram and 1 MB flash. For image storage, is possible to hook another device to fsmc bus? Thank you. Edited January 21, 2018 by Dolence
inmarket Posted January 22, 2018 Report Posted January 22, 2018 Adding more acceleration functions will typically not help you much - or at all. uGFX is very good at drawing efficiently with only the simplest acceleration and the ra8875 driver already has those functions implemented. Implementing others is a waste of time except in the most unusual circumstances and even then it needs to be weighed against the increased code complexity. Also, in many cases the display acceleration function is actually slower than the CPU doing the work.
steved Posted January 22, 2018 Report Posted January 22, 2018 14 hours ago, Dolence said: I've been doing my homework in the past few days. With my current setup I can't even display gifs and pngs. The nature of the png data format means that it's quite RAM-hungry (32K minimum, IIRC) and slow - something like a third or a quarter of the speed of decoding a gif. (And RLL-encoded BMP is the fastest I've found). You can add a memory on the FSMC bus; however it could potentially slow things up a bit during display updates. If Flash is OK to store your images, consider the 32F7 series - they can run about 30% faster than the F4, and have a QUAD-spi interface which speeds up access of flash memory. (And they have newer peripherals than the F4 - the I2C, for example, is the Mk 2 which is a lot better)
Joel Bodenmann Posted January 22, 2018 Report Posted January 22, 2018 2 hours ago, steved said: The nature of the png data format means that it's quite RAM-hungry (32K minimum, IIRC) Yep... https://wiki.ugfx.io/index.php/Images#RAM_usage_2
Dolence Posted January 23, 2018 Author Report Posted January 23, 2018 Guys, thanks for all clarifications. I will take all the information in account, probably going with an F7 and RA8875.
Joel Bodenmann Posted January 23, 2018 Report Posted January 23, 2018 The main idea behind the recommendation of using an F7 is that you don't need an external display controller. The F7 has an internal display controller to which you can hook up the bare panel. I'd recommend you to have a look at @cpu20's recommendation. The STM32F746G-Discovery board doesn't cost much but gets you a decent size&quality screen and tons of memory. For evaluation and playing around that's certainly a nice solution.
inmarket Posted January 23, 2018 Report Posted January 23, 2018 For prototyping the stm32f746g-discovery board is fantastic. If you want a larger and higher resolution display for your end product then using a controller like the ra8875 is a good idea. The reason is that for high resolutions bandwidth to the ram over the ltdc interface can become an issue. A seperate controller with its own framebuffer ram obviously takes care of that for you resulting in a significantly reduced load on the CPU busses. This comes however with a slight decrease in the speed of drawing, or a large decrease if the controller is not interfaced properly to the CPU. All in all starting on a stm33f746g-discovery is the simplest solution. An external display using a ra8875 can even be attached later.
Joel Bodenmann Posted January 24, 2018 Report Posted January 24, 2018 Yeah. STM32F7 or F4 with an RA8875 connected over 16-Bit parallel bus is definitely going to give some amazing performance
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now