2022-03-11 09:10 AM
Starting a new project using the STM32F767ZI (144 pin) chip. Project will have ethernet, can w/bootloader over can, and lcd/touchgfx.
Looking at the demo kits all of them have SRAM and a large amount of non-volatile memory that is assigned to different memory regions for extra storage of images/etc.
My question is are both memory types necessary for building a successful touchgfx application? We need non-volatile memory for data storage anyway, but as I'm putting together the first prototype schematics I'm trying to decide how much SRAM and external FLASH memory is needed.
We will be driving a 7inch 800x480 display in RGB565 mode. There will be a few image assets, but none will consume a full 800x480 resolution. Not seeing any guides out there for figuring this out.
Solved! Go to Solution.
2022-03-11 09:25 AM
Hello,
It depends on the amount of data to be stored either in RAM or Flash.
TouchGFX needs Flash to store your assets (images etc ..), generally an external Flash (OCTO/QUAD-SPI or parallel interfaces) is used. It's recommended to use QuadSPI for PCB size optimization as well as the reduced pin number usage. RAM to store frame buffer (generally using SDRAM).
I think the application note AN4861 "LCD-TFT display controller (LTDC) on STM32 MCUs" can help you on this.
2022-03-11 09:25 AM
Hello,
It depends on the amount of data to be stored either in RAM or Flash.
TouchGFX needs Flash to store your assets (images etc ..), generally an external Flash (OCTO/QUAD-SPI or parallel interfaces) is used. It's recommended to use QuadSPI for PCB size optimization as well as the reduced pin number usage. RAM to store frame buffer (generally using SDRAM).
I think the application note AN4861 "LCD-TFT display controller (LTDC) on STM32 MCUs" can help you on this.
2022-03-14 08:20 AM
I'm not sure how I didn't find that AN4861 prior to asking on here, but that is the exact document I was looking for!
Looks like I'm going to need at least 2MB of SRAM to handle double buffer 800x480@16BPP. Definitely going to need some external flash memory as well for storing assets, not sure how much just yet.
Thank you so much for the quick response and excellent information. This is our first project with STM coming from Microchip controllers, and so far the experience is way better.
2022-03-14 08:58 AM
QuadSPI NOR Flash parts up to 256MB are supported, up to 16MB (128Mbit) is perhaps most common/compatible due to 24-bit (3-byte) addressing modes. If you need 2 or 4 MB those things exist too, though perhaps NRND or approaching EOL as technology advances.
If you use the SOIC16W (~300mil) foot-print, this is available across a vast selection of makes/models with a standard land pattern. If you get into the uDFN/uSON 8-pin packages the availability and standardization gets more complicated.
Consider dual-foot print, the 16 to 8 pining is typically a 90 degree rotation and smaller, giving you additional part purchase options in the market.
2022-03-14 09:00 AM
Typically SDRAM has lower costs and fewer pins, would need to check if the 144-pin maps enough pins. Watch memory bandwidth with larger displays.
2022-03-14 09:05 AM
I'm fairly certain I'm going to need both SRAM and external non-volatile flash (asset storage).
SRAM looks like I can get away with 2MB FMC SRAM which is enough for double buffer WVGA @ 16BPP.
The 32F769I-Disco uses a 512MB QuadSPI non-volatile flash and a 128MB SDRAM FMC. Both super overkill, but I'm definitely paying close attention to what my clock speed needs to be minimum. On a design we did a PIC32MX chip I used a 2MB SRAM chip, and I was going to use that same part but the access time is 55ns (roughly 30MHZ, way too slow I think).
I've found some 2MB SRAM that is closer to 100MHZ which matches up well with the AN4861 for LTDC/Chrom-Art @ WVGA/16BPP.
2022-03-14 09:12 AM
Right, but Winbond W25Q128 (16MB) are pretty popular amongst people building custom boards.
https://www.digikey.com/en/products/base-product/winbond-electronics/256/W25Q128/339728
You also want to have enough memory to stage firmware updates, or FOTA
2022-03-14 09:19 AM
Yes, the plan is to use some form of Winbond for the non-volatile memory. I'll just need to evaluate how many images we need to store for graphical assets. Looking at my other completed 800x480 project that uses image assets, I'm totaling less than 1MB of files in the directory I would need.
2022-03-14 10:17 AM
Thank you for your help, I really do appreciate it!
Found W25Q16JVSNIQ-ND as the memory I'm going to use as the external non-volatile.